Press the Import button to import the molfile into MarvinSketch. Change the molecule (delete some atoms or bonds, draw new ones), select a molecule format from the list, then try the Export buttons. You can import a SMARTS string from the text box by using the Import SMARTS button.
You can validate the text field content and find out it contains a valid molecule source or not. You also can validate against a particular format.
Several Marvin supported file formats demonstrated here.
<form NAME=MolForm onSubmit="return false"> <textarea NAME="MolTxt" ROWS=20 COLS=70> 3,7-Dihydro-1,3,7-trimethyl-1H-purine-2,6-dione Marvin 07099920012D 14 15 0 0 0 0 0 0 0 0999 V2000 -2.0245 -2.6287 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0 -2.0245 -1.0107 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0 -1.7156 -0.0596 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0 -1.4367 -1.8197 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0 -3.8415 -0.8197 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0 -5.5735 -0.8197 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0 -4.7075 -2.3196 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0 -3.8415 -3.8197 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0 -2.9755 -2.3196 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0 -2.9755 -1.3197 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0 -3.8415 0.1803 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0 -5.5735 -2.8197 0.0000 O 0 0 0 0 0 0 0 0 0 0 0 0 -4.7075 -1.3197 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0 -3.8415 -2.8197 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0 5 13 1 0 0 0 0 13 7 1 0 0 0 0 7 14 1 0 0 0 0 14 9 1 0 0 0 0 9 10 2 0 0 0 0 5 10 1 0 0 0 0 4 2 1 0 0 0 0 2 10 1 0 0 0 0 9 1 1 0 0 0 0 4 1 2 0 0 0 0 2 3 1 0 0 0 0 5 11 2 0 0 0 0 13 6 1 0 0 0 0 7 12 2 0 0 0 0 14 8 1 0 0 0 0 M END </textarea> <p> <input TYPE=BUTTON VALUE="Import" onClick="importMol(null)"> <input TYPE=BUTTON VALUE="Import SMARTS" onClick="importMol('smarts:')"> <input TYPE=BUTTON VALUE="Validate" onClick="validateTextField(null)"> <input TYPE=BUTTON VALUE="Validate SMARTS" onClick="validateTextField('smarts')"> </p> <p>Export format: <select NAME="molformat"> <option VALUE="cml">cml</option> <option VALUE="csmol">csmol</option> <option VALUE="csrdf">csrdf</option> <option VALUE="csrxn">csrxn</option> <option VALUE="cssdf">cssdf</option> <option SELECTED VALUE="mol">mol</option> <option VALUE="mrv">mrv</option> <option VALUE="name">name</option> <option VALUE="rdf">rdf</option> <option VALUE="rxn">rxn</option> <option VALUE="smarts">smarts</option> <option VALUE="smiles">smiles</option> <option VALUE="sdf">sdf</option> <option VALUE="sybyl">sybyl</option> </select> <input TYPE=BUTTON VALUE="Export" onClick="exportMol(document.MolForm.molformat.value)"> <input TYPE=BUTTON VALUE="Undo" onClick="undo()"> <input TYPE=BUTTON VALUE="Redo" onClick="redo()"> <input TYPE=BUTTON VALUE="Clean 2D" onClick="clean2D()"> <input TYPE=BUTTON VALUE="Clean 3D" onClick="clean3D()"> </p> </form> <script type="text/javascript" SRC="../../../marvin.js"></script> <script type="text/javascript"> <!--function undo() { if(document.MSketch != null) { document.MSketch.undo(); } } function redo() { if(document.MSketch != null) { document.MSketch.redo(); } } function clean2D() { if(document.MSketch != null) { document.MSketch.clean2D(); } } function clean3D() { if(document.MSketch != null) { document.MSketch.clean3D(); } } function importMol(opts) { if(document.MSketch != null) { var s = document.MolForm.MolTxt.value; document.MSketch.setMol(s, opts); } else { alert("Cannot import molecule:\n"+ "no JavaScript to Java communication in your browser.\n"); } } function exportMol(format) { if(document.MSketch != null) { var s = document.MSketch.getMol(format); document.MolForm.MolTxt.value = s; } else { alert("Cannot import molecule:\n"+ "no JavaScript to Java communication in your browser.\n"); } } function validateTextField(format){ if (document.MSketch != null) { var s = document.MSketch.validateMoleculeStr(document.MolForm.MolTxt.value, format); if (s==0){ alert("The structure source can be imported by MarvinSketch."); } else { alert("Warning the structure source is invalid, or can not be imported by MarvinSketch."); } } else { alert("Cannot import molecule:\n"+ "no JavaScript to Java communication in your browser.\n"); } } msketch_name = "MSketch"; msketch_begin("../../..", 540, 480); msketch_end();//--> </script>
It may happen that you want to save space on the web page and visualize your molecule in a small area. The next example shows how to fit the applet into a small area.