Previous Query
Next Query
Heavy atom contact count
WITHSet TheTimes as' {Time]1]:Time]5]}'Member measuresAtomName as' ID]Hierarchy]CurrentMemberProperties("Atom Name")'Member measuresSekret_AtomName as' Sekret_ID]Hierarchy]CurrentMemberProperties("Atom Name")'Member measuresResnum as' ID]Hierarchy]CurrentMemberProperties("Residue Number")'Member measuresSekret_Resnum as' Sekret_ID]Hierarchy]CurrentMemberProperties("Residue Number")'SET res1 as' Descendants(ID]Hierarchy]Structure]1a2pA0], ID]Hierarchy]Atom Number])'SET res2 as' Descendants(Sekret_ID]Hierarchy]Structure]1a2pA0], Sekret_ID]Hierarchy]Atom Number])'MEMBER ID]Hierarchy]Other Atom] as' res1Item( Rank(Sekret_ID]Hierarchy]CurrentMember,res2) 1)'set CAs as' Filter(Res1,ID]Hierarchy]Properties( "Atom Name" )="CA")'set Sekret_CAs as' Filter(Res2,Sekret_ID]Hierarchy]Properties( "Atom Name" )="CA")'//when the distance is calculated we do not square root the resultant value (to save computation)//hence all distance cutoffs are squared the desired value eg 100 is 10, 2916 is 54 and 2116 is 46)set NeighborCAs] as' Filter ( TheTimes CAs Sekret_CAs, Measures]distance] < 100 and measuresResnum < measuresSekret_Resnum)'set NeighborResidues] as' Generate({NeighborCAs}, {(time]time]Currentmember, ID]Hierarchy]CurrentMemberParent, Sekret_ID]Hierarchy]CurrentMemberParent)})'Set TestForContact] as' Generate({NeighborResidues}, {(time]time]Currentmember, Filter(ID]Hierarchy]CurrentMemberChildren, ID]Hierarchy]Properties( "Atom Type" )), Property excludes hydrogen Filter(Sekret_ID]Hierarchy]CurrentMemberChildren, Sekret_ID]Hierarchy]Properties( "Atom Type" )) Property Excludes hydrogen)})'// the final STRTOVALUE allows you to set a cut off for the distance of the residues considered from the start// residue, currently set at 11 The line can be removed if you wishSet AtomsInContact] as' Filter ({TestForContact}, distance <= iif(left(ID]Hierarchy]CurrentMemberProperties("Atom Name"),1) = "C" and left(Sekret_ID]Hierarchy]CurrentMemberProperties("Atom Name"),1) = "C", 2916, 2116) and distance > 0 and STRTOVALUE(Sekret_ID]Hierarchy]CurrentMemberProperties("Residue Number")) STRTOVALUE(ID]Hierarchy]CurrentMemberProperties("Residue Number")) > 1 and STRTOVALUE(Sekret_ID]Hierarchy]CurrentMemberProperties("Residue Number")) STRTOVALUE(ID]Hierarchy]CurrentMemberProperties("Residue Number")) < 11)'MEMBER Measures]distance] as' ( ((ID]Hierarchy]Other Atom], Measures]x Coord]) (ID]Hierarchy]CurrentMember,Measures]x Coord]))^2 + ((ID]Hierarchy]Other Atom], Measures]y Coord]) (ID]Hierarchy]CurrentMember,Measures]y Coord]))^2 + ((ID]Hierarchy]Other Atom], Measures]z Coord]) (ID]Hierarchy]CurrentMember,Measures]z Coord]))^2)'member measuresTimesCount as' count(Intersect({AtomsInContact}, {TheTimes} {ID]Hierarchy]Currentmember} {Sekret_ID]Hierarchy]Currentmember}))'select {Resnum, AtomName, Sekret_Resnum, Sekret_AtomName, TimesCount} on 0, Extract(AtomsInContact, ID]Hierarchy], Sekret_ID]Hierarchy]) on 1FROM 20060707dyna]WHERE ( Run]1], Temp]298], Conditions]cs=4,nbcycl=3,cor=10]);