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.
load filename [,object [,state [,format [,finish [,discrete [,multiplex ]]]]]]
cmd.load( filename [,object [,state [,format [,finish [,discrete [,multiplex ]]]]]] )
- 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,
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
- Load xyz.pdb using the PyMOL API:
- 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]