Main Page

From PyMOLWiki
Revision as of 09:57, 8 August 2014 by Speleo3 (talk | contribs) (1.7.2)
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 PyMOL, AxPyMOL, and JyMOL v1.7.2 have all been released on August 4, 2014.
Official Release PyMOL, AxPyMOL, and JyMOL v1.7 have all been released today, January 14, 2014.
New Plugin Bondpack is 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...

Count molecules in selection

= Overview =

This script will return the number of distinct molecular objects in a given selection. If no selection is given, the script assumes "sele" the named mouse selection.

Example

# run the script

run count_molecules_in_sel.py

# grab a protein from the PDB

fetch 2f56, async=0

# select all the urea molecules

select resn URE

# should count 11 molecules

count_molecules_in_selection 

# change the selection and try again

select polymer

# should return 3, as there's 3 chains

count_molecules_in_selection

The Code

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

def count_mols_in_sel(sel="sele"):

   """
   Returns the number of distinct molecules in a given selection.
   """
   sel_copy = "__selcopy"
   cmd.select(sel_copy, sel)
   num_objs = 0
   atoms_in_sel = cmd.count_atoms(sel_copy)
   while atoms_in_sel > 0:
       num_objs += 1
       cmd.select(sel_copy, "%s and not (bm. first %s)" % (sel_copy, sel_copy))
       atoms_in_sel = cmd.count_atoms(se ..→
A Random PyMOL-generated Cover. See Covers.