Difference between revisions of "Load"

From PyMOLWiki
Jump to: navigation, search
(User Comments/Examples)
Line 76: Line 76:
 
<source lang="python">
 
<source lang="python">
 
load 1E3M.pdb; remove not A-C+F//
 
load 1E3M.pdb; remove not A-C+F//
 +
</source>
 +
 +
* Decorating the load command to include technical info about the loaded object
 +
<source>
 +
def load_with_props(fileName, objName):
 +
  # store whatever info you want, like the filename
 +
  obj_info[objName] = fileName
 +
  # ... do more recording of properties you choose
 +
  # ask PyMOL to now load the file
 +
  cmd.load(fileName,objName)
 +
</source>
 +
Then on can query obj_info based on the object name:
 +
<source>
 +
for obj in cmd.get_names():
 +
  print obj_info[obj]
 
</source>
 
</source>
  

Revision as of 11:17, 23 January 2012

load reads several file formats. The file extension is used to determine the format. PDB files must end in ".pdb", MOL files must end in ".mol", Macromodel files must end in ".mmod", XPLOR maps must end in ".xplor", CCP4 maps must end in ".ccp4", Raster3D input (Molscript output) must end in ".r3d", PyMOL session files must end in ".pse", and pickled ChemPy models with a ".pkl" can also be directly read.

If an object is specified, then the file is loaded into that object. Otherwise, an object is created with the same name as the file prefix.

USAGE

load filename [,object [,state [,format [,finish [,discrete [,multiplex ]]]]]]

PYMOL API

cmd.load( filename [,object [,state [,format [,finish [,discrete [,multiplex ]]]]]] )

NOTES

  • You can override the file extension by giving a format string:
'pdb' : PDB,  'mmod' : Macromodel, 'xyz' : Tinker, 'cc1' : ChemDraw3D  
'mol' : MDL MOL-file, 'sdf' : MDL SD-file
'xplor' : X-PLOR/CNS map, 'ccp4' : CCP4 map,
'callback' : PyMOL Callback object (PyOpenGL)
'cgo' : compressed graphics object (list of floats)
'trj' : AMBER trajectory (use load_traj command for more control)
'top' : AMBER topology file 'rst' : AMBER restart file
'cex' : Metaphorics CEX format
'pse' : PyMOL Session file
'pqr' : PQR (a modified PDB file with charges and radii)
'mol2' : MOL2
  • A new feature has been added to load. You can specify an URL to a PDB and PyMOL will download it. This is a very handy feature for loading experimental/theoretical data from servers across the web. Just copy the link they give you and do,
load http://www.theurl.com/path/toYourData

or you can open a remote file just from the command line

# load a PDB file; I placed one example file on the PyMOL Wiki
pymol http://www.pymolwiki.org/1rsy.pdb

# PyMOL can also handle the gzipped files on the PDB.  :-)
pymol ftp://ftp.wwpdb.org/pub/pdb/data/structures/divided/pdb/00/pdb100d.ent.gz

User Comments/Examples

  • Load xyz.pdb using the PyMOL API:
cmd.load("xyz.pdb")
  • Loading multiple PDBs into one object with many states:
load trj0001.pdb, mov
load trj0002.pdb, mov
load trj0003.pdb, mov
etc.

or, if you have too many states to do that by hand,

for idx in range(1,1001):cmd.load("trj%04d.pdb"%idx,"mov")

or, you can use "glob" from Python,

from glob import glob
lst = glob("trj*.pdb")
lst.sort()
for fil in lst: cmd.load(fil,"mov")
  • Load a NAMD multi-PDB file. These are just concatenated PDB files.
load NAMDtrajFile.pdb, multiplex=0
  • Hint: You can save some time & a lot of memory by loading the file and removing the atoms in a single-line compound statement (with a semicolon

after the load statement).

load 1E3M.pdb; remove not A-C+F//
  • Decorating the load command to include technical info about the loaded object
def load_with_props(fileName, objName):
  # store whatever info you want, like the filename
  obj_info[objName] = fileName
  # ... do more recording of properties you choose
  # ask PyMOL to now load the file
  cmd.load(fileName,objName)

Then on can query obj_info based on the object name:

for obj in cmd.get_names():
  print obj_info[obj]

SEE ALSO

Save Load Traj