Survey							
                            
		                
		                * Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Interfacing to MarvinSketch - the "API-free" solution Jan Holst Jensen CEO, Biochemfusion - Enabling biochemformatics jan@biochemfusion.com 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 jan@biochemfusion.com 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 jan@biochemfusion.com O OH NH Residue modification database Dbl-click jan@biochemfusion.com ChemAxon UGM 2009 Live demo jan@biochemfusion.com 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 jan@biochemfusion.com 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 jan@biochemfusion.com 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 jan@biochemfusion.com ChemAxon UGM 2009