Saltar al final de los metadatos
Ir al inicio de los metadatos

Molconverter is a command line program in Marvin Beans and JChem that converts between various file types.


molconvert [options] outformat[:exportoptions] [files...]

The outformat argument must be the codename of one of the supported formats. That can be found in the page of each file format. Some example:

Format type Codename of the format
Document formats mrv , cdx, cdxml, skc
Molecule file formats

mol rgf sdf rdf csmolcsrgfcssdfcsrdf ,
cml , smarts, cxsmarts, smiles, cxsmiles, abbrevgroup, peptide, 
sybylmol2, pdb, xyz, inchi, name

Graphics formats jpeg, msbmp, png, pov, svg, emf, tiff, eps
Compression and Encoding gzip, base64

Alternatively, use  

molconvert [options] query-encoding [files...]

to query the automatically detected encodings of the specified molecule files.

From files having doc, docx, ppt, pptx, xls, xls, odt, pdf, xml, html or txt format, Molconvert is able to recognize the name of compounds and convert it to any of the above mentioned output formats.


-o file Write output to specified file instead of standard output
-m Produce multiple output files
-e charset Set the input character encoding. The encoding must be supported by Java.
-e [in ]..[ out] Set the input (in) and/or output (out) character encodings. Examples: UTF-8, ASCII, Cp1250 (Windows Eastern European), Cp1252 (Windows Latin 1), ms932 (Windows Japanese).
-s string Read molecule from specified SMILES, SMARTS or peptide string (try to recognize its format)
-s string { format : options } Read molecule from the string in the specified format (can be omitted), using the specified importoptions (can be omitted)
-f <string> Specify the import format and options
--smiles string Read molecule from specified SMILES string
--smarts string Read molecule from specified SMARTS string
--peptide string Read molecule from specified peptide string
-g Continue with next molecule on error (default: exit on error)
-Y Remove explicit H atoms
-I <range> process input molecules with molecule index (1-based) falling into the specified range (e.g. 5-8,15 refers to molecules 5,6,7,8,15)
-U fuse input molecules and output the union
-R <file>[:<range>] fuse fragments to input molecule(s) from file with specified mol index range range syntax: "-5,10-20,25,26,38-" (e.g. -R frags.mrv:20-)
-R<i> <file>[:<range>] fuse R<i> definition members to input molecule(s) from file in specified index range (e.g. -R1 rdef1.mrv:5-8,19)
-R<i>:<1|2> <file>[:<range>] fuse R<i> definition members to input molecule(s) from file in specified index range, filter molecules having 1 (2, resp.) attachment points (e.g. -R1:2 rdef1.mrv:-3,8-10)
-F Remove small fragments, keep the largest
-c"f1 OP value&f2 OP value..." Filtering by the values of fields in the case of SDF import.
OP may be: =,<,>,<=,>=
--mol-fields-to-records Convert molecule type fields to separate records.
-v Verbose
-vv Very verbose (print stack trace at error)
-n Skip valence checking
-2 [ : options] [ : F<i1><i2>...,<iN>] Calculate 2D coordinates Options for coordinate calculation. 
Performs partial clean with fixed atom coordinates for atoms <i1><i2>...,<iN> (1-based indexes) if the Fparameter is specified.
-3 [ : options] Calculate 3D coordinates
Options for coordinate calculation.
-H3D Detailed list on Clean 3d Options


Import options  can be specified between braces, in one of the following forms:

filename{MULTISET,options} to merge molecules into one that contains multiple atom sets
filename{format:} to skip automatic format recognition

You can also pass options to JAVA VM when you run the application from command line.


Export options:

