PYTHON FOR STRUCTURAL BIOINFORMATICS - PowerPoint PPT Presentation

1 / 35
About This Presentation
Title:

PYTHON FOR STRUCTURAL BIOINFORMATICS

Description:

Color the selection by atom type and display as sticks and balls. ... Basic representations and coloring. Advanced representations. Editing molecules ... – PowerPoint PPT presentation

Number of Views:162
Avg rating:3.0/5.0
Slides: 36
Provided by: bryan79
Category:

less

Transcript and Presenter's Notes

Title: PYTHON FOR STRUCTURAL BIOINFORMATICS


1
PYTHON FOR STRUCTURALBIOINFORMATICS
2
SCHEDULE
  • I- Background and motivation
  • II - PMV
  • Fundamentals.
  • Main commands.
  • More advanced manipulations.
  • Conclusion

3
I Background and motivation.
  • The challenge
  • Traditional solutions
  • Our solution

4
(No Transcript)
5
The challenge
Visualization
Electrostatics Calculations
Protein Engineering
Folding
Molecular Surfaces
Docking Methods
Modeling
Ab Initio Methods
Sequence Analysis
MM - MD
Etc ...
6
Traditional solution
7
Other solutions.
Traditional
Application centric
8
Our solution
High level language as a scripting environment
9
Writing an application
GRASP
'GRASP'
  • High level coding
  • Code re-use
  • Extensible

10
Why Python ?
Not met by
Our language needed
  • Object-Oriented Tcl, Perl, C,
  • Advanced data structures Tcl, Perl
  • Powerful data-parallel arrays Tcl
  • Readability and modularity Perl
  • High-level C, C, Fortran
  • Platform independence C, C, Java,
  • Interpreted C, C, Java,

11
Python based molecular software
  • Chimera UCSF - Computer Graphics Lab.
  • http//www.cdl.ucsf.edu/chimera
  • MMTK CNRS - Institut de Biologie Structurale
  • http//starship.python.net/crew/hinsen/mmtk.html
  • Pymol Delano Scientific.
  • http//www.pymol.org
  • PyDayLight Daylight Chemical Information
    Systems, Inc.
  • http//starship.python.net/crew/dalke/PyDaylight/
  • MDTools UIUC - Theoretical Biophysics Group.
  • http//www.ks.uiuc.edu/jim/mdtools/
  • ...

12
What did we do so far.
13
II - PMV
  • Fundamentals
  • Commands
  • Specialized extension ADT

14
PMV Architecture
15
Installing PMV
  • 1- Open the demoNPACI folder on your desktop.
  • 2- Double click on icon to install
    PMV.
  • 3- Open the demo directory and double click on
    to start PMV.

16
Using PMV on Unix at TSRI .
  • Set the following environment variable and path
    in your .cshrc
  • setenv TCLLIBPATH /tsri/python/ARCHOSV/lib
  • set path (path /tsri/python/ARCHOSV/bin)
  • set path (path /mgl/apps/bin/share)
  • or
  • alias pmv /mgl/apps/bin/share/pmv

17
An extensible and customizable application.
  • Load commands on the fly
  • loadCommand loadModule commands.
  • Loading the readPDB commands and the
    displayCommands module.
  • File -gt loadCommand -gt fileCommands -gt readPDB
  • File -gt loadModule -gt displayCommands -gt Load
    Module
  • Exercise
  • 1- Load the deleteMol command from the
  • deleteCommands module.
  • 2- Load the colorCommands module.

18
Basic interaction with the viewer
Mouse button
Action
Modifier
Rotation
Right
Right
Scaling
Alt
XY Translation
Control
Right
Z Translation
Right
Shift
Picking
Left
19
An extensible and customizable application.
  • Define Commands to be applied to molecule when
    loaded onAddObjectCommand
  • Loading a molecule displayed as lines.
  • File -gt OnAddObjectCommand -gt buildBondsByDistance
    -gt
  • displayLines -gt Dismisss
  • ! The order in which the commands are selected is
    the order in which the commands are applied to
    the molecule.
  • File -gt Read PDB -gt 1crn.pdb -gt Open
  • Exercise
  • Load a new molecule to be displayed as cpk and
    colored by
  • residue type.

20
An extensible and customizable application
  • User preferences
  • SetUserPreference command.
  • Set for the current session
  • Made as default for the following sessions
  • Customization of the GUI
  • Customize command.

21
An extensible and customizable application.
  • User specific customization files .pmvrc
  • 1- Open the .pmvrc in emacs
  • Right click on the .pmvrc file and send to
  • emacs
  • 2- Start a customized Pmv session
  • Double click on the icon to start a
    new
  • Pmv session.
  • 3- Load molecules
  • Load the protease displayed as lines.
  • Load the indinavir displayed as cpk and colored
    by atom
  • type.

22
Working with PMV
  • Interactive Commands
  • Bind a Command to a mouse picking event.
  • For applying the same command to multiple subsets
    of atoms.
  • Altering the representation of subsets of atoms
  • ICOM -gt displaySticksAndBalls -gt ICOM level -gt
    Residue

23
Working with PMV
  • Undo Command
  • Undo commands stack
  • User preference to set the number of undo.
  • The Delete Molecule command voids the undo
    stack.
  • File -gt Undo last command executed

