Pymolrc: Difference between revisions
No edit summary |
(run_on_startup) |
||
(13 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
When Pymol [[Launching PyMOL|launches]], it will read custom settings and functions from a .pymolrc | When Pymol [[Launching PyMOL|launches]], it will read custom settings and functions from a pymolrc file, if it exists. This is simply a script in PyMOL command syntax or in python syntax, depending on the suffix.<br> | ||
Creating pymolrc files is a convenient way of loading individualized settings. | |||
== Open a pymolrc File for Editing == | |||
<div style="padding: 0.5em 1em; margin-bottom: 1em; background-color: #6f6"> | |||
PyMOL 2.0 has a built-in editor: '''File > Edit pymolrc''' | |||
</div> | |||
On Windows: '''Start > Run''' and then paste | |||
notepad "%HOMEDRIVE%%HOMEPATH%\pymolrc.pml" | |||
On Unix/Linux-type system (including Mac OS X): Open a terminal and type | |||
nano ~/.pymolrc | |||
== Technical Details == | |||
* The leading dot is optional, so everything that starts with '''.pymolrc''' or '''pymolrc''' will be found by PyMOL. Files with dot take precedence over files without dot. | |||
* Files ending on '''.py''' (or .pym) will be parsed as python scripts, files ending on '''.pml''' or without suffix will be parsed as PyMOL command syntax. | |||
* Several directories are searched, in order: | |||
** current working directory | |||
** $HOME | |||
** $HOMEDRIVE + $HOMEPATH (on Windows) | |||
** $PYMOL_PATH | |||
* $PYMOL_PATH/run_on_startup* is loaded before any '''pymolrc''' files | |||
===Multiple pymolrc files=== | |||
PyMOL will even load '''multiple pymolrc files''', however only either with dot or without dot, and only from the same directory.<br> | |||
You can have multiple scripts: e.g. '''pymolrc-settings.pml''' and '''pymolrc-misc.pml''' in your home directory. | |||
* '''pymolrc-settings.pml''' can e.g. be used to define 'permanent' custom [[Settings]] that you rarely change | |||
* '''pymolrc-misc.pml''' can e.g. be used to define more transient custom [[Settings]], such as [[Cd|Working Directory]] or [[Fetch Path]] | |||
You can query which pymolrc files have been loaded: | |||
PyMOL> print invocation.options.deferred | |||
== Example == | |||
<source lang="python"> | <source lang="python"> | ||
# simple test: change background color of PyMOL window | |||
bg blue | |||
# this will run the script in the specified location | # this will run the script in the specified location | ||
run /path/to/home/pymol/load_sep.py | run /path/to/home/pymol/load_sep.py | ||
# your favorite settings | |||
set movie_loop, 0 | set movie_loop, 0 | ||
set two_sided_lighting, 1 | set two_sided_lighting, 1 | ||
Line 19: | Line 56: | ||
# for images: | # for images: | ||
# antialias =1 smooths jagged edges, 0 turns it off | # antialias =1 smooths jagged edges, 0 turns it off | ||
set antialias | set antialias, 1 | ||
# stick_radius -adjust thickness of atomic bonds | # stick_radius -adjust thickness of atomic bonds | ||
set stick_radius | set stick_radius, 0.3 | ||
# save fetched PDB files here | |||
set fetch_path, /your/fetch/path | |||
# Personal short-cut to color_obj function | |||
import color_obj | |||
cmd.extend("co",color_obj.color_obj) | |||
</source> | </source> | ||
== Reload a pymolrc File == | |||
To reload a pymolrc file (e.g. after editing .pymolrc, or after running [[reinitialize]]), [[Running Scripts|run it]] like any other script: | |||
@~/.pymolrc | |||
or | |||
run ~/.pymolrc.py | |||
== See Also == | == See Also == | ||
[[Launching PyMOL]] | * [[save_settings]] | ||
* [[Launching PyMOL]] | |||
[[Category:Launching]] | [[Category:Launching]] | ||
[[Category:Scripting]] |
Latest revision as of 06:56, 11 June 2018
When Pymol launches, it will read custom settings and functions from a pymolrc file, if it exists. This is simply a script in PyMOL command syntax or in python syntax, depending on the suffix.
Creating pymolrc files is a convenient way of loading individualized settings.
Open a pymolrc File for Editing
PyMOL 2.0 has a built-in editor: File > Edit pymolrc
On Windows: Start > Run and then paste
notepad "%HOMEDRIVE%%HOMEPATH%\pymolrc.pml"
On Unix/Linux-type system (including Mac OS X): Open a terminal and type
nano ~/.pymolrc
Technical Details
- The leading dot is optional, so everything that starts with .pymolrc or pymolrc will be found by PyMOL. Files with dot take precedence over files without dot.
- Files ending on .py (or .pym) will be parsed as python scripts, files ending on .pml or without suffix will be parsed as PyMOL command syntax.
- Several directories are searched, in order:
- current working directory
- $HOME
- $HOMEDRIVE + $HOMEPATH (on Windows)
- $PYMOL_PATH
- $PYMOL_PATH/run_on_startup* is loaded before any pymolrc files
Multiple pymolrc files
PyMOL will even load multiple pymolrc files, however only either with dot or without dot, and only from the same directory.
You can have multiple scripts: e.g. pymolrc-settings.pml and pymolrc-misc.pml in your home directory.
- pymolrc-settings.pml can e.g. be used to define 'permanent' custom Settings that you rarely change
- pymolrc-misc.pml can e.g. be used to define more transient custom Settings, such as Working Directory or Fetch Path
You can query which pymolrc files have been loaded:
PyMOL> print invocation.options.deferred
Example
# simple test: change background color of PyMOL window
bg blue
# this will run the script in the specified location
run /path/to/home/pymol/load_sep.py
# your favorite settings
set movie_loop, 0
set two_sided_lighting, 1
set label_size, 60
set label_outline_color, 1
set label_color, 0
set label_position, [0, 0, 10]
# for images:
# antialias =1 smooths jagged edges, 0 turns it off
set antialias, 1
# stick_radius -adjust thickness of atomic bonds
set stick_radius, 0.3
# save fetched PDB files here
set fetch_path, /your/fetch/path
# Personal short-cut to color_obj function
import color_obj
cmd.extend("co",color_obj.color_obj)
Reload a pymolrc File
To reload a pymolrc file (e.g. after editing .pymolrc, or after running reinitialize), run it like any other script:
@~/.pymolrc
or
run ~/.pymolrc.py