Martin, The _cmd module is indeed statically linked into MacPyMOL. But, if you built from open-source it's dumped into site-packages/pymol. Also, view the files inside pymol/examples/launching. There are plenty of examples. If you're using a pre-built package from elsewhere, then please contact the package maintainer to see how it's built.
Last, I prefer the newer "pymol2" strategy where you get a handle to a PyMOL cmd instance: from pymol2 import PyMOL cmd=PyMOL().cmd Cheers, -- Jason On Tue, Nov 22, 2011 at 8:19 AM, Thomas Holder <spel...@users.sourceforge.net> wrote: > Hi Martin, > > I don't have a Mac so I can't test this, sorry. > > I suspect that the _cmd module is built into the MacPyMOL executable. > This would imply that you cannot use MacPyMOL like in the > "Launching_From_a_Script" examples. Maybe someone of the MacPyMOL users > knows more? > > Cheers, > Thomas > > Martin Hediger wrote, On 11/22/11 13:14: >> Thanks Thomas for the reply. I tried it under Mac OS X 10.5.8. >> >> me @ ~/PROG_TEST $ python >> Python 2.6.5 (r265:79359, Mar 24 2010, 01:32:55) >> [GCC 4.0.1 (Apple Inc. build 5493)] on darwin >> Type "help", "copyright", "credits" or "license" for more information. >> imported numpy >> from PyQt4.QtGui imported * >> from PyQt4.QtCore imported * >>>>> import os, sys >>>>> import readline >>>>> import rlcompleter >>>>> readline.parse_and_bind('tab: complete') >>>>> moddir='/Applications/PyMOLX11Hybrid.app/pymol/modules' >>>>> sys.path.insert(0, moddir) >>>>> os.environ['PYMOL_PATH'] = os.path.join(moddir, 'pymol/pymol_path') >>>>> import pymol >> Traceback (most recent call last): >> File "<stdin>", line 1, in<module> >> File >> "/Applications/PyMOLX11Hybrid.app/pymol/modules/pymol/__init__.py", line >> 472, in<module> >> import _cmd >> ImportError: No module named _cmd >>>>> import pymol >> >> >> What could be the problem? Could it be that the 'pymol/pymol_path' call >> is not exactly right? In the modules/pymol directory, there is a module >> 'pymol/launch_pymol', but I have a similar error ("No module named >> _cmd") when I try to import it. >> Martin >> >> >> >> >> >> >> Am 22.11.11 09:47, schrieb Thomas Holder: >>> Hi Martin, >>> >>> the recommended way is to use PyMOL as your python interpreter, so >>> instead of: >>> >>> python file.py >>> >>> do this: >>> >>> pymol -cqr file.py >>> >>> >>> However, launching a PyMOL process from a python terminal as you >>> suggested is also possible. Have a look at Example 2 of >>> http://pymolwiki.org/index.php/Launching_From_a_Script , the important >>> lines are those: >>> >>> import pymol >>> pymol.pymol_argv = ['pymol','-qc'] >>> pymol.finish_launching() >>> >>> Cheers, >>> Thomas >>> >>> >>> Martin Hediger wrote, On 11/22/11 09:26: >>>> Dear PyMOL List >>>> It comes up once in a while, is it possible to use PyMOL features >>>> from outside of PyMOL? An example, the below is a script (inspired by >>>> Thomas Holder) which saves down to disk all amino acids of a protein >>>> structure into separate PDB files. >>>> >>>> # ***************************************************************** >>>> from pymol import cmd >>>> from pymol import stored >>>> from pymol.exporting import _resn_to_aa as one_letter >>>> # ***************************************************************** >>>> def seq(state, selection="name ca or resn hoh or resn lig"): >>>> print "Generating seqs." >>>> cmd.select("prot", selection) >>>> while cmd.pop("_tmp", "prot"): >>>> cmd.iterate("_tmp", "stored.x=(resn,resv)") >>>> #print stored.x[0], stored.x[1] >>>> >>>> # Special case 1: Waters. >>>> if stored.x[0] == 'HOH': >>>> filename = 'seq-x%s-%s.pdb' % (stored.x[1], state) >>>> # Special case 2: Substrate. >>>> elif stored.x[0] == 'LIG': >>>> filename = 'seq-x%s-%s.pdb' % (stored.x[1], state) >>>> # Other: protein back-bone. >>>> else: >>>> filename = 'seq-%s%d-%s.pdb' % >>>> (one_letter[stored.x[0]].lower(), stored.x[1], state) >>>> cmd.save(filename, "byres _tmp") >>>> cmd.delete('_tmp prot') >>>> >>>> cmd.extend('seq', seq) >>>> # ----------------------------------------------------------------- >>>> >>>> Is it possible to somehow include this in a Python script, and >>>> running it from the command line? If not, why? >>>> >>>> >>>> Thanks for any feedback. > > -- > Thomas Holder > MPI for Developmental Biology > Spemannstr. 35 > D-72076 Tübingen > > ------------------------------------------------------------------------------ > All the data continuously generated in your IT infrastructure > contains a definitive record of customers, application performance, > security threats, fraudulent activity, and more. Splunk takes this > data and makes sense of it. IT sense. And common sense. > http://p.sf.net/sfu/splunk-novd2d > _______________________________________________ > PyMOL-users mailing list (PyMOL-users@lists.sourceforge.net) > Info Page: https://lists.sourceforge.net/lists/listinfo/pymol-users > Archives: http://www.mail-archive.com/pymol-users@lists.sourceforge.net > -- Jason Vertrees, PhD PyMOL Product Manager Schrodinger, LLC (e) jason.vertr...@schrodinger.com (o) +1 (603) 374-7120 ------------------------------------------------------------------------------ All the data continuously generated in your IT infrastructure contains a definitive record of customers, application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-novd2d _______________________________________________ PyMOL-users mailing list (PyMOL-users@lists.sourceforge.net) Info Page: https://lists.sourceforge.net/lists/listinfo/pymol-users Archives: http://www.mail-archive.com/pymol-users@lists.sourceforge.net