view convert/ob_convert.xml @ 4:d7bf9b4e3183

Uploaded
author bgruening
date Fri, 26 Apr 2013 10:00:49 -0400
parents 282503f242cf
children 12822efbd4a4
line wrap: on
line source

<tool id="compound_convert" name="Compound Convert">
    <description>Converts various chemistry and molecular modeling data files</description>
    <!--<parallelism method="multi" split_inputs="infile" split_mode="to_size" split_size="10000" shared_inputs="" merge_outputs="outfile"></parallelism>
        We can't use that currently, because a few output-datatypes, like the fastsearch index do not support merging. We need to patch galaxy to not abort in such a case
        and run the job in non.multi mode.
    -->
    <requirements>
        <requirement type="package" version="2.3.2">openbabel</requirement>
    </requirements>
    <command>
## The command is a Cheetah template which allows some Python based syntax.
## Lines starting hash hash are comments. Galaxy will turn newlines into spaces

    #if str($out_format) == 'fs':
        ## For the fastsearch index we need to copy the original molecule files to the composite datatype of obfs.
        ## Because openbabel likes file extensions, we give the molecule file a proper file extension.
        mkdir $outfile.extra_files_path;
        cp "${infile}" ${os.path.join($outfile.extra_files_path, 'molecule.%s' % $infile.ext )};
    #end if

