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: