-
Notifications
You must be signed in to change notification settings - Fork 47
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Martini3-IDP #647
base: master
Are you sure you want to change the base?
Martini3-IDP #647
Conversation
- enforce that the cgsecstruct is "C" to make sure we don't overapply a folded domain in the links later - adapt the secondary structure header to get the header from the cg not atomistic graph
- in FFs where we have -go but not -water-bias, cross disordered-folded go bonds won't be removed because this is buried in the water_bias processor. - so call it anyway with an empty list of water biases, which will remove them
- reverting dssp sequence_from_residues behaviour so doesn't default to something with cg - move the ss_cg conversion into martinize2 using a global variable
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some small questions. Note that I didn't look at the ff files
bin/martinize2
Outdated
ss_sequence = list( | ||
itertools.chain( | ||
*( | ||
SS_CG[i] | ||
for i in dssp.sequence_from_residues(molecule, "cgsecstruct") | ||
for molecule in system.molecules | ||
if selectors.is_protein(molecule) if i is not None | ||
) | ||
) | ||
) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This translation to CG is too simplistic, no?
ss_sequence = list( | |
itertools.chain( | |
*( | |
SS_CG[i] | |
for i in dssp.sequence_from_residues(molecule, "cgsecstruct") | |
for molecule in system.molecules | |
if selectors.is_protein(molecule) if i is not None | |
) | |
) | |
) | |
ss_sequence = list( | |
itertools.chain( | |
*( | |
dssp.convert_dssp_to_martini(dssp.sequence_from_residues(molecule, "cgsecstruct")) | |
for molecule in system.molecules | |
if selectors.is_protein(molecule) if i is not None | |
) | |
) | |
) |
Also, how does this interact with the "normal" dssp processing, and people providing a secondary structure on the cli?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This won't affect the "normal" processing, the annotation is done for both ways before martinize() is called. The dssp/ss flags are dealt with at that point, and this is only to make sure that the cg secondary structure is determined correctly. The ss_sequence needs to be moved here to align with the overwriting that happens in the idr annotation, otherwise the 'uncorrected' string is written out
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My concern with this is that it becomes ambiguous what's atomistic SS and whats CG SS. The idea of printing the found SS structure is so that users can pass it to the -ss
flag to reproduce the behaviour. However, if that only works if the SS flavour that's expected is the same as the one printed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Point taken. However, for the purposes of the current IDP models, ensuring the ss used when the links are applied doesn't intersect in a nasty way with the -idr flags is fairly important.
Perhaps the way around is if the string gets changed, print it in the itp twice? first what was found by dssp, second what was actually applied in the links?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That sounds reasonable
- need to modify create_sys_all_attrs so cgsecstruct not always written - remove duplicate annotation in annotate_idrs.py
- annotate_idrs.py now adds meta if annotation changes - move cg_ss dict to CG_SS in dssp.py - if meta is found in Martinize then write changed cg_ss into header of the ouput itp file
checking ff files, hold off on merging edit: files checked, generating itps as expected, all good to add new ff |
…se confusing message is written
This PR:
Note that the martini3-IDP/aminoacids.ff file is slightly different here to ensure that it works properly with martinize.
Will need to update citations.bib once the paper is accepted