Respected fellow users
I have been struggling from quite some time now to follow a script
randomchain.inp distributed along with xplor-nih. I am having a similar
problem as discussed earlier in xplor-nih mailing list
https://www.mail-archive.com/[email protected]/msg00550.html.
I intend to make random initial structures of the template.pdb file of a
monomer (segment A) by phi psi rotation and thereafter, duplicate those
coordinate to segment B such that the result is :
rotated segment a + duplicate segment b :file1
rotated segment a + duplicate segment b : file 2 and so on
however, only the first file is correctly forming. On initiation of the
second loop instead of the template.pdb file 1 is being taken as the
initial coordinate and accordingly following files are being generated:
rotated segment a + duplicate segment b :file1
rotated segment a + rotated segment b + duplicate segment a + duplicate
segment b
I also followed the suggestions of Dr John Kuszewski and added coor swap
end and coor copy end before the initiation of the main loop as following:
structure @generate.psf end
coor @generate_template.pdb
coor copy end
{====>} evaluate ($end_count=2) {* Number of structures.
*}
ic reset end
evaluate ($count = 0)
while ($count < $end_count ) loop main
coor swap end
coor copy end
evaluate ($newseed = 42 + $count)
evaluate ($count=$count+1)
! The vector store1 is set to 1 for all atoms that have already been
! rotated.
vector do (store1=0) (all)
vector do (store2=0) (all)
! loop through all ca atoms.
for $id in id (name ca) loop pept
vector show element (resid) (id $id)
evaluate ($res = $result)
vector show element (segid) (id $id)
evaluate ($seg = $result)
vector do (store2=1) (byres (id $id))
evaluate ($phi = random()*360-180)
evaluate ($psi = random()*360-180)
! all atoms up to the present ca are held fixed for phi rotation
vector do (store1=1)
((store2 and (name n or name hn or name ht* or name ca)))
! rotate phi
coor rotate sele= (attribute store1=0)
center (head (store2 and name ca))
axis (head (store2 and name ca)
tail (store2 and name n)) $phi
end
! fix the sidechain of the current residue for psi rotation
vector do (store1=1)
((store2 and not (name c or name o or name ot#)))
! rotate psi
coor rotate sele= (attribute store1=0 and segid $seg)
center (head (store2 and name c) )
axis (head (store2 and name c)
tail (store2 and name ca)) $psi
end
! fix all of current residue
vector do (store1=1) (store2)
vector do (store2=0) (byres (id $id))
end loop pept
duplicate
SELEction=(name *)
SEGId=B
end
coor orient end
!!coor translate selection (segid B) vector (head (segid A) tail (segid B))
end
evaluate ($filename="random"+encode($count)+".pdb")
write coordinates output =$filename end
end loop main
stop
set message on echo on end
however I am not having any luck. Kindly, please help me through.
thank you
with regards
Rajbinder Kaur virk
Research Scholar
Department of Biophysics
Panjab University
Chandigarh-160014
--
*With regards*
*Rajbinder Kaur Virk*
*Research Scholar *
*Department of Biophysics*
*Panjab University *
*Chandigarh-160014*
_______________________________________________
Xplor-nih mailing list
[email protected]
https://dcb.cit.nih.gov/mailman/listinfo/xplor-nih