obabel -i "${infile.ext}"
    #if str($out_format) == 'fs':
        ${os.path.join($outfile.extra_files_path, 'molecule.%s' % $infile.ext )}
        -o "${out_format}" -e
        -O ${os.path.join($outfile.extra_files_path,'molecule.fs')}
    #else:
        "${infile}"
        -o "${out_format}" -e
        -O "${outfile}"
    #end if

    $remove_h
    #if $iso_chi or $can or $exp_h:
        -x$iso_chi$exp_h$can
    #end if
    #if $dative_bonds:
        -b
    #end if
    #if int($ph) >= 0:
        -p $ph
    #end if
    2>&#38;1
    </command>
    <inputs>
        <param name="infile" type="data" format="sdf,mol2,cml,inchi,smi" label="Select input file with molecules"/>
        <param name="out_format" type="select" label="Output format">
            <option value="acr">Carine ASCI Crystal</option>
            <option value="alc">Alchemy format</option>
            <option value="bgf">MSI BGF format</option>
            <option value="box">Dock 3.5 Box format</option>
            <option value="bs">Ball and Stick format</option>
            <option value="c3d1">Chem3D Cartesian 1 format</option>
            <option value="c3d2">Chem3D Cartesian 2 format</option>
            <option value="caccrt">Cacao Cartesian format</option>
            <option value="cache">CAChe MolStruct format</option>
            <option value="cacint">Cacao Internal format</option>
            <option value="can">Canonical SMILES format (can)</option>
            <option value="cdxml">ChemDraw CDXML format</option>
            <option value="cht">Chemtool format</option>
            <option value="cif">Crystallographic Information File</option>
            <option value="cml">Chemical Markup Language</option>
            <option value="cmlr">CML Reaction format</option>
            <option value="com">Gaussian 98/03 Cartesian Input</option>
            <option value="copy">Copies raw text</option>
            <option value="crk2d">Chemical Resource Kit 2D diagram format</option>
            <option value="crk3d">Chemical Resource Kit 3D format</option>
            <option value="csr">Accelrys/MSI Quanta CSR format</option>
            <option value="cssr">CSD CSSR format</option>
            <option value="ct">ChemDraw Connection Table format</option>
            <option value="dmol">DMol3 coordinates format</option>
            <!--<option value="ent">Protein Data Bank format</option>
            <option value="fa">FASTA format</option>-->
            <option value="fasta">FASTA format</option>
            <option value="feat">Feature format</option>
            <option value="fh">Fenske-Hall Z-Matrix format</option>
            <option value="fix">SMILES FIX format</option>
            <option value="fpt">Fingerprint format</option>
            <option value="fract">Free Form Fractional format</option>
            <option value="fs">Open Babel FastSearching database (fs)</option>
            <!--<option value="fsa">FASTA format</option>-->
            <option value="gamin">GAMESS Input</option>
            <option value="gau">Gaussian 98/03 Cartesian Input</option>
            <!--<option value="gjc">Gaussian 98/03 Cartesian Input</option>
            <option value="gjf">Gaussian 98/03 Cartesian Input</option>-->
            <option value="gpr">Ghemical format</option>
            <option value="gr96">GROMOS96 format</option>
            <option value="hin">HyperChem HIN format</option>
            <option value="inchi">IUPAC InChI</option>
            <option value="inp">GAMESS Input</option>
            <option value="jin">Jaguar input format</option>
            <!--<option value="mdl">MDL MOL format (mol)</option>-->
            <option value="mmd">MacroModel format</option>
            <option value="mmod">MacroModel format</option>
            <option value="mol">MDL MOL format (mol)</option>
            <option value="mol2">Sybyl Mol2 format (mol2)</option>
            <option value="molreport">Open Babel molecule report</option>
            <option value="mop">MOPAC Cartesian format</option>
            <option value="mopcrt">MOPAC Cartesian format</option>
            <option value="mopin">MOPAC Internal</option>
            <option value="mpc">MOPAC Cartesian format</option>
            <option value="mpd">Sybyl descriptor format</option>
            <option value="mpqcin">MPQC simplified input format</option>
            <option value="nw">NWChem input format</option>
            <option value="pcm">PCModel format</option>
            <option value="pdb">Protein Data Bank format (pdb)</option>
            <option value="pov">POV-Ray input format</option>
            <option value="pqs">Parallel Quantum Solutions format</option>
            <option value="qcin">Q-Chem input format</option>
            <option value="report">Open Babel report format</option>
            <option value="rxn">MDL RXN format</option>
            <!--<option value="sd">MDL MOL format</option>-->
            <option value="sdf">MDL MOL format (sdf)</option>
            <option value="smi">SMILES format (smi)</option>
            <!--<option value="sy2">Sybyl Mol2 format</option>-->
            <option value="tdd">Thermo format</option>
            <option value="test">Test format</option>
            <option value="therm">Thermo format</option>
            <option value="tmol">TurboMole Coordinate format</option>
            <option value="txyz">Tinker MM2 format</option>
            <option value="unixyz">UniChem XYZ format</option>
            <option value="vmol">ViewMol format</option>
            <option value="xed">XED format</option>
            <option value="xyz">XYZ cartesian coordinates format</option>
            <option value="yob">YASARA.org YOB format</option>
            <option value="zin">ZINDO input format</option>
        </param>
        <param name="iso_chi" type="boolean" label="Do not include isotopic or chiral markings (-xi)" truevalue="i" falsevalue="" checked="false" />
        <param name="can" type="boolean" label="Output in canonical form (-xc)" truevalue="c" falsevalue="" checked="false" />
        <param name="exp_h" type="boolean" label="Output explicit hydrogens as such (-xh)" truevalue="h" falsevalue="" checked="false" />
        <param name="remove_h" type="boolean" label="Delete hydrogen atoms (-d)" truevalue="-d" falsevalue="" />
        <param name="ph" size="3" type="float" value="-1" label="Add hydrogens appropriate for pH (-p)" help="-1 means deactivated"/>
        <param name="dative_bonds" type="boolean" label="Convert dative bonds (e.g. [N+]([O-])=O to N(=O)=O) (-b)" truevalue="-b" falsevalue="" />
    </inputs>
    <outputs>
        <data name="outfile" type="data" format="text" label="Convert to ${out_format.input.value_label} from ${on_string}">
            <change_format>
                <when input="out_format" value="sdf" format="sdf"/>
                <when input="out_format" value="smi" format="smi"/>
                <when input="out_format" value="mol2" format="mol2"/>
                <when input="out_format" value="inchi" format="inchi"/>
                <when input="out_format" value="cml" format="cml"/>
                <when input="out_format" value="mol" format="mol"/>
                <when input="out_format" value="pdb" format="pdb"/>
                <when input="out_format" value="fs" format="obfs"/>
            </change_format>
        </data>
    </outputs>
    <help>

**What it does**

OpenBabel is a cross-platform program designed to interconvert between many file formats used in molecular modeling and computational chemistry and related areas.

-----    


  </help>
</tool>