Vida, Visualization and Visions - PowerPoint PPT Presentation

1 / 17
About This Presentation
Title:

Vida, Visualization and Visions

Description:

Designed as a small molcule visualization application. Focused on large ... Rotations, translations, rotamer library, append/prepend residue, mutate, etc. ... – PowerPoint PPT presentation

Number of Views:54
Avg rating:3.0/5.0
Slides: 18
Provided by: eyes7
Category:

less

Transcript and Presenter's Notes

Title: Vida, Visualization and Visions


1
Vida, Visualization and Visions
Jon Christopher Kevin Schmidt OpenEye Scientific
Software Sunday February 29, 2004
2
Where we came fromThe original plan for VIDA
  • Designed as a small molcule visualization
    application
  • Focused on large numbers of molecules
  • OpenEye's entry into visualization
  • Lots of effort by Joe

3
What happened Why VIDA has had problems
  • VIDA began to be used more widely
  • Feature creep - or how we blame the customers
  • As VIDA grew, people wanted more
  • VIDA began to do things outside of the original
    plan
  • Relied heavily on OELib
  • Upgrade was going to be long and difficult

4
What happened cont.
  • New stewardship of VIDA meant some new issues
  • VIDA grew outside its goals and design
  • As more features were shoe-horned in, problems
    grew
  • VIDA became large and fragile.

5
So now what?Why hasn't there been a new
release?!
  • Needed a strong visualization and application
    framework
  • Needed to be OEChemplete
  • Make it easier to control development
  • Easier to add (and remove) features
  • Divide it up into workable parts

6
So now what? cont.
  • Needed to refocus VIDA back to small molecules
  • Building other visualization applications
  • Application front ends
  • Protein visualization
  • Modelling
  • Make it STABLE

7
No, really, what have you been doing?Enough
talk!
  • The OpenEye visualization and application
    framework
  • OEgg A new graphics library
  • OEDepict A 2D depiction library
  • OERepository A molecule database
  • OEInterpreter An extensible python iterpreter
  • OEMessageBoard A way for everyone to talk nicely
  • Kernels Provides access to the above and to a GUI

8
Put these together...So what?
  • Combine the previous parts with visualization
    modules to make an application
  • 3D, 2D viewers
  • List browsers
  • Modelling modules
  • Python Interpreter
  • More..

9
Why this is goodWhy is this good?
  • Easier to manage a few smaller parts than one
    massive piece
  • Can easily extend any application
  • Can share parts between applications
  • Makes development easier
  • Makes the application stable

10
(No Transcript)
11
AFITT Advanced Fitting Tool
  • Bring OE Expertise to bear on Crystallography
  • 2-year partnership with 5 industry partners
  • Project kickoff at CUP IV
  • Features
  • OEChemplete (handles small molecules well)
  • Based on OEVidafitt kernel
  • Python scriptable

12
(No Transcript)
13
AFITT Modeling Featureswhat does it do?
  • All the standard stuff
  • Rotations, translations, rotamer library,
    append/prepend residue, mutate, etc.
  • Stuff you wish was standard
  • Structure Generation SMILES to 3D
  • Refinement constraint generation
  • Ligand fitting
  • MMFF -based geometric refinement

14
A little Python on the side
import oechem import oerepo import
oeomi _smilesMoloechem.OEMol() def
GenerateFromSmiles(str) global _smilesMol
genoeomi.OEFF3DGenerator()
oechem.OEParseSmiles(_smilesMol, str)
gen(_smilesMol) oerepo.OERepoAddCopy(_smilesMo
l.SCMol()) GenerateFromSmiles(PromptStrin
g())
15
A little more Python
def LoadPDB(id) if (id "") return
import httplib print "Contacting www.rcsb.org"
connhttplib.HTTPConnection("www.rcsb.org")
conn.request("GET", "/pdb/cgi/export.cgi/" id
".pdb?formatPDBpdbId" id) r1
conn.getresponse() if r1.status 200
datar1.read() if len(data) gt 0
conn.close() fopen(id ".pdb", "w")
f.write(data) f.close() Open(id
".pdb") else raise IOError, "PDB id
not found" AddButtonToMenu(File", "Open from
PDB", 'LoadPDB(PromptString("Enter PDB id"))')
16
Keeps on slithering
def GetCompound(registryNumber) dbcConnectToCor
porateDatabase(yourdatabase) sqlselect smiles
from compounds where regnums dbc.sth.execute(s
ql, registryNumber) comdbc.sth.fetchone() if
(com!None) GenerateFromSmiles(com) AddButtonTo
Menu(File", "Open from DB", 'GetCompound(PromptS
tring("Enter registry number"))')
17
The not-so-distant future
  • Loop construction
  • More refinement options
  • More QC
  • Database integration
  • Sequence/homology modeling?
  • Residual density analysis
Write a Comment
User Comments (0)
About PowerShow.com