Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Molecular optimization tool #394

Merged
merged 29 commits into from
Oct 5, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
eee3236
xtb_optimization test
wverastegui Aug 24, 2023
c8f85bd
added test-data folder & test params
wverastegui Aug 28, 2023
72c8c40
added help info
wverastegui Aug 28, 2023
3f334de
improved description, labels, docs
wverastegui Sep 6, 2023
5a48888
lint output
wverastegui Sep 6, 2023
71370a4
added .yml file
wverastegui Sep 6, 2023
c93804e
moved .shed.yml
wverastegui Sep 7, 2023
42d03dc
Update tools/xtb/xtb_molecular_optimization.xml
wverastegui Sep 7, 2023
a6fe51a
added citations, single quotes, commented tests
wverastegui Sep 7, 2023
bf9196c
deleted .yml
wverastegui Sep 7, 2023
94759a1
updated .yml
wverastegui Sep 7, 2023
03c18d5
Update tools/xtb/xtb_molecular_optimization.xml
wverastegui Sep 8, 2023
3ee9447
changed dirname
wverastegui Sep 8, 2023
761e120
update xml
wverastegui Sep 8, 2023
ed513e4
update
wverastegui Sep 8, 2023
4d60285
updated .shed.yml
wverastegui Sep 8, 2023
53c0ffa
added additional optimization options
wverastegui Sep 11, 2023
7638ea6
created macros with autor, help & tool version
wverastegui Sep 11, 2023
a9a6e65
updated - macros
wverastegui Sep 11, 2023
df0179a
Update tools/xtb/.shed.yml
hechth Sep 27, 2023
d9d12af
Apply suggestions from code review
hechth Sep 27, 2023
55ca0dd
added compare and lines_diff to pass test
wverastegui Oct 4, 2023
76c81a9
added compare and lines_diff to pass test
wverastegui Oct 4, 2023
d1762c1
Update xtb_molecular_optimization.xml
hechth Oct 5, 2023
a97e47e
Update xtb_molecular_optimization.xml
hechth Oct 5, 2023
46179a1
Update xtb_molecular_optimization.xml
hechth Oct 5, 2023
d821ae2
outcommented coord test case as coord is not a galaxy datatype
hechth Oct 5, 2023
111001c
fixed testing
hechth Oct 5, 2023
af7638d
removed not needed test outputs
hechth Oct 5, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
hechth marked this conversation as resolved.
Show resolved Hide resolved
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>