24
Working with PMV
  • Regular Commands
  • Define the current selection
  • Apply multiple commands to the same current
    selection.
  • Current selection
  • homogeneous
  • empty -gt everything is selected

25
Working with PMV
  • Create a selection of Atoms
  • ICOM -gt select -gt Atom -gt pick and drag
  • select in the viewer.
  • Change to a selection of Residues
  • Icom level Residue.
  • Save the current selection as a set
  • Select -gt Save current selection as a set -gt set1
    -gt OK -gt Clear selection.

26
Working with PMV.
  • Retrieve the saved selection
  • Select -gt Select a set -gt set1 -gt OK
  • Color the selection by atom type and display as
    sticks and balls.
  • Color -gt by Atom Type -gt lines -gt OK
  • Un/Display -gt sticks and balls -gt OK

27
Surfaces, Ribbons, etc...
  • Compute the molecular surface of the protease and
    alter its representation
  • Clear Selection
  • File -gt Load Module -gt msmsCommands -gt Dismiss
  • Select -gt Select From String -gt Molecule List
    -gt
  • protease -gt Select -gt Dismiss
  • Compute -gt Msms For Molecule -gt density 2.0 -gt
    OK
  • Color -gt by Residue Type -gt Rasmol -gt msms -gt OK
  • Clear selection.
  • And more .

28
Working with PMV at a higher level
  • Exercise
  • Represent the protease with a standard
  • Ribbon diagram colored by chains.
  • And more .

29
Cool stuffs ...
  • Using Macros
  • Color the surface of the ligand by the closest
    distance to protease.
  • Accessing the DejaVu functionalities
  • Magic lens .
  • Transparency
  • Tips to create a nice picture.

30
Application design features
  • Dynamic loading of commands
  • Python shell for scripting
  • Dual interaction mode (GUI/Shell)
  • Lightweight commands Macros
  • Command logging
  • Dynamic commands (introspection)
  • User-preferences / customization

31
Application design features (cont'd)
  • Load multiple molecules
  • Hierarchical representation of molecules
  • Create/Select homogeneous sets
  • Current selection concept
  • Commands apply to current selection
  • Interactive commands

32
II - PMV
  • Commands
  • Create, delete, write molecules
  • Selection
  • Basic representations and coloring
  • Advanced representations
  • Editing molecules

33
Create, delete, write molecules
  • Create
  • PDBReader
  • Mol2Reader
  • PDBQReader
  • PDBQSReader
  • PQRReader
  • GeneralReader
  • Delete
  • deleteMol
  • Write
  • PDBWriter

34
Selection
  • From string
  • By picking
  • molecule, chain, residue, atom
  • By distance
  • Displayed lines or cpk
  • Invert selection
  • On chain
  • ...

35
Basic representations and coloring
  • Display by
  • lines
  • cpk
  • sticks and balls
  • ...
  • Label
  • by properties
  • Color geometries by
  • atom type
  • residue type
  • shapely, Rasmol, N to C
  • chains
  • molecules
  • properties
  • secondary structure type
  • ...

36
Advanced representations
  • MSMS molecular surface
  • compute display
  • MSMSMol
  • MSMSSel
  • CA trace
  • compute
  • extrude
  • display
  • Spline
  • compute
  • display
  • Secondary Structure
  • get SS information
  • from file
  • from stride
  • extrude
  • default (rectangle, circle)
  • circle
  • rectangle
  • ellipse
  • ...
  • display

37
Editing molecules
  • AIDE Module
  • ( pyBabel reimplementation of some of
  • the Babel v1.6 functionalities)
  • atom type assignment
  • gasteiger charges calculation
  • atom type conversion
  • rings detection
  • bond order assignment
  • aromaticity detection
  • hydrogen atoms addition

38
Conclusion
  • Validity of the approach
  • Python
  • Availability
  • Future directions

39
Validity of the approach
  • Set of components
  • extensible
  • inter-operable
  • re-usable
  • short development cycle
  • User base expanding beyond our lab.
  • Components re-use outside the field of structural
    biology

It Works !
40
Python
  • Appropriate language for this approach
  • modularity, extensibility, dynamic loading,
    object-oriented, virtually on any platform, many
    extensions from third party
  • Rapidly growing community of programmers using
    Python for biological applications
  • Short comings
  • reference counting, distribution mechanism, no
    strong typing

41
Availability
  • Modularity enables fine grain licensing schemes
    (a la carte)
  • Core modules are freely available
  • Online Download site

http//www.scripps.edu/sanner/Python
42
Future directions
  • Add support for editing molecular structures
    (i.e. mutations, deletion, addition)
  • Interface with MMTK, Tinker, .
  • Enhance documentation and tutorials
  • Setup a CVS server for programmers wanting to
    help !
  • Too many to list .

43
Acknowledgments
  • Christian Carrillo, Kevin Chan
  • Ruth Huey, Fariba Fana
  • Vincenzo Tchinke, Greg Paris
  • MGL at TSRI
  • Pat Walters, Matt Stahl
  • Don Bashford
  • Guido van Rossum Python community
Write a Comment
User Comments (0)
About PowerShow.com