Closed diegozea closed 9 years ago
All the interaction types are implemented now, except for water-mediated hydrogen bond and amino-aromatic hydrogen bond. Prediction of H bonds with the new method (following the rules in the Table 1 of PICCOLO's publication) gives 60 differences against the result of chimera's hbonds:
julia> 100 * ( 60/(60+37770) ) # chimera
0.1586042823156225
julia> 100 * ( 136/(136+37694) ) # stride
0.35950303991541105
H bonds can also be calculated from MIToS using chimera or stride, which can be more accurate.
Closing this issue for the moment.
Pairs of the 58(60) different from Chimera. This pair was predicted by MIToS but they wasn't found in chimera output (1SSX):
PDBAtom{Float64}(PDBResidueIdentifier("220","CYS","ATOM","1","A"),Coordinates{Float64}(17.341,40.892,5.585),"N","N",1.0,"6.13")
PDBAtom{Float64}(PDBResidueIdentifier("219","ASN","ATOM","1","A"),Coordinates{Float64}(15.001,39.552,4.687),"OD1","O",1.0,"7.62")
PDBAtom{Float64}(PDBResidueIdentifier("219","ASN","ATOM","1","A"),Coordinates{Float64}(11.384,40.389,4.375),"CG","C",1.0,"7.18")
PDBAtom{Float64}(PDBResidueIdentifier("220","CYS","ATOM","1","A"),Coordinates{Float64}(16.716,40.273,5.568),"H","H",1.0,"7.35")
136.04249828596525
139.996167338623
147.838373206223
2.058452574143988
2.8421125945324572
(PDBResidueIdentifier("219","ASN","ATOM","1","A"),PDBResidueIdentifier("220","CYS","ATOM","1","A")) true false
I need to test it using HBPLUS.
The pair between CYS 220 and ASN 219 is in the result of HBPLUS:
1SSX <- Brookhaven Code "1SSX.pdb" <- PDB file
<---DONOR---> <-ACCEPTOR--> atom ^
c i cat <-CA-CA-> ^ H-A-AA ^ H-
h n atom resd res DA || num DHA H-A angle D-A-AA Bond
n s type num typ dist DA aas dist angle dist angle num
A0220ACYS N A0219DASN OD1 2.84 MS 2 5.48 147.8 2.06 122.0 130.9 601
There was a problem with the number of the residues in getpdbatoms
. Now the function was modificated and the numbers are correct now ;)
julia> (PDBResidueIdentifier("219D","ASN","ATOM","1","A"), PDBResidueIdentifier("220A","CYS","ATOM","1","A"))
(PDBResidueIdentifier("219D","ASN","ATOM","1","A"),PDBResidueIdentifier("220A","CYS","ATOM","1","A"))
julia> N = Coordinates{Float64}(17.341,40.892,5.585)
Coordinates{Float64}(17.341,40.892,5.585)
julia> H = Coordinates{Float64}(16.716,40.273,5.568)
Coordinates{Float64}(16.716,40.273,5.568)
julia> OD1 = Coordinates{Float64}(15.001,39.552,4.687)
Coordinates{Float64}(15.001,39.552,4.687)
julia> CG = Coordinates{Float64}(14.624,38.376,4.844)
Coordinates{Float64}(14.624,38.376,4.844)
julia> angle(N,H,OD1)
147.838373206223
julia> angle(H,OD1,CG)
121.95228363560967
julia> angle(N,OD1,CG)
130.91032486899792
Pairs in HBPLUS output but not in hydrogenbond
output:
(PDBResidueIdentifier("15A","ALA","ATOM","1","A"),PDBResidueIdentifier("112","GLN","ATOM","1","A"))
(PDBResidueIdentifier("141","ARG","ATOM","1","A"),PDBResidueIdentifier("193","GLY","ATOM","1","A"))
(PDBResidueIdentifier("57","HIS","ATOM","1","A"),PDBResidueIdentifier("195","SER","ATOM","1","A"))
ARG 141
and SER 195
have atoms (hydrogens) with occupancy != 1
ALA 15A
and GLN 112
is for HBPLUS:
A0015AALA N A0112-GLN OE1 2.75 MS 72 5.29 163.6 1.86 134.1 135.4 1
hydrogenbond
doesn't find the H of the N of ALA 15A
. PDB 1SSX has H1, H2, H3, HA, HB1, HB2 and HB3 but not H or HN: 15A is the N-terminus!
Pairs in hydrogenbond
output but not in HBPLUS output:
(PDBResidueIdentifier("182","GLN","ATOM","1","A"),PDBResidueIdentifier("225","SER","ATOM","1","A"))
(PDBResidueIdentifier("142","THR","ATOM","1","A"),PDBResidueIdentifier("141","ARG","ATOM","1","A"))
ARG 141
and GLN 182
have atoms (hydrogens) with occupancy != 1
There is a problem in HBPLUS (distances -1
):
HBPLUS Hydrogen Bond Calculator v 3.2 Jul 13 18:29:23 ART 2015
(c) I McDonald, D Naylor, D Jones and J Thornton 1993 All Rights Reserved.
Citing HBPLUS in publications that use these results is condition of use.
1SSX <- Brookhaven Code "1SSX.pdb" <- PDB file
<---DONOR---> <-ACCEPTOR--> atom ^
c i cat <-CA-CA-> ^ H-A-AA ^ H-
h n atom resd res DA || num DHA H-A angle D-A-AA Bond
n s type num typ dist DA aas dist angle dist angle num
A0141-ARG NE A0193-GLY O 3.25 SM 36 6.24 -1.0 -1.00 -1.0 98.8 353
And the NE2
of HIS 57
doesn't have an hydrogen HE2
in the PDB:
A0057-HIS NE2 A0195-SER OG 2.96 SS 107 8.25 117.5 2.36 91.8 90.4 107
A0057-HIS NE2 A0195-SER OG 2.83 SS 107 8.25 136.9 2.01 -1.0 -1.0 108
From PICCOLO's publication:
Each of the 20 canonical residue types also has an extra negatively ionizable OXT atom defined, to include the acidic carboxyl group when the residue is chain terminating.
Aromatic interactions are defined when two criteria are met. When a pair of aromatic atoms is within the appropriate distance threshold then the centroids of the two parent planar ring systems are calculated. If the centroids are also within the distance threshold, then the contact is considered aromatic. In generating PICCOLO's sister database, CREDO [43], a procedure was devised to sub-classify aromatic contacts as being "face-to-face", "edge-to-face" or "displaced edge to face" and the same procedure was used in this work. To achieve this, for each pair of atoms involved in an aromatic contact, the normals of the two parent planar ring systems are calculated using Newell's method [44]. The dihedral angle between the two planes is defined as the angle between the normals. The displacement angle is defined as the angle between the normal of the first ring and the vector between the two ring centroids. The aromatic interaction is classified as "edge to face" where the dihedral angle is greater than 30°. Dihedral angles less than or equal to 30° are classified as "face to face" where the displacement angle is less than or equal to 20° and "displaced face to face" otherwise.
The aromatic interaction was solved in https://github.com/diegozea/MIToS.jl/commit/3a55ccd08dd64fa6972872ad7e95edf35d20671c
Solved by the last commits ;)
Instead of using a single distance cutoff for measuring contacts, It would be useful to determine the 12 iteration types of PICCOLO database. Everything was described in the PICCOLO's paper and its supporting information.
HBonanza publication has a good description for H-bond calculation.