Skip to content

Commit

Permalink
Merge pull request #394 from wverastegui/xtb
Browse files Browse the repository at this point in the history
Molecular optimization tool
  • Loading branch information
hechth authored Oct 5, 2023
2 parents 172b8f7 + af7638d commit 77cb886
Show file tree
Hide file tree
Showing 5 changed files with 153 additions and 0 deletions.
13 changes: 13 additions & 0 deletions tools/xtb/.shed.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@

name: xtb_molecular_optimization
owner: recetox
description: Performs semiempirical molecular optimization.
long_description: |
The xtb molecular optimization tool is based on the Semiempirical Tight Binding method GFNn-xTB implemented in the
xtb (extended tight binding) program package. It handles coord and XYZ input formats, and optimize calculations at three
convergence levels.
categories:
- Metabolomics
remote_repository_url: "https://github.com/RECETOX/galaxytools/tree/master/tools/xtb"
homepage_url: "https://github.com/grimme-lab/xtb"
type: unrestricted
29 changes: 29 additions & 0 deletions tools/xtb/macros.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<macros>
<token name="@TOOL_VERSION@">6.6.1</token>
<xml name="creator">
<creator>
<person
givenName="Wudmir"
familyName="Rojas"
url="https://github.com/wverastegui"
identifier="0000-0001-7036-9987" />
<person
givenName="Helge"
familyName="Hecht"
url="https://github.com/hechth"
identifier="0000-0001-6744-996X" />
<organization
url="https://www.recetox.muni.cz/"
email="GalaxyToolsDevelopmentandDeployment@space.muni.cz"
name="RECETOX MUNI"/>
</creator>
</xml>
<token name="@HELP@"><![CDATA[
XTB Molecular Optimization handles coord and XYZ input formats, as well as, several levels of optimization.
Documentation
The xTB molecular optimization tool is based on the Semiempirical Tight Binding method GFNn-xTB implemented in the xtb (extended tight binding)
program package. Detailed documentation for the xtb program can be found in https://xtb-docs.readthedocs.io/en/latest/optimization.html.
]]>
</token>
</macros>
26 changes: 26 additions & 0 deletions tools/xtb/test-data/initial_mol.coord
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
$coord
-5.99455141918216 -0.78682526666358 0.39370554088116 o
-3.63830860571141 0.01577921314370 -0.52394546541572 c
-6.35936304761218 -2.10863199931285 2.70896019470081 c
-3.55829760157918 1.30103864253559 -2.83710252323663 c
-1.37182778317785 -0.42798517278855 0.80154623317728 c
-5.79337117591535 1.74470854216158 -4.15870138601214 o
-1.24576415337952 2.14009593929399 -3.80929102550083 c
0.95939505639800 0.38378447872495 -0.17733189956940 c
0.99635809940287 1.69597250539800 -2.49145271771405 c
3.28572350531010 -0.11846693077585 1.30693458804557 c
5.61705972845345 -0.10469082732464 0.32679033879514 c
7.86643852955582 -0.65707667092152 1.94484943605965 c
-5.32333959684569 -3.93320036751666 2.66940822690469 h
-5.70103915744816 -0.93681282920432 4.32059422314034 h
-8.40293177644150 -2.50316901968901 2.95745918013747 h
-1.40671212744523 -1.41886306642894 2.59009642143871 h
-5.80002301187533 2.67033419270594 -5.83513412327771 h
-1.18548188999223 3.15210097101181 -5.58646506248980 h
2.73579430567572 2.42368713887178 -3.27655833360389 h
3.06831051462959 -0.59798493499297 3.28804786844385 h
5.93406128592112 0.25488625973914 -1.65921733226687 h
8.01034117397408 0.76605717654990 3.48047867975194 h
9.61237539369864 -0.57937113266178 0.78425523913359 h
7.69517265084765 -2.57395816033127 2.78205480121556 h
$end
26 changes: 26 additions & 0 deletions tools/xtb/test-data/initial_mol.xyz
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
24

O -3.17218 -0.41637 0.20834
C -1.92531 0.00835 -0.27726
C -3.36523 -1.11584 1.43352
C -1.88297 0.68848 -1.50133
C -0.72594 -0.22648 0.42416
O -3.06572 0.92326 -2.20069
C -0.65923 1.13249 -2.01579
C 0.50769 0.20309 -0.09384
C 0.52725 0.89747 -1.31842
C 1.73873 -0.06269 0.69160
C 2.97242 -0.05540 0.17293
C 4.16274 -0.34771 1.02917
H -2.81699 -2.08136 1.41259
H -3.01686 -0.49574 2.28636
H -4.44664 -1.32462 1.56502
H -0.74440 -0.75083 1.37062
H -3.06924 1.41308 -3.08782
H -0.62733 1.66802 -2.95623
H 1.44772 1.28256 -1.73388
H 1.62368 -0.31644 1.73996
H 3.14017 0.13488 -0.87802
H 4.23889 0.40538 1.84179
H 5.08665 -0.30659 0.41501
H 4.07211 -1.36208 1.47220
59 changes: 59 additions & 0 deletions tools/xtb/xtb_molecular_optimization.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
<tool id="xtb_molecular_optimization" name="xtb molecular optimization" version="@TOOL_VERSION@+galaxy0" profile="21.09">
<description>Semiempirical quantum mechanical molecular optimization method</description>
<macros>
<import>macros.xml</import>
</macros>
<expand macro="creator"/>
<requirements>
<requirement type="package" version="@TOOL_VERSION@">xtb</requirement>
</requirements>
<command detect_errors="exit_code"><![CDATA[
ln -s '${coordinates}' 'mol.${coordinates.ext}' &&
xtb 'mol.${coordinates.ext}' --opt '${opt_level}' &&
cp 'xtbopt.${coordinates.ext}' '${output}'
]]></command>
<inputs>
<param label="Atomic coordinates file" type="data" name="coordinates" format="xyz" help="Initial atomic coordinates file to be optimized."/>
<param type="select" label="Optimization Levels" name="opt_level" help="Geometry optimization convergence levels." >
<option value="crude">crude</option>
<option value="sloppy">sloppy</option>
<option value="loose">loose</option>
<option value="lax">lax</option>
<option value="normal">normal</option>
<option value="tight">tight</option>
<option value="vtight">vtight</option>
<option value="extreme">extreme</option>
</param>
</inputs>
<outputs>
<data name="output" format_source="coordinates" />
</outputs>
<tests>
<test>
<param name="coordinates" value="initial_mol.xyz" ftype="xyz"/>
<output name="output">
<assert_contents>
<has_text text="xtb"/>
<has_n_lines n="26"/>
</assert_contents>
</output>
</test>
<!-- <test>
<param name="coordinates" value="initial_mol.coord" ftype="coord"/>
<output name="output" file="optimized_mol.coord" ftype="coord">
<assert_contents>
<has_text text="$coord"/>
<has_n_lines min="26"/>
</assert_contents>
</output>
</test> -->
</tests>
<help>
<![CDATA[
@HELP@
]]>
</help>
<citations>
<citation type="doi">https://doi.org/10.1002/wcms.1493</citation>
</citations>
</tool>

0 comments on commit 77cb886

Please sign in to comment.