This is a read-only mirror of pymolwiki.org

Difference between revisions of "Pymol-script-repo"

From PyMOL Wiki
Jump to navigation Jump to search
Line 62: Line 62:
 
# Information how Repository admins handle the contributions
 
# Information how Repository admins handle the contributions
 
#:http://www.pymolwiki.org/index.php/git_admin
 
#:http://www.pymolwiki.org/index.php/git_admin
 
= Know problems =
 
 
== The slash "\" and "/" problem ==
 
Windows uses backslash '''\''', and Linux uses forwardslash '''/''' in folder and path definitions. <br>
 
This give sometimes problems, when joining paths in script and plugins, if the author has not foreseen this. <br>
 
We hope windows users can help report this suggest a solution, so scripts can be used on both systems.
 
 
It could get solved, by implementing something like this
 
<syntaxhighlight lang="python">
 
import sys,os,platform
 
print sys.path
 
for path in sys.path:
 
    if platform.system() == 'Windows':
 
        path_desc = "\\"
 
    if platform.system() == 'Linux':
 
        path_desc = "/"
 
    else:
 
        pass
 
sys.path.append(os.getcwd()+path_desc+"Pymol-script-repo")
 
print sys.path
 
 
def add_to_path():
 
    for path in sys.path:
 
        if 'Pymol-script-repo' in path:
 
            if platform.system() == 'Windows':
 
                modules_path = path + "\\modules"
 
                path_desc = "\\"
 
            if platform.system() == 'Linux':
 
                modules_path = path + "/modules"
 
                path_desc = "/"
 
            break
 
        else:
 
            pass
 
    return(modules_path,path_desc)
 
 
print "\n", add_to_path()
 
</syntaxhighlight>
 
 
== External modules - numeric ==
 
Numeric is sometimes used in scripts. This module is easy to install in Linux, but not so easy to make part of a
 
PyMOL installation.
 
 
One could put in some "try" statements, to solve the problem.
 
<syntaxhighlight lang="python">
 
import os,sys
 
os.chdir("/home/tlinnet/Software/pymol/Pymol-script-repo")
 
sys.path.append(os.getcwd())
 
try:
 
    import mechanize
 
except ImportError:
 
    print("Could not import mechanize, trying again")
 
    try:
 
        import modules.mechanize
 
        print("I succeded importing mechanize")
 
    except:
 
        print("I am sorry, no mechanize for you today")
 
#help(modules.mechanize)
 
</syntaxhighlight>
 

Revision as of 18:04, 10 December 2011

Introduction

In November 2011, a group of PyMOL users initiated together with Jason Vertrees, a project to let PyMOL scripts be under version control system (VCS) called Git.

We hope that script authors and PyMOL users would be interested in this option.

Benefits

The benefits from this project, is

  1. A convenient way, to let PyMOL users download all scripts at the PyMOL wiki, with a minimum of effort.
  2. The possibility to let script authors push changes to their script out to PyMOL users.
  3. Easier requiring assistance from the PyMOL mailing list.
  4. Script will be tested for malicious code before added to the official repository.

Read here to install: http://www.pymolwiki.org/index.php/git_install

Official repository

The official repository is located at:

https://github.com/Pymol-Scripts/Pymol-script-repo

And the Git Read-Only access is:

git://github.com/Pymol-Scripts/Pymol-script-repo.git

Same namespace

As a part of this project, we recommend that the name for script filename and pagename at the PyMOL wiki are the same. All letters should also be small for both.
This will ease the use of the script

Example: colorbydisplacement

Example of namespace

For a description of use

http://www.pymolwiki.org/index.php/colorbydisplacement

For a color coded view

https://github.com/Pymol-Scripts/Pymol-script-repo/blob/master/colorbydisplacement.py

See the raw code or download manually, by right clicking the following link here -> Save as: colorbydisplacement.py

https://raw.github.com/Pymol-Scripts/Pymol-script-repo/master/colorbydisplacement.py

In the users local script library

/home/tlinnet/Software/pymol/Pymol-script-repo/colorbydisplacement.py

To import in PyMOL

import colorbydisplacement

To print the available functions in PyMOL

help(colorbydisplacement)

This means, that if a PyMOL user look in their local repo directory, and wonder what colorbydisplacement.py does. Then user can write: http://www.pymolwiki.org/index.php/colorbydisplacement

Here a description of the of script is presented, with example of use and images. When the user then wants to use the script, one can simply write: import colorbydisplacement

To find out the defined functions, one can then either look at the wiki page, OR write in PyMOL. help(colorbydisplacement) which automatically returns the functions.

Read more here

  1. Simple install instructions for all PyMOL users.
    http://www.pymolwiki.org/index.php/git_install
  2. Information how to contribute scripts to the repository. It's easy!
    http://www.pymolwiki.org/index.php/git_authors
  3. Guidelines how to make a good PyMOL wiki script page.
    http://www.pymolwiki.org/index.php/git_script_guidelines
  4. Information how Repository admins handle the contributions
    http://www.pymolwiki.org/index.php/git_admin