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

Reply via email to