-
Notifications
You must be signed in to change notification settings - Fork 158
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
InSty - changes in calcStatisticsInteractions #1948
Conversation
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.
just some minor things
I added a new function - checkNonstandardResidues(), which checks whether we have some non-standard names in PDB. Tomorrow, I will add checks with this function in different places. When we will have non-standard residues the user will be informed. It might be useful to detect multiple side chain conformation ALYS/BLYS in protein structure as well. Except that I modified get_energy() and included a dictionary with non-standard names typical for NAMD, AMBER and GROMACS. |
I don’t think the gromacs ones make sense and I left a comment about that |
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.
still a few suggestions but I think it looks good
I still think it would be better to have the nonstandard residue handling in a different file like prody/atomic/atomic.py where the is AAMAP and MODAAMAP or maybe somewhere in prody/utilities, but I guess it's ok for now
If that is all, James, can you approve the code so we can merge it? |
I believe so. I just want to check through it once more |
'HID': 'HIS', # AMBER name, protonated at ND1 | ||
'HIE': 'HIS', # AMBER name, protonated at NE2 | ||
'HIP': 'HIS', # AMBER name, doubly protonated | ||
'HISD': 'HIS', # GROMACS: protonated at ND1 |
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.
we can get these with long_resname=True:
In [6]: ag = parsePDB('nvt1_nojump_end.pdb', long_resname=True)
In [8]: np.unique(ag.getResnames())
Out[8]:
array(['ALA', 'ARG', 'ASN', 'ASP', 'CLA', 'CU2P', 'CYS', 'GLN', 'GLU',
'GLY', 'HISD', 'HISE', 'ILE', 'LEU', 'LYS', 'MET', 'PHE', 'PRO',
'SER', 'SOD', 'THR', 'TRP', 'TYR', 'VAL'], dtype='<U6')
'PTR': 'TYR', # Phosphorylated tyrosine (GROMACS/AMBER) | ||
|
||
# Non-standard names for aspartic and glutamic acids in low pH environments | ||
'ASH': 'ASP', # Protonated Asp |
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.
I also confirm that I've seen one of these recently too
ok, now I approve merging it |
oh, I actually broke something in the utilities |
actually never mind. I didn't include that in a commit anyway |
prody/proteins/interactions.py
Outdated
'GLUP': 'GLU', # Protonated Glu | ||
|
||
# Lysine (Lys) | ||
'LYN': 'LYS', # Deprotonated lysine (nautral) |
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.
actually here's another typo that I'll fix
I added try/except for the energy parameter because I had a problem analyzing a system with two chains and selecting interactions between them. I think it might be an empty list when there is no interaction at all, and that is the reason.
New changes: