Presentation on theme: "Solutions for Cheminformatics"— Presentation transcript:
1Solutions for Cheminformatics Migration from ISIS environmentSzabolcs Csepregi et alNovember 20081
2Migration - Topics ChemAxon - Product Overview From Isis/Host and MDL Direct to JChem CartridgeAlternatives to Cheshire (Standardizer)From ISIS/Base to Instant JChemFrom ISIS for Excel To JChem for ExcelMigrating Custom ApplicationsChemAxon Web ServicesAppendix: ChemAxon for Developers (Resources)
5The Marvin family MarvinSketch MarvinView MarvinSpace MarvinSketch/ViewMarvinSpaceThe Marvin familyMarvinSketch MarvinView MarvinSpaceAvailable as Java applets for HTML pages and Java beans for standalone apps (full API)Structure, query & reaction editingIndividual and structure table visualizationPublication quality macromolecule visualization
6Marvin Development History 199819992000200120022003Applets, Molfiles, stereo support, Windows, UnixSDF, RDF, XYZ animations, CML, templates, compressed formats, Swing, 3D modelsSMILES, SMARTS, PDB, Rgroups, isotopes, shortcuts, Marvin BeansBall and stick JPG, PNG, SVG, Cut&Paste with Isis/ChemDraw, 2D cleaning, (de)aromatization, reaction drawingMac support, signed applets, Java Web Start, atom mappingPartial charge, pKa, logP/logD, 3D optimization, radicals, abbreviated groups20082004200520062007Marvin file format, enhanced stereo, shapes, text boxes, multiple groups, link nodes, TPSA, recursive SMARTS, Donor/Acceptor, electron arrows,Tautomers, resonance, lone pairs, conformers, 3D sketching, MarvinSpace,Topology analysis, presentation quality graphics,...More Plugins,more R-groups,EMF, PDF and Mol2,Improved property storage in MRV, SDfiles and Rdfiles..NET support in MarvinBeans.Structure to name, Coordination compounds, Polymer drawing, OLE, Markush enumeration pluginConfigurationsName to structure, OLE 2,Chemical TermsCustomizable GUI6
7Calculator Plugins Elemental Analysis IUPAC Name Protonation A variety of structure based calculations are available from the Marvin GUI, cxcalc command line tool and the API. The calculations are widely used within several JChem tools and are available as functions of Chemical Terms expressions.Elemental AnalysisIUPAC NameStandard IUPAC NameProtonationpKa, Major Microspecies, Isoelectric PointPartitioninglogP, logDChargeCharge, Polarizability, Orbital ElectronegativityIsomersTautomerization, Resonance, StereoisomerConformationConformer, Molecular DynamicsGeometryTopology Analysis, Geometry, Polar Surface Area (2D), Molecular Surface Area (3D)Markush enumerationOtherHydrogen Bond Donor-Acceptor, Huckel Analysis, Refractivity
8Chemical Naming Structure to Name/ Name to structure Supported nomenclatures :Chains, Monocycles/ Traditional names with and without heteroatom/ Spiro ring systems/ Ethers/ Common characteristic groups, Ionic compounds/ Unlimited number of atoms and rings/ All atom types /Stereochemistry/ etc.Usage:drag&drop or copy&paste to MarvinSketchLabel updated in real-timeAutomatic format recognitionBatch from command line
9JChem family JChem Base JChem Cartridge Instant JChem Fast substructure and similarity searchingTight Oracle SQL integrationDesktop application for scientistChemAxon’s proprietary database structureArbitrary database structureAccess local and remote databases
10JChem development history 20002001200220032004Oracle, MySQL, SQLServer, Access, hashed fingerprints, substructure and similarity searchClustering, diversityDB2, PostgreSQL, Rgroup searchingReaction searching, fragmentation, reaction processing, standardization, pharmacophores, screeningCartridge, enhanced stereo searching, recursive SMARTS, Chemical Terms, virtual synthesis2005200620072008R-decomposition, R-enumeration, reaction library, custom fingerprints, random synthesis, link nodes…Tautomer search, Instant JChem reaction similarity, Library MCS, GUI for Standardizer/ Reactor …Calculated columns, Installer,Tautomer Duplicate filtering, Query tables, Markush tables,Speed enhancements for JChem Cartridge,form design, relational data for Instant JChem ...Position variation queries,Instant JChem:- Federated search,- Cartridge support...JChem for Excel
11Structural Search http://www.chemaxon.com/Structural_Search.ppt JChem BaseJChem BaseFeaturesFast and sophisticated searching (chemical and non-chemical data, Chemical Terms filter, many options)Custom standardizationCalculated columnsCombinatorial Markush structure tablesInterfacesIntegration with most relational database enginesJChem Cartridge for tight Oracle SQL integrationJSP integration – open source web exampleDesktop-ready through Instant JChemDB2
12Searching in combinatorial Markush structures Combinatorial Markush structure registration and searchMarkush features handled in search & enumeration:R-groups (nesting to any depth)Atom lists, bond listsPosition variation bondLink nodesCompatible Markush enumeration pluginNot all query features supportedDetailed description:12
13JChem Cartridge for Oracle Access JChem functionality via SQL functionsAll search features of JChem BaseJChem index for chemical data in arbitrary database structureChemical filters and property predictors using Chemical TermsStandardization (structure canonicalization) during registrationStructure format conversions2D, 3D image generationLibrary enumeration using virtual reactions and Markush structures
14Instant JChem: http://www.chemaxon.com/conf/Instant_JChem.ppt Desktop application for local and remote chemical database management, search and structure based predictionSimply connect to external databases and share your native database simultaneouslyPowerful search functionalitiesScalable – explore large datasets (106 +)Dynamically predict properties using Calculator PluginsApply canonicalization rules for import and viewingWide import / export optionsMerge data sets into a single setVery active development – what do you want to do?14
15JChem for ExcelMicrosoft Excel integrated solution for Marvin and JChem functionalityUse Excel’s powerful features: Functions, Sorting, Filtering, Charts…Implemented in C# .NET, and Visual StudioProof that ChemAxon APIs can be used in a Java-less .NET environmentEasy to install and deployUNDER DEVELOPMENT
16Canonicalization with Standardizer Structure canonicalizationMesomersTautomersSolvent and counter ion removalAromatization, dearomatizationExplicit/implicit hydrogen conversionStoichiometry expansionStereo manipulations2D cleaningTemplate based cleaningCustom rulesAvailabilityJChem Base, Cartridge & IJCAPI (Java and .NET)Batch processingGUI
17Drug discovery tools JKlustor Screen Fragmenter Reactor Profiling, analysis, diversityVirtual screening by topological descriptorsFragmenterReactorLibrary profiling and reactant generationVirtual reactions and synthesis17
18Migration - Topics ChemAxon - Product Overview From Isis/Host and MDL Direct to JChem CartridgeAlternatives to Cheshire (Standardizer)From ISIS/Base to Instant JChemFrom ISIS for Excel To JChem for ExcelMigrating Custom ApplicationsChemAxon Web ServicesAppendix: ChemAxon for Developers (Resources)
19Contents A short introduction of JChem Cartridge MDL/Symyx features in JChemMigration from MDL/Direct and ISIS/HostMigration case studies and user feedback19
20Purpose of JChem Cartridge Access JChem functionality using SQL:SELECT count(*) FROM nci WHERE jc_contains(structure, 'Brc1cnc2ccccc12') = 1Access JChem in any programming environment offering Oracle connectivity (.NET, Java, Perl, PHP, Python, Apache mod_plsql...)Execute SQL queries efficiently using extensible indexesPrecompute chemical information on structures by creating jc_idxtype indexes:CREATE INDEX jcxnci ON nci(structure) INDEXTYPE IS jc_idxtypeThe jc_idxtype implementation scans the indexed column for eligible structures in one single performance-optimized operation: domain index scan20
21Features of JChem Cartridge Adds chemistry knowledge into the SQL language of Oracle (SELECT, INSERT, UPDATE, ...)Substructure, superstructure, exact structure, similarity searchingFast: typically 10k hits in 3M structures within a secondComplex chemical expressions using the Chemical Terms language that includes logP, pKa, ...Automatic property calculation during registrationStandardization (canonicalization) during registrationStructure format conversions (MRV, Molfile, SDfile, RDfile, SMILES, CML, etc.)2D, 3D image generationStructure enumeration using reaction rulesInteraction with Oracle optimizer21
22Operators and functions jc_compare: substructure/similarity/exact searching combined with Chemical Terms expressionsjc_matchcount: number of occurences of the query structure in the targetjc_evaluate: Chemical Terms evaluationjc_molweight: molecular weightjc_formula: molecular formulajc_react: structure enumeration based on virtual reactionsjc_standardize: structure canonizationjc_molconvert: conversion to different formats (image generation is supported)jc_tanimoto: similarity searchjcf.hitColorAndAlign: substructure coloring and alignmentSimilarity search example displaying ID, SMILES code, and molweight:SELECT cd_id, cd_smiles, cd_molweight FROM my_structures WHERE jc_tanimoto(cd_smiles, 'CC(=O)Oc1ccccc1C(O)=O') >= 0.8;22
23Structure search features Wide range of query atomsQuery propertiesR-group queriesFull SMARTS supportCoordination compoundsLink nodesPosition variationPseudo atomsLone pairsRelative stereoReaction search featuresHit coloringSee detailed information on structure search:
24Search options Chemical Terms filter constraint Tautomer search sp hybridization state checkStereo on/offIgnore charge/isotope/radical/valence/mixture bracketsVague bond matching modes: „or aromatic”; ignore bond typesInverse hit listMaximum search time / number of hitsSQL SELECT statement for pre-filteringOrdering of resultsetc.
25Compatibility and integration File formats:SMILESMDL molfile (v2000 and v3000)MDL SDFRXNRDFMRVIUPAC name, InChIOperating systems:WindowsLinuxSolarisHP-UXetc.DB engines:Oracle versions 9i R2 or abovefor alternative RDBMS systems, see the JChem Base presentation:
26Index parameters Index parameters affect: Examples: Fingerprint attributesStandardizer configurationTable space and storage options of the index tableExamples:Standardization by stripping hydrogens and using basic aromatization:CREATE INDEX jcxnci ON nci(structure) INDEXTYPE IS jc_idxtype PARAMETERS('STD_CONFIG=dehydrogenize:optional..aromatize:b')Add structural keys to fingerprint for more efficient substructure searching (structural keys are defined in table stfp_keys):CREATE INDEX jcxnci ON nci(structure) INDEXTYPE IS jc_idxtype PARAMETERS('STRUCTURALFP_CONFIG=select structure from stfp_keys')26
27Supported Column Types VARCHAR2: typically for short formats, e.g. SMILESCLOBBLOBfor longer formats, e.g. MDL molfile,Marvin (mrv)27
28MDL Feature Compatibility The learning curve of chemists familiar with ISIS is very short. After having some practice, Marvin is reported a more productive drawing environment. The most of the MDL features are available in Marvin and JChem, and many others not available in MDL technology.Generic atom types and bond typesAtom query propertiesAtom Lists/ not listsAliasesPseudo atomsAtom valuesGroup and bracketsAbbreviated groupsMultiple groupsRepeating unitsPolimersMixturesAttached DataLink NodesR-groups, R-logicStereochemistryChiral flagParityDouble bond stereoEnhanced stereo (abs/end/or)inv/retReacting center on bondsReaction mappingTopology (ring/chain)Option for ISIS-like lookOthers…
29MDL Feature Compatibility What is missing:Polymer search (coming in 5.2)Attached data S-group search (coming in 5.2)3D special featuresExact change flag (reaction)
30Migration from MDL/Direct cartridge 2 alternatives:JChem indexes need to be created on structure columns of existing tables, orStructural data migrated to new tables with JChem Cartridge indexesThe MDL/Direct SQL operators need to be changed to JChem operators in all uses.Non-chemistry tables: no need for migration
31Migration from ISIS/Host Molecule source need to be accessible for JChem:Through exporting SD/Rdfiles from ISIS and importing into new tables with JChem index, orSetting option in ISIS/Host to include molfile in RCG tables, and:Use SQL to insert mol field into JChem tables, orAdd JChem index on original tablesISIS/Host interfaces need to be rewritten to use SQL only, referencing JChem operators.Hviews and GUI-s need to be replaced separately. (See further slides later.)Non-chemistry tables: no need for migration
32An Independent Comparison FMC migrated from MDL® ISIS/Base ISIS/Host to ChemAxon’s JChem. They later published their detailed scientific comparison.Used 1.8 million vendor compounds to create a testing databasePrepared 115 different query structures for comparison51 simple sub-structure search51 similarity search64 complex searchIdentical search hits in almost all cases, major differences result from MDL’s incorrect aromatic bond definitions in case of 5 member aromatic rings. ChemAxon's approach is the chemically correct and their performance is higher (faster).
35Vague BondsFor the sake of perfect compatibility with MDL searching ChemAxon provides vague bond options to retrieve results according to MDL systems.
36Technical Comparison Supported Platforms Supported Databases ISIS®: Sun Solaris, Windows ServersJChem: Sun Solaris, Windows Servers, Linux, Irix, MACSupported DatabasesISIS: OracleJChem: Oracle, MySQL, SQL Server, PostgreSQL, Access, DB2Processing SD FilesISIS: 31 hours, Pipeline Pilot & ISISJChem: 11 hours, JChemTechnology TransparencyISIS®: Unclear Data/Table StructuresJChem: Clear Understanding ofFlow of DataStructure of DataExecution ProcessNative Oracle Tables and ProceduresPerformanceISIS®: Slow similarity searchJChem: Fast similarity search
37Comparison Conclusions Technical ConclusionClear and straightforward understanding of data representation and system architectureIntegrated systemQuicker and less error-proneLess hassle for software developmentFrom technical point of view, ChemAxon is favorableBusiness ConclusionChemAxon was the better choice
38Migration Experience Questionnaire Five companies were interviewed about their JChem Cartridge migration experiences in the form of a questionnaire containing 14 questions.A UK based service/biotech companyA Swedish biotech companyA US branch of a Swiss pharmaceutical companyA Japanese pharmaceutical companyA US branch of a Japanese pharmaceutical company
39Migration Experience1. What was the platform you used before the migration?All systems were run using the Daycart cartridge on Linux serversMDL Cartridge running on Sun SolarisDaycartWe used ISIS/Host as a server, the client was ISIS/Base customized using ISIS/PLDaylight and IDBS Chembridge2. How long did it take to migrate?Very simple, hardly any time at all, just a few hours to uninstall old cartridge, install new cartridge and build indexes. Then modify a few SQL statements in the code to use the new cartridge functions.It took a full weekend to switch over and convert all old databases.Since we use SQL for structure searches, the actually change in the application code are few. Code changes takes about 1 day. However, we spent at least two weeks to compare the daylight and jcart.It took 1 year for planning, and another 1 year for designing and developing the system. 1-year-migration time includes all of the operation that is needed. That means our technical people worked for this project 1 year. We migrated the data structure of HView, but the form was re-designed in order to fit our existing (wet) workflow.Two months
40Migration Experience3. How many technical people were required in the migration process?It was fairly simple so just one developer with all round programming, database, and chemistry knowledge.One person2 people6 technical people. 2 were contacting with users. For the system design, 11 users were involved from chemistry, HTS, eADME groups.1.54. Why did you decide on leaving the previous platform? (problems)Purely the cost. We found the Daycart system to be very good, very stable, fast, and the API was well thought out. However, it was just too expensive for us.Old technology not offering new functionality. High cost, in particular for new licenses.Daycart (at least at that time) did not take MOL query, not all query structures could be correctly presented as smiles/smarts.Two main reasons were the maintainance cost, and the accessibility. We had to suppress the raising system (software) cost, and at the same time we had to enlarge the number of users and client PCs from which we could use DB system.Cost, maintenance and risk
41Migration Experience5. What alternative platforms were considered/evaluated?Prior to selecting ChemAxon we looked at all the cartridges available at the timeThe Accord cartridge was also evaluated. Some others did not qualify for evaluation.NoneAccord (Accelrys), and ChemOffice (Cambridge Soft) were two major alternatives.Symyx/MDL Direct Oracle cartridge6. Why did you choose ChemAxon technology? (advantages)Cost was a major factor, but also because we felt we could work with ChemAxon to develop the tools further as we wanted to use them. A very open approach. Another reason was that all the tools we needed were available from a single vendor, i.e. Oracle cartridge for searching, and sketching and viewing tools.Almost as good as Accord but with better impact on improvement and support.Marvin Sketch and JCart represent the molecules in MOL using exactly the same backend library. MOL is used instead of smiles/smarts. Much faster search. Price is good .We could keep the cost lowest by using ChemAxon, and more than that, the affinity for the web technology was favorable to our future vision of the cheminformatics system.The greatest advantage is the low cost and great support. We have always had MDL/Direct cartridge, but the greatest advantage is the low cost and stellar support speaks specifically to ChemAxon.
42Migration Experience7. What were the most problematic issues occurred during the migration? (negative impressions)Understanding the finer points of all the search functions / options i.e. precisely how things like aromaticity, stereochemistry, etc. are handled. We've also had to spend time considering how to restandardise structures and how to rewrite SQL. When doing a straight forward structure search (i.e. benchmarking), the JChem cartridge performs very well against other systems such as Daylight, however, if you want to incorporate joins between tables can considerably affect the query times even when using what we call ChemAxon SQL.Structure matching bugs in the cartridge and undocumented actions needed to be performed.JCart installation was not so smooth 3 years ago. Much better now. Most of the problem and issues are because some structures are interpreted different between the two software. Some are Daylight bugs and others are jchem bugs. JChem has fix all their share.There were little problem, what I remember is that the response was slower than expected when the chemical object was included in the page.Identifying all the integration points.
43Migration Experience8. How could you overcome in these difficulties? (resolutions)We spent a lot of time experimenting with the different functions/options so we completely understand what they do.The structure search bugs was overcome by rewriting the registration procedures, undocumented actions were overcome by hard work.Wait until major bugs in JChem are fixed. We live with about 0.01% of inconsistencies and work it out later.The needless chemical objects were replaced by pictures.Availability and quick turn around to patch any9. Did you expect any other problem, that did not occur? (positive impressions)We though there may be problems running two different cartridges on the same table but this worked fineNot really. Most MDL features were available in JChem. This was one of the selection criteria, particularly important for chemical registration.NoWe expected that the transfer of the existing data might be problematic, and that the system change might be inconsistent with existing 'wet' workflow. That was why we organized 11 users as a system designing team, and I think the team worked well.Migration went very smooth
44Migration Experience10. What additional components were purchased together with the JChem Cartridge?Most of them!Descriptor calculations.None. User probably should consider plug-ins for calculating HBD, HBA, logp, psa, etc. We did not because we need to stick to CLOGP in order to be consistent with the rest of the company.Standardizer.11. How much technical support did you need from ChemAxon for the migration?Initially quite a lot, though the products have been developed a lot since then. We haven't required much support for structure migration, but we've also migrated a load of SMIRKS and we've needed support for that mainly because of the way in which they were handled in the old system (non-standard).A few needed support cases where filed on the support forum and fairly quickly resolved.Lots, we had close communication with dev team during the migration.Our technical people sent several times to your support team.Little.
45Migration Experience12. Were/Are you satisfied with the ChemAxon support?Yes. Support has always been good.Yes very satisfied. The support has always been very fast and accurate.Yes.13. Did the migration reach its original goals?So far, yes! The systems are up and running.
46Migration Experience14. Are you satisfied with the performance/functions of the ChemAxon powered system?The number of functions available and flexibility of the JChem tools is excellent, and allows us to develop very interesting and useful drug discovery software for our scientists.Yes.
47Useful migration resources ChemAxon's Marvin & JChem (v 3.1.3) vs. MDL® ISIS/Draw ISIS/Host (v 4.0) Seong Jae Yu, David Roush*, Usha Ganesh, Young Moon, Henry Liu, FMC Corp.Cart_xnotes.pptUser Group Meeting presentations:47
48Migration - Topics ChemAxon - Product Overview From Isis/Host and MDL Direct to JChem CartridgeAlternatives to Cheshire (Standardizer)From ISIS/Base to Instant JChemFrom ISIS for Excel To JChem for ExcelMigrating Custom ApplicationsChemAxon Web ServicesAppendix: ChemAxon for Developers (Resources)
49Cheshire Alternatives from ChemAxon What is Cheshire?“Cheshire is a scripting language that enables you to write scripts to validate, modify, or gather information about chemical structures, such as molecules and reactions.”What alternatives can ChemAxon offer?ChemAxon’s Java API (also available from .NET)Chemical TermsStandardizer
50Java API for Cheminformatics from ChemAxon ChemAxon’s class library consists of more than 1500 chemistry related classes tuned for usability and high performance.
51Chemical TermsChemical Terms offers more than a hundred popular chemistry functions opening up the power of cheminformatics for those scientists who focus on quick results instead of the details of programming and scripting. The integration of Chemical Terms makes make chemistry applications smarter and more customizable.charge() and match(amine) or match(hydrazine)
52Standardizer for Batch Conversion Standardizer is a batch conversion utility providing many useful and customizable functions for the canonicalization of chemical structures and restoration renovation chemical information in structures from older databases.
53Standardizer Actions Transform Clear Stereo Aromatize Set Absolute StereoDearomatizeRemove Absolute StereoAdd Explicit HydrogensConvert Wedge InterpretationRemove Explicit HydrogensConvert Double BondsClean2DAlias to Group, Alias to AtomClean3DContract GroupWedge CleanExpand GroupClear IsotopesUngroupRemove FragmentsExpand StoichiometryRemove R-groupsMap ReactionTautomerizeUnmapMesomerizeNeutralize
54Counting Groups – Cheshire Counting O=S=O groups in Cheshire
55Counting Groups – Java API Counting any functional groups with ChemAxon’s Java APICounting O=S=O groups in Chemical Terms
56Adding Explicit Hydrogens - Cheshire Adding explicit hydrogens and cleaning the molecule in Cheshire
57Adding Explicit Hydrogens – Java API Adding explicit hydrogens and cleaning the molecule with ChemAxon’s Java API
58Adding Explicit Hydrogens – Standardizer Adding explicit hydrogens and cleaning the molecule with StandardizerThe same in command line
59Group Conversions – Cheshire Conversion of neutral form of nitro to the ionic one in Cheshire
60Group Conversions – Java API Conversion of neutral form of nitro to the ionic one with ChemAxon’s Java API
61Group Conversions – Standardizer Conversion of neutral form of nitro to the ionic one in StandardizerThe same in command line
62Structure Checker Framework The new Structure Checker framework will provide plenty of validation and correction functions to detect and repair defective or unpreferred structures.ValenceCheckerAromaticityCheckerOverlappingAtomsCheckerOverlappingBondsCheckerCrossedDoubleBondCheckerWigglyDoubleBondCheckerWedgeBondsCheckerBondLengthCheckerBondAngleCheckerAliasCheckerPseudoAtomCheckerAbbreviatedGroupCheckerMultiComponentCheckerQueryCheckerMoleculeChargeCheckerRadicalCheckerIsotopeCheckerExplicitHydrogenCheckerStereoDoubleBondCheckerTetrahedralStereoAtomCheckerUnspecifiedStereoDoubleBondCheckerChiralFlagCheckerCovalentSaltCheckerFerroceneCheckerCumulatedRingBondCheckerUnbalancedReactionCheckerMultistepReactionCheckerAtomMapCheckerMissingAtomMapCheckerAtomMapStyleCheckerRgroupQueryCheckerMarkushChecker3DCoordinateCheckerMolfileCheckerRxnfileCheckerSmilesCheckerSmartsCheckerInchiCheckerPeptideSequenceCheckerCmlCheckerPdbChecker
63SummaryChemAxon’s Java API provides similar freedom and flexibility to Cheshire for programmers to develop chemistry functions for any tears like web clients, desktop applications, server systems and Oracle stored procedures.Java is a standard language with worlwide community, rich resources and lots of well educated developers. (The ChemAxon Java API is also accessible from .NET.)Chemical Terms provides more than a hundred high level, ready to use functions substituting dozens of lines of complex Cheshire code.Chemical Terms expressions can directly be used in database filters, virtual reactions, pharmacophore definitions or other cheminformatics applications.Standardizer is an easy to use batch tool and graphical interface for chemists to create conversion rules without writing a single line of code.The upcoming Structure Checker will provide and extensible set of quick “problem detection” functions that can be integrated in any applications and will be added to Marvin and Standardizer as well.
64Migration - Topics ChemAxon - Product Overview From Isis/Host and MDL Direct to JChem CartridgeAlternatives to Cheshire (Standardizer)From ISIS/Base to Instant JChemFrom ISIS for Excel To JChem for ExcelMigrating Custom ApplicationsChemAxon Web ServicesAppendix: ChemAxon for Developers (Resources)
65Instant JChem is…An “out of the box” desktop application designed for biologists and chemistsA modular platform for developing chemistry applications
66Instant JChem lets users… Create or connect to existing structure databasesEasily manage relational dataImport/export/merge/edit dataBuild forms for reportingRun combined structure + data searchesPerform structure based predictionsAccess sophisticated chemistry featuresCollaborate with other users
67Feature comparison to ISIS/Base Instant JChemDatabasesLocal + Oracle (differences in steroechemistry and calculations etc.).Local + Oracle + MySQL (no differences in local and remote db functionality).FormsForm builder.Tabular viewLimited.Comprehensive.Relational dataHviewDataTree.DeploymentInstaller only.Installer or Java Web Start.Many deployment features.CollaborationMany collaboration and sharing features.Scalability & performanceLimited, especially for local DBs.Good.
68IJC Architecture Built on modular platform API Allows easy extension by ChemAxon, customers and 3rd partiesStrong enforcement of APIsAPIAllows extensionIJC functionality is built upon these APIs
69Current architecture Local DB Remote DB Oracle cartridge IJC Client DatabaseLocal DBRemote DBOracle cartridge
70IJC server architecture DatabaseIJC ClientIJC ServerIJCServices APIOracle cartridgeWeb servicesWeb AppsIJC server due Q1 2009
71Migration issues: general Database artefactsIJC is currently table based. Access to views, synonyms etc. is currently being added.Use of database links has not been investigated yet, but no particular problems expected.Security modelCurrent implementation provides basic access control:Read-onlyRead-writeEdit database modelUsers can create forms/lists etc. even in read-only mode, but can’t modify data that affects other users.Security integrationLDAP is probably the most suitable, but the security implementation is quite flexible and customisable.
72Migration issues: migration of ISIS DBs Hview vs. Data TreeNo direct conversion, so this would currently need to be done manually, though some automation is potentially possible.Data Tree is modelled on the same approach as Hview, so migration in most cases should be relatively simple.FormsNo direct import from ISIS, but creating IJC forms is very simple and fast.CustomisationCurrently no equivalent to ISIS/PL. ISIS applications with complex logic may be more suited as IJC extensions, or as standalone web or JWS applications.
73Hview vs. Data Tree: standard tables ISIS HviewHVIEW my_dataTREE masterDEVICE oracleUSERNAME scottPASSWORD tigerTNAME master_tableTREE detailTNAME detail_tableLINK master (master_table_id) over detail (master_table_id)One-to-many relationshipmaster_tablemaster_table_idcol1col2col3detail_tabledetail_table_idmaster_table_idcolacolbcolc*IJC Data Tree
74Hview vs. Data Tree: Mol + Rxn tables ISIS HviewHVIEW cpds_invTREE compoundsDEVICE chemicaldbUSERNAME CPD/CPDPASSWORDTNAME compoundsTREE inventoryDEVICE oracleUSERNAME scottPASSWORD tigerTNAME inventoryLINK compounds (molregno) over inventory (molregno)< RC tables>inventoryinventory_idmolregnocolacolbcolc*compoundsmolregnostructure [jc_index]inventoryinventory_idcolacolbcolc*IJC Data Tree
75Migration optionsSimple local or Host based databases used primarily for searching/reportingMigrate to IJCISIS/Base application with complex application logic but standard (Hview based) data structure(e.g. registration applications)Create custom IJC extension module built upon IJC API(much of the existing IJC functionality is essentially done this way)Application with complex data model and logicEither: Create standalone web applicationor: Create standalone JWS applicationor: Create custom IJC module that defines its own data access API.
76Migration: local ISIS databases Analyse data hierarchyExport data as SDF/RDFImport into IJCBuild formsMaybe possible to automate by writing COM application to read data from ISIS and write to Oracle database.
77Migration: ISIS/Host databases Analyse database tables and HviewMigrate RCG tables to JChem table(s)Connect IJC to the databasePromote tables/columns/foreign keys into IJCAssemble IJC Data TreeBuild formsMay be possible for some automation.
78Migration - Topics ChemAxon - Product Overview From Isis/Host and MDL Direct to JChem CartridgeAlternatives to Cheshire (Standardizer)From ISIS/Base to Instant JChemFrom ISIS for Excel To JChem for ExcelMigrating Custom ApplicationsChemAxon Web ServicesAppendix: ChemAxon for Developers (Resources)
79JChem for ExcelMicrosoft Excel integrated solution for Marvin and JChem functionalityUse Excel’s powerful features: Functions, Sorting, Filtering, Charts…Implemented in C# .NET, and Visual StudioProof that ChemAxon APIs can be used in a Java-less .NET environmentEasy to install and deployUNDER DEVELOPMENT
80ISIS for Excel to JChem for Excel Import ISIS SARTables (January 2009)Workbook exported from ISIS for ExcelMigration of standard ISIS Workbooks?
81Migration - Topics ChemAxon - Product Overview From Isis/Host and MDL Direct to JChem CartridgeAlternatives to Cheshire (Standardizer)From ISIS/Base to Instant JChemFrom ISIS for Excel To JChem for ExcelMigrating Custom ApplicationsChemAxon Web ServicesAppendix: ChemAxon for Developers (Resources)
82Custom Applications Java Applications .NET Applications Swing.NET ApplicationsJNBridge: Commercial Java - .NET ProxyByte Code to IL (.NET binary) translation (IKMV)Open Source, very good performanceNo full GUI support at the moment, but comingJChem for Excel is built using IKVMWeb Based ApplicationsJSP, ASP.NET, AJAXSOAP
83Custom Components Plans to release custom components Java Swing AJAX Examples.NETVisual Studio integratedWindows Forms (from JChem for Excel),WPF?ASP.NETASP.NET AJAX, MVC
84.NET Integration Enhancements Problem : ChemAxon API uses Java Classes, not familiar to .NET developersHigher Level .NET wrappers, componentsProperties, EventsSearch results in DataSet, IDataReaderLINQ, IEnumerable interfacesGUI Components: DataGridView, Property Grids, Components for Search
85Custom Application Migration and Development Resources and experience for migrating custom ISIS(Host - Base) based applicationsISIS Forms to other applicationsProcedural Language (ISIS/PL)ConsultationHelp with custom application development on ChemAxon platformBoth in-house (CXN) staff and partner companies are availableCustom/prioritised improvements of ChemAxon products
86Migration - Topics ChemAxon - Product Overview From Isis/Host and MDL Direct to JChem CartridgeAlternatives to Cheshire (Standardizer)From ISIS/Base to Instant JChemFrom ISIS for Excel To JChem for ExcelMigrating Custom ApplicationsChemAxon Web ServicesChemAxon for Developers (Resources)
87Web Services Extends ChemAxon functionality to Web applications Enables interoperability from multiple programming languages with SOAP ProtocolAllows migration of existing web applications to ChemAxon servicesEncourages creation new web applications8787
88Service Modules Application Building Blocks DB SearchingSubstructure, Similarity, Exact, etc.Molecular StandardizationClustering and DiversityChemically Intelligent ToolsShorthand Chemical Terms and Calculator PluginsLipinski Rule of 5, pKa, logP, logD, etc.Molecular Format ConversionImage Generation8888
91Migration of Existing Web Apps ChemAxon Web Services can be called from existing web servicesChemAxon Web Services can directly replace specific functionalityMigrate using Security StandardsWS-Security, WS-Security PolicyIntegrate with existing authentication services (e.g. LDAP, Active Directory)9191
92Creation of New Web Apps Standard WSDL files allow for automated client side code generation (Python, Perl, Java, C#, etc.)AJAX provides asynchronous and desktop application performanceEasily integrate with Marvin applets9292
93Migration - Topics ChemAxon - Product Overview From Isis/Host and MDL Direct to JChem CartridgeAlternatives to Cheshire (Standardizer)From ISIS/Base to Instant JChemFrom ISIS for Excel To JChem for ExcelMigrating Custom ApplicationsChemAxon Web ServicesAppendix: ChemAxon for Developers (Resources)
94API and Compatibility Java API (Marvin GUI included) Marvin Applets for web applications.NET API over JNBridge (Marvin GUI included)Native .NET solution under development (Marvin GUI included)API from SQL: JChem Cartridge for OracleSOAP interface (Python, C, .NET, ... over SOAP) under developmentAJAX interface under development (Marvin GUI included)Instant JChem highly configurable + Java APIIntegration: Pipeline Pilot, KNIME, Spotfire, ...
95Java API Direct manipulation of structures Format conversions, name<=>structure, image generationStructure searching with/without DB accessStandardization of structuresProperty calculationsReaction modelling (enumeration)ClusteringSketcher, 2D/3D viewers (Marvin family)EtcJChem API
97.NET API Over JNBridge Tight integration with .NET Full Java API is mirrored in .NETMarvin GUI components are also supported
98Native .NET SolutionTranslating the non-GUI elements to Java binary to .NET binary (using IKVM)Building a thin .NET GUI for Marvin and other tools over the core.AdvantagesPure .NET solution, Java is not needed to be installedNo license issueNo performance overhead of proxyingunder development
99JChem Cartridge for Oracle API from Oracle SQLAll features needed for structure handling and searchingFast searching, insertion, and indexingSpecial features:Standardization of structures is tied with structure tablesProperty calculationsFormat conversions, name<=>structure, image generationReaction and Markush based structure enumerationMarkush libraries in structure tables (coming soon)
100SOAP Interface Web services interface to most functionalities Bridges to Python, C, Perl, .NET, Java using WSDLEnables both remote and local access to ChemAxon functionalitiesunder development
101AJAX GUI AJAX components for web applications Customization using CSS and XSLAccesses SOAP interfaceStructure searching, database handling exampleFast and rich GUIFloating windowsScrolling through large database without pagingMarvin Applets are integratedunder development
102Instant JChem for Developers Sharable forms, queries, listsURL-s to sharable items - DemosInstant JChem API