Main Page

From PyMOLWiki
Revision as of 14:38, 14 January 2014 by Inchoate (talk | contribs)
Jump to navigation Jump to search
Welcome to the PyMOL Wiki!
The community-run support site for the PyMOL molecular viewer.
New accounts: email jason (dot) vertrees (@) gmail dot com
Quick Links
Tutorials Table of Contents Commands
Script Library Plugins FAQ
Gallery | Covers PyMOL Cheat Sheet (PDF) GoogleSearch
News & Updates
Official Release http://pymol.org today, January 14, 2014.
New Plugin Bondpack is a a collection of PyMOL plugins for easy visualization of atomic bonds.
New Plugin MOLE 2.0 is a new plugin for rapid analysis of biomacromolecular channels in PyMOL.
3D using Geforce PyMOL can now be visualized in 3D using Nvidia GeForce video cards (series 400+) with 120Hz monitors and Nvidia 3D Vision, this was previously only possible with Quadro video cards.
New Plugin GROMACS_Plugin is a new plugin that ties together PyMOL and GROMACS.
New Software CMPyMOL is a software that interactively visualizes 2D contact maps of proteins in PyMOL.
New Script cgo_arrow draws an arrow between two picked atoms.
Tips & Tricks Instructions for generating movie PDFs using .mpg movies from PyMOL.
Older News See Older News.
Did you know...

CollapseSel

= Overview =

CollapseSel is a small utility function to compress strings for selections. So, if you have a selection with residues 1+2+3+4+20+21+22+100-120 this will return, 1-4+20-22+100-120.

CollapseIDs is a small utility function to compress strings for an array of IDs. This does NOT have the logic for detecting duplicates, CollapseSel does.

Example

run /dir/to/collapseSel.py
fetch 1cll
select EE, resn GLU
print collapseSel("EE")
#
# and PyMOL should output:
#
# 6-7+11+14+31+45+47+54+67+82-84+87+104+114+119-120+123+127+139-140
#

The Code

<source lang="python"> import pymol from pymol import stored

def collapseIDs(ids): """ Helper function to make a smart list of IDs: eg turns 1+2+3+4+5 into 1-5. """ rVal = [] if len(ids)==0: return ""

scanning=False anchor = 0 start = 0 # 1-5 7-10 12 21-23 for cur in range(0,len(ids)-1): if ids[cur]+1 == ids[cur+1]: if scanning: scanning=True continue else: scanning=True start = cur else: if ..→

A Random PyMOL-generated Cover. See Covers.