a, +a, +a_gen General aromatization. Example: "XXX:a"
a_bas Basic aromatization. Example: "XXX:a_bas"
a_loose  Loose aromatization. Example: "XXX:a_loose"
a_ambig Ambiguous aromatization. Example: "XXX:a_ambig"
-a, -a_gen General Dearomatization. Example: "XXX:-a"
-a_huckel Huckel dearomatization. Example: "XXX:-a_huckel"
-a_huckel_ex Huckel dearomatization, throwing exception in case of failure. Example: "XXX:-a_huckel_ex"
H or +H Add explicit Hydrogen atoms. Example: "XXX:H"
-H Remove explicit Hydrogen atoms. Example: "XXX:-H"

Here, XXX can be any molecule or image format like mrv, mol, smiles, cxsmiles, abbrevgroup, cml, jpeg, png or svg, but aromatization options have no effect on formats which do not store bond orders like cube, pdb and xyz.

mol:v2 for exporting position variation bond to MDL mol v2000



  1. Printing the SMILES string of a molecule in a molfile

    molconvert smiles caffeine.mol
  2. Dearomatizing an aromatic molecule:

    molconvert smiles:-a -s "c1ccccc1"
  3. Aromatizing a molecule:

    molconvert smiles:a -s "C1=CC=CC=C1"

    (The default general aromatization is used.)

  4. Aromatizing a molecule using the basic algorithm:

    molconvert smiles:a_bas -s "CN1C=NC2=C1C(=O)N(C)C(=O)N2C"
  5. Converting a SMILES file to MDL Molfile

    molconvert mol caffeine.smiles -o caffeine.mol
  6. Making an SDF from molfiles:

    molconvert sdf *.mol -o molecules.sdf
    "C:\Program Files (x86)\ChemAxon\MarvinBeans\bin\molconvert" sdf *-3* C:\*.mol2 -o All-MOL2-into-one-SDF.sdf
    "C:\Program Files (x86)\ChemAxon\MarvinBeans\bin\molconvert" sdf *-3* C:\structures.sdf -o *.sdf -m
    "C:\Program Files (x86)\ChemAxon\MarvinBeans\bin\molconvert" mol2 *-3* C:\structures.sdf -o *.mol2 -m

  7. Printing the encodings of SDfiles in the working directory:

    molconvert query-encoding *.sdf
  8. SMILES to Molfile with optimized 2D coordinate calculation, converting double bonds with unspecified cis/trans to "either"

    molconvert -2:2e mol caffeine.smiles -o caffeine.mol
  9. 2D coordinate calculation with optimization and fixed atom coordinates for atoms 1, 5, 6:

    molconvert -2:2:F1,5,6 mol caffeine.mol
  10. Import a file as XYZ, do not try to recognize the file format:

    molconvert smiles "{xyz:}"

    Note: This is just an example. XYZ and other formats known by Marvin are always recognized (send us a bug report otherwise), so the specification of the input format is usually not needed. It is only relevant if a user-defined import module is used.

  11. Import a file as XYZ, with bond-length cut-off = 1.4, and max. number of Carbon connections = 4, export to SMILES:

    molconvert smiles "{f1.4C4}"
  12. Import a file as Gzipped XYZ, with the same import options as in the previous example:

    molconvert smiles "{gzip:xyz:f1.4C4}"
  13. Like the previous example but merge the molecules into one molecule that contains multiple atom sets. MDL molfile is exported.

    molconvert mol "{gzip:xyz:MULTISET,f1.4C4}"
  14. Import an SDF and export a table containing selected molecules with columns: SMILES, ID, and logP:

    molconvert smiles -c "ID<=1000&logP>=-2&logP<=4" -T ID:logP foo.sdf
  15. Fuse R2 definition from file, filter fragments with 1 attachment point:

    molconvert mrv in.mrv -R2:1 rdef.mrv
  16. Fuse fragments from file (note, that the input molecule, which the fragments are fused to, should also be specified):

    molconvert mrv in.mrv -R frags.mrv
  17. Generate all common names for a structure:

    molconvert "name:common,all" -s tylenol
  18. Generate the most popular common name for a structure (It fails if none is known.):

    molconvert name:common -s viagra
  19. Generate SMILES from those molecules that names are mentioned in a file foo.html:

    molconvert smiles foo.html