|
|
| (6 intermediate revisions by 4 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].
| | Since version 1.5.0.5 PyMOL comes with a '''Plugin Manager''', which can be used to load plugins such as those in the [https://github.com/Pymol-Scripts/Pymol-script-repo# PyMOL Script Repo].<br> |
|
| |
|
| =Manual Setup= | | == Features == |
| 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|pymolrc]] files and is executed every time PyMOL launches.<br>
| |
| An important distinction is that '''run_on_startup.py''' is executed before the [[Pymolrc|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>
| |
|
| |
|
| | * Install/Uninstall plugins |
| | * Disable plugins and load them on demand to optimize PyMOL's startup time |
| | * Configure the plugin search path |
|
| |
|
| ===Appending additional paths to the Plugin Manager=== | | ===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> | | 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.
| |
|
| |
|
| | : Plugin > Plugin Manager > Settings > Add new directory... |
|
| |
|
| =If you don't have a Plugin Manager= | | == Screenshots == |
| 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
| | [[Image:plugin_manager_installed.png]] |
| cgo_arrow name N, name O # should work if it is loaded
| | [[Image:plugin_manager_install_new.png]] |
| </syntaxhighlight>
| | [[Image:plugin_manager_settings.png]] |
|
| |
|
| =SEE ALSO= | | == See Also == |
| [[Git install scripts]]
| |
|
| |
|
| | * [[Pymol-script-repo]] |
|
| |
|
| [[Category:Launching]] | | [[Category:Launching]] |
| | [[Category:Plugins]] |
Since version 1.5.0.5 PyMOL comes with a Plugin Manager, which can be used to load plugins such as those in the PyMOL Script Repo.
- Install/Uninstall plugins
- Disable plugins and load them on demand to optimize PyMOL's startup time
- Configure the plugin search path
Appending additional paths to the Plugin Manager
[edit]
Should your scripts be located in several alternative locations, it is possible to append additional directories to the Plugin Manager.
- Plugin > Plugin Manager > Settings > Add new directory...