Hi Charles,

thanks a lot for offering your help! Looks like I'll need it...

So I gave it a first try with the following script:

 >>>
import psfGen, protocol, pdbTool
## see also xplor-2.23/eginput/PSF-generation/addAtoms.py

simWorld.setRandomSeed(5521)

import protocol
protocol.initTopology(('protein'))
protocol.initParams(('protein'))

seq = open('01_sequence.txt').read()

psfGen.seqToPSF(seq,seqType='prot',startResid=1)

pdbTool.PDBTool('01_domain1.pdb').read()
pdbTool.PDBTool('01_domain2.pdb').read()

notKnown=AtomSel("not known")

protocol.addUnknownAtoms()

protocol.fixupCovalentGeom(sel=notKnown)

xplor.command("write psf output=new.psf end")
pdbTool.PDBTool("system1.pdb").write()
<<<

The seq content looks like this:
"GLY VAL GLN VAL GLU THR ILE SER PRO GLY ASP..." and is exactly the sequence of 
PDB 1 plus sequence of the linker plus sequence of PDB 2 (generated directly 
from the PDB files).

The first PDB has residue numbering from 1 to N_res, consecutive atom numbering 
from 1 to N_atoms, no H and no END or TER record. The second PDB has a residue 
numbering that starts exactly with N_res + len(linker) + 1. I didn't yet adapt 
the atom numbering but there seems to be a problem before that anyway.

The script hangs at protocol.addUnknownAtoms(). Even if I only load the first 
PDB and then directly try
pdbTool.PDBTool("system1.pdb").write()
I get an error message for each atom::

WARNING: PDBTool::writePDBAtom: invalid coordinates for atom         1  GLY    N

So it seems loading the PDB with pdbTool.PDBTool('01_domain1.pdb').read() 
didn't 
really assign the content to the PSF?
The first line of the PDB looks like this:

ATOM      1  N   GLY A   1       5.925  28.639  50.179  1.00 22.39      fkpb N

But I don't think it's a problem of the PDB. The read() proceeds without errors 
and echos all the lines of the PDB.

Any idea where things start going wrong? I tried to adapt the script from 
eginput/PSF-generation/addAtoms.py but perhaps I am miss-interpreting it.

Thanks a lot in advance!
Greetings,
Raik

Charles at Schwieters.org wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> 
> Hello Raik--
> 
>> So we use psfGen.seqToPSF(...) in order to create the psf for the
>> complete molecule. Is there now a way to read in the two PDBs that
>> each cover part of the total sequence and project their structure into
>> the system? Or will we need to create a single composite PDB with fake
>> coordinates for the linker?
> 
> Presuming the input pdb residue nums are consistent with the overall
> sequence, you can use psfGen.seqToPSF (follow an example in
> eginput/PSF_generation/*.py) and then initialize coordinate values using
> protocol.initCoords. 
> 
>> The second step would be to create a covalent structure for the linker
>> and minimize the whole system
>> together. protocol.genExtendedStructure(...) should do the trick for
>> the linker but how do we then run a rigid body, flexible linker, rigid
>> body minimization? Lots of xplor.command(), or is there a more
>> pythonic way?
> 
> You shouldn't use many if any xplor.command calls. You use the IVM to
> group (ivm.IVM.group()) your previously determined regions into rigid
> bodies. Then you might try the protocol in eginput/gb1_rdc/anneal.py.
> 
>> The python interface looks quite a bit more intuitive than the classic xplor
>> language but documentation seems a bit patchy. Sorry if we overlooked some
>> obvious documentation!
> 
> Unfortunately, the documentation is a bit sparse. I will try to assist
> you as necessary.
> 
> best regards--
> Charles
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.9 (GNU/Linux)
> Comment: Processed by Mailcrypt 3.5.8+ <http://mailcrypt.sourceforge.net/>
> 
> iEYEARECAAYFAkpUimMACgkQPK2zrJwS/lZN7ACbBdbG+kx/7AQA7p+CncRN+As5
> u0QAnAt0KDDOEpfMZe03Dwgs5EMSMVuO
> =M4KB
> -----END PGP SIGNATURE-----
> 

-- 
________________________________

Dr. Raik Gruenberg
http://www.raiks.de/contact.html
________________________________

Reply via email to