XML/CML Exercises
Prerequisites
The examples here use portable OpenSource tools so that you can re-run these at home. Most assume:
- Java. Java1.4 SDK should be installed on your machine.
- ant. ant1.5 should be installed on your machine.
- Saxon. saxon7.jar (supplied) should be in your CLASSPATH
Basic XML
- XML Schema and document validation. Run Xerces to validate a simple document against a simple schema.
- XSLT. Use Saxon to transform documents
- XSLT. Run simple stylesheets (chemstyle) within a browser (unfortunately only Microsoft)
- XSLT. Use Saxon to transform documents
Jumbo
- cmlAll. compile the complete CML Schema, generate CMLDOM and ancillary information
- creating and compiling a schema. Edit your own CML schema and compile CMLDOM and related components
- JumboMarker. Run example transforming MOPAC to XML (inc. GUI)
- JumboMarker. Create a simple Marker to extract XML from your favourite code. For the avdenturous
Servlets
You should install Tomcat before running these examples. You will need to know Tomcat HOME directory. Most results will be in a cut-n-paste window.
- sdf2cml. upload an SDF or MOL file and convert to CML
- sdf2inchi. upload an SDF or MOL file and convert to INChI
- sdf2cmlrss. upload an SDF or MOL file and convert to a CMLRSS feed
- mopac2cml. upload a raw MOPAC output and convert to CML
Transformations
- mopac2html. Transform MOPAC-XML to HTML
- cml2mopac. Create MOPAC input from cml and params
Legacy converters
A variety of converters from legacy to CML
- OpenBabel. Convert between MOL, SDF, Gaussian, PDB, Mol2, CML-1 and CML-2
- JumboLegacy. Convert MOL, SDF, to CML
- Jumbo-CIF. Convert CIF to CML (inc. GUI)
Dictionaries
- dictionary. Create dictionary entry and run stylesheet linking to it.
- scientific units.
Database
- wwmmMopacHtml. High-throughput MOPAC results
- cmlXindice. set up and search your own Xindice database on MOPAC results
CMLRSS
- cmlrssClient. install your own CMLRSS client and view multiple CMLRSS feeds on the WWW
OpenSource software
Products of a closely coordinated community, to whom many thanks. Java, unless indicated. We may be able to make examples available
- OpenBabel. See above. C++.
- Jmol. Java application/applet for viewing 3D molecules, including animation, vibrations and output of computational chemistry. Used in CMLRSS client.
- JChempaint. Java application/applet for viewing and editing 2D molecules (structure diagrams), including reactions. Used in CMLRSS client.
- CDK. Java library for molecular manipulation, legacy conversion, chemoinformatics, etc. Interoperates with CML-DOM. Used as engine for Jmol and JChempaint and in JumboTools
- JOELib. Java library for molecular manipulation, legacy conversion, chemoinformatics, etc. Interoperates with CML-DOM. Java version of OELib (used in OpenBabel). Strong on substructure searching, molecular descriptors, etc.
Software required
A checklist ...
- java. from http://www.javasoft.com. The JRE is sufficient if you just need to run it - type java -version to check. You need the Java SDK to compile Java or create Javadoc. Type javac to check.
- ant. from http://www.apache.org/jakarta. Needs to be on your PATH.
- Tomcat. from http://www.apache.org/jakarta. Needs to be on your PATH.