This is a read-only mirror of pymolwiki.org

Difference between revisions of "Plugin manager"

From PyMOL Wiki
Jump to navigation Jump to search
(Created a page describing the Plugin Manager for PyMOL)
 
m (1 revision)
 
(5 intermediate revisions by 3 users not shown)
Line 1: Line 1:
Newer versions of PyMOL come with a '''Plugin Manager''', which can be used to load plugins such as the  [https://github.com/Pymol-Scripts/Pymol-script-repo# PyMOL Script Repo].
+
#REDIRECT [[Plugin Manager]]
 
 
=Manual Setup=
 
In the PyMOL menu naviagte to '''Plugins''' > '''Plugin Manager''' <br>
 
Here you can manually add directories or scripts that will be loaded upon startup.
 
 
 
 
 
=Scripted setup during PyMOL launching=
 
===Creating run_on_startup.py===
 
'''run_on_startup.py''' can easily be created using a text editor such as notepad.<br>
 
 
 
The '''run_on_startup.py''' is handled similar to pymolrc files and is executed every time PyMOL launches.<br>
 
An important distinction is that '''run_on_startup.py''' is executed before the pymolrc files and is purely written in python.<br>
 
The recommended location of '''run_on_startup.py''' is the PyMOL home directory (PYMOL_PATH, e.g. something like 'C:\Program Files \PyMOL\').<br>
 
An advantage is that should PyMOL be installed on a computer with several users, this will be run for all users, while the pymolrc files can be individual (e.g. in the USER directory).
 
 
 
<syntaxhighlight lang="python">
 
#this can be copy-pasted to create run_on_startup.py in the home directory
 
 
 
# Add paths to sys.path so PyMOL can find modules and scripts
 
import sys
 
import os
 
 
 
pymol_git = os.path.realpath(os.path.join(os.environ['PYMOL_PATH'], 'Pymol-script-repo'))
 
 
 
os.environ['PYMOL_GIT_MOD'] = os.path.join(pymol_git,'modules')
 
sys.path.append(pymol_git)
 
sys.path.append(os.environ['PYMOL_GIT_MOD'])
 
 
 
# Make setting changes to Plugin Manager
 
import pymol.plugins
 
 
 
#THIS IS WHERE THE PATH IS ADDED TO INITIALIZE PLUGINS USING THE PLUGIN MANAGER
 
pymol.plugins.set_startup_path([os.path.join(pymol_git, 'plugins'), os.path.join(sys.prefix, 'Lib', 'site-packages', 'pmg_tk', 'startup')])
 
 
 
pymol.plugins.preferences = {'instantsave': False, 'verbose': False}
 
pymol.plugins.autoload = {'apbs_tools': False}
 
pymol.plugins.preferences = {'instantsave': True, 'verbose': False}
 
 
 
 
 
# This can be used to trace if PyMOL executed the file correctly. Otherwise remove this part
 
print 'Loaded run_on_stratup.py'
 
</syntaxhighlight>
 
 
 
 
 
If the '''Pymol-script-repo''' is located somewhere else the first section of the file will be different.<br>
 
E.g. in the USER directory:
 
<syntaxhighlight lang="python">
 
# This would replace the first section in '''run_on_startup.py'''.
 
import sys
 
import os
 
 
 
pymol_git = os.path.abspath(os.path.join(os.path.expanduser('~'), 'Pymol-script-repo'))
 
 
 
os.environ['PYMOL_GIT_MOD'] = os.path.join(pymol_git,'modules')
 
sys.path.append(pymol_git)
 
sys.path.append(os.environ['PYMOL_GIT_MOD'])
 
</syntaxhighlight>
 
 
 
E.g. in any other path:
 
<syntaxhighlight lang="python">
 
# This would replace the first section in '''run_on_startup.py'''.
 
import sys
 
import os
 
 
 
pymol_git = os.path.realpath('D:\MY\RANDOM\PATH\TO\Pymol-script-repo') # Adjust this line
 
# Note the '\' instead of '/', beware Windows users!
 
 
 
os.environ['PYMOL_GIT_MOD'] = os.path.join(pymol_git,'modules')
 
sys.path.append(pymol_git)
 
sys.path.append(os.environ['PYMOL_GIT_MOD'])
 
</syntaxhighlight>
 
 
 
 
 
===Appending additional paths to the Plugin Manager===
 
Should your scripts be located in several alternative locations, it is possible to append additional directories to the '''Plugin Manager'''.<br>
 
In the example below, a directory called 'plugins_private', which is located in the PyMOL directory, is added to the Plugin Manger.<br>
 
Should the folder be somewhere else the example below can be adjusted as outlined above.<br>
 
<syntaxhighlight lang="python">
 
#copy paste into PyMOL's command line or into the pymolrc
 
 
 
python
 
import os
 
import sys
 
import pymol.plugins
 
 
 
PRIVATE_PATH=os.path.realpath(os.path.join(os.environ['PYMOL_PATH'], 'plugins_private'))
 
startupdirectories=list(pymol.plugins.get_startup_path(True))
 
if PRIVATE_PATH not in startupdirectories:
 
    startupdirectories.append(PRIVATE_PATH)
 
if PRIVATE_PATH not in sys.path:
 
    sys.path.append(PRIVATE_PATH)
 
pymol.plugins.set_startup_path(startupdirectories)
 
python end
 
</syntaxhighlight>
 
 
 
Note that the '''Plugin Manager''' supports loading entire folders with scripts ('modules').<br>
 
If you have such a folder, make sure it contains a file called '__init__.py', which can be empty.
 
 
 
 
 
=If you don't have a Plugin Manager=
 
If you are running an older PyMOL without '''Plugin Manager''' you can either upgrade to the newest version or load plugins the traditional way. <br>
 
For detailed instructions see: [[Git install scripts]]<br>
 
Essentially, make sure that the folder is added to PyMOL's search paths.
 
<syntaxhighlight lang="python">
 
import sys
 
import os
 
pymol_git = os.path.realpath(os.path.join(os.environ['PYMOL_PATH'], 'Pymol-script-repo'))
 
sys.path.append(pymol_git)
 
</syntaxhighlight>
 
Import a plugin manually:
 
<syntaxhighlight lang="python">
 
# EXAMPLE
 
delete all
 
frag LYS
 
cgo_arrow name N, name O # will not work if 'cgo_arrow' is not loaded
 
 
 
import cgo_arrow # PyMOL will look for this file and load it
 
cgo_arrow name N, name O # should work if it is loaded
 
</syntaxhighlight>
 
 
 
=SEE ALSO=
 
[[Git install scripts]]
 
 
 
 
 
[[Category:Launching]]
 

Latest revision as of 15:24, 26 November 2014

Redirect to: