Member Site › Forums › PyRosetta › PyRosetta – General › set constraints
- This topic has 3 replies, 2 voices, and was last updated 14 years, 9 months ago by Anonymous.
-
AuthorPosts
-
-
February 24, 2010 at 5:42 pm #440Anonymous
Are there any way to set constraints for example, the maximum distance between two residues? It seems to me that rosetta can do this, but i’m not shure.
-
February 25, 2010 at 12:32 am #4366Anonymous
Do you mean bond length?
Or distance between two independent residues from different parts of a chain? -
February 25, 2010 at 2:27 pm #4367Anonymous
Two residues from different chains or different parts of a chain.
-
February 28, 2010 at 5:32 pm #4375Anonymous
I’m not sure how to do this automatically, but I started to do it for disulfides using this code:
sulfidefour = AtomID(4, 4)
sulfidesix = AtomID(4, 6)
sulfidefifte= AtomID(4, 15)
sulfide_23 = AtomID(4, 23)
sulfide_25 = AtomID(4, 25)
sulfide_36 = AtomID(4, 36)standard=create_score_function_ws_patch(‘standard’, ‘score12’)
#No
currectdisulfide=Truedef disulfidecheck():
correctdisulfide=True
if disulfides != 0:
print pose.xyz(sulfidefour)
print pose.xyz(sulfidesix)
print pose.xyz(sulfidefifte)
print pose.xyz(sulfide_23)
print pose.xyz(sulfide_25)
print pose.xyz(sulfide_36)SSbond = pose.xyz(sulfidefour) – pose.xyz(sulfidesix)
xD = SSbond.x
yD = SSbond.y
zD = SSbond.z
dSquared = (xD**2) + (yD**2) + (zD**2)
d = math.sqrt(dSquared)
print d
if d < 2.11:
correctdisulfide = FalseSSbond = pose.xyz(sulfidefour) – pose.xyz(sulfidefifte)
xD = SSbond.x
yD = SSbond.y
zD = SSbond.z
dSquared = (xD**2) + (yD**2) + (zD**2)
d = math.sqrt(dSquared)
print d
if d < 2.11:
correctdisulfide = FalseSSbond = pose.xyz(sulfidefour) – pose.xyz(sulfide_25)
xD = SSbond.x
yD = SSbond.y
zD = SSbond.z
dSquared = (xD**2) + (yD**2) + (zD**2)
d = math.sqrt(dSquared)
print d
if d < 2.11:
correctdisulfide = FalseYou will have to modify it someway to select for a distance, in that if the distance is higher then maximum, then change the energy function in a way that selects against this. You can make a table of kT vs. acceptance rate in excel to make sure you change kT and apply the change in a way that makes the MonteCarlo function throw out the move.
Hope this helps get you started.
-J
-
-
AuthorPosts
- You must be logged in to reply to this topic.