Biochemfusion

Download Report

Transcript Biochemfusion

Interfacing to MarvinSketch
- the "API-free" solution
Jan Holst Jensen
CEO, Biochemfusion
- Enabling biochemformatics
[email protected]
ChemAxon UGM 2009
A need for chemistry ? Yes.

Biochemfusion's Proteax



Registration and analysis of
modified protein structures
PLN text
H-QC(1)IC(1)SLYC(3)N-OH.
H-A[Gla]LVC(3)GER-OH
name="Example protein." id=EXA_PROT
Oracle cartridge + spreadsheet
solution (Excel or OpenOffice
Calc)
Sequence format transforms
NH2
O
OH
CH3
CH3

Sequence to chemical
structure translation
H
N
H
O
H
N
N
H
O
H
N
O
N
H
O
S
H
N
O
H
N
N
H
O
N
H
O
CH3
S
OH
O
S
N
H
CH3
O
H
N
N
H
OH O
O
H
N
H3C
O
OH
O
CH3
H
S
O
N
H
H
N
O
O
N
H
H
N
O
OH
O
CH3
O
OH
NH
H2N
ChemAxon UGM 2009
NH2
O
CH3
CH3
[email protected]
O
OH
NH
Mapping sequence to structure

Each residue code mapped to a
residue structure



Standard amino acids - built-in
H-QC(1)IC(1)SLYC(3)N-OH.
H-A[Gla]LVC(3)GER-OH
Custom residues - defined by
modification database
Stitch resulting residue structures
together, add terminals, add
crosslinks - done.
NH2
O
OH
CH3
CH3
H
N
H
O
H
N
N
H
O
H
N
O
N
H
O
S
H
N
O
H
N
N
H
O
N
H
OH
O
S
CH3
CH3
H
N
H
H
N
N
H
OH O
O
OH
O
CH3
O
H
N
H3C
O
S
O
N
H
H
N
O
O
N
H
H
N
O
OH
O
CH3
O
OH
NH
H2N
ChemAxon UGM 2009
NH2
O
O
CH3
S
CH3
[email protected]
O
OH
NH
Residue modification database
Dbl-click
[email protected]
ChemAxon UGM 2009
Live demo
[email protected]
ChemAxon UGM 2009
Normal edit workflow

Write molecule to temporary molfile

Start editor (MarvinSketch.exe)

Passing temporary molfile on command line

Use CreateProcess(), save returned process id

Wait for editor process exit...

...or temporary file change (editor saved file)


in this case: request editor close (see next slide)
Read molecule back in from temporary file
[email protected]
ChemAxon UGM 2009
Cancelling edits

Post WM_CLOSE message to main window of editor
process

Main window of editor process is found by

Enumerating all windows

Choosing the first window that belongs to editor process and

is visible, has a title and is not a child window
Probably not fool-proof but is observed to work in general


Rely on editor's normal WM_CLOSE response

Just like an end-user closing the main window
[email protected]
ChemAxon UGM 2009
Ups and downs
Pros
Cons
Extremely simple concept. Relies on
standard OS conventions instead of
vendor APIs.
Loosely coupled - works with many
editors from different vendors without
custom wrapping
May be slow - application startup time
is suffered for each edit operation
Loosely coupled - no way to intercept
events or customize editor experience
Loosely coupled - more resistant to
Loosely coupled - less control over
versioning issues
versioning
Some editors are less well-behaved
and won't work with this
[email protected]
ChemAxon UGM 2009