Mercurial > repos > recetox > qcxms_production_run
changeset 0:bf836aaeca19 draft
planemo upload for repository https://github.com/RECETOX/galaxytools/tree/master/tools/qcxms commit 45ad41f2368834ab06929496fb17fc9a85b8e3c5
author | recetox |
---|---|
date | Thu, 22 Feb 2024 08:41:32 +0000 |
parents | |
children | bc099c440016 |
files | macros.xml msp_out.sh qcxms_prod_run.xml test-data/mol.xyz |
diffstat | 4 files changed, 144 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/macros.xml Thu Feb 22 08:41:32 2024 +0000 @@ -0,0 +1,26 @@ +<macros> + <token name="@TOOL_VERSION@">5.2.1</token> + <xml name="requirements"> + <requirements> + <container type="docker">recetox/qcxms-docker:@TOOL_VERSION@</container> + </requirements> + </xml> + <xml name="edam"> + <edam_topics> + <edam_topic>topic_3332</edam_topic> + </edam_topics> + <edam_operations> + <edam_operation>operation_0297</edam_operation> + </edam_operations> + </xml> + + <xml name="creator"> + <creator> + <yield/> + <organization + url="https://www.recetox.muni.cz/" + email="GalaxyToolsDevelopmentandDeployment@space.muni.cz" + name="RECETOX MUNI" /> + </creator> + </xml> +</macros>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/msp_out.sh Thu Feb 22 08:41:32 2024 +0000 @@ -0,0 +1,11 @@ +#!/bin/sh + +molname=`sed -n '2{p;q}' TMPQCXMS/TMP.1/start.xyz` +kword=$(grep 'NPOINTS' result.jdx) +num_peaks=$(echo "$kword" | sed 's/^[^=]*=//') +echo `pwd` +sed -n '/PEAK/,/END/{/PEAK/!{/END/!p}}' result.jdx > temp.dat +awk '{print $1, $2}' temp.dat > tempa.dat +sed "1s/^/NAME: $molname\nNum Peaks: $num_peaks\n/" tempa.dat >> simulated_spectra.msp +sed -i '$a\ ' simulated_spectra.msp +rm temp.dat tempa.dat \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/qcxms_prod_run.xml Thu Feb 22 08:41:32 2024 +0000 @@ -0,0 +1,87 @@ +<tool id="qcxms_production_run" name="QCxMS production run" version="@TOOL_VERSION@+galaxy0" profile="21.05"> + <description>Production run to obtain a QCxMS simulated mass spectrum</description> + + <macros> + <import>macros.xml</import> + </macros> + <expand macro="edam"/> + <expand macro="creator"/> + <expand macro="requirements"/> + + <command detect_errors="exit_code"><![CDATA[ + python3 '${create_folder_structure}' && + find TMPQCXMS/*/ -type d | xargs -I {} -P ${GALAXY_SLOTS} sh -c 'cd {} && /qcxms_bin/qcxms --prod >> $log' && + /qcxms_bin/getres && + /plotms_bin/PlotMS.v.6.2.0/plotms && + sh ${__tool_directory__}/msp_out.sh + ]]></command> + + <environment_variables> + <environment_variable name="OMP_NUM_THREADS">1,2,1</environment_variable> + </environment_variables> + + <configfiles> + <configfile name="create_folder_structure"> +import os +import shutil + +#set in_collection = str("', '").join([str($f) for $f in $in_files]) +#set start_collection = str("', '").join([str($f) for $f in $start_files]) +#set xyz_collection = str("', '").join([str($f) for $f in $xyz_files]) + +#set names = str("', '").join([str($f.name) for $f in $xyz_files]) +names = '$names' +folder_names = [x.split("_")[0] for x in names] + +in_collection = '$in_collection' +start_collection = '$start_collection' +xyz_collection = '$xyz_collection' + +# Create a new output folder to store the result +output_path = 'TMPQCXMS' +os.makedirs(output_path, exist_ok=True) + +for folder_name, in_file, start_file, xyz_file in zip(folder_names, in_collection, start_collection, xyz_collection): + new_folder_path = os.path.join(output_path, folder_name) + os.makedirs(new_folder_path, exist_ok=True) + + shutil.copy2(os.path.join(os.path.dirname(in_collection[0]), in_file), os.path.join(new_folder_path, 'qcxms.in')) + shutil.copy2(os.path.join(os.path.dirname(start_collection[0]), start_file), os.path.join(new_folder_path, 'qcxms.start')) + shutil.copy2(os.path.join(os.path.dirname(xyz_collection[0]), xyz_file), os.path.join(new_folder_path, 'start.xyz')) + + </configfile> + </configfiles> + + <inputs> + <param type="data_collection" collection_type="list" name="in_files" label="in files [.in]" format="in,txt,text"/> + <param type="data_collection" collection_type="list" name="start_files" label="start files [.start]" format="start,txt,text"/> + <param type="data_collection" collection_type="list" name="xyz_files" label="xyz files [.xyz]" format="xyz,txt,text"/> + <param name="store_extended_output" type="boolean" value="false" label="Store additional outputs" help="Output the logfile."/> + </inputs> + + <outputs> + <data name="msp_output" format="msp" from_work_dir="simulated_spectra.msp" label="simulated_spectra.msp generated by ${tool.name} on ${on_string}"/> + <data name="log" format="txt" label="logfile of ${tool.name} on ${on_string}"> + <filter>store_extended_output</filter> + </data> + </outputs> + + <tests> + <test expect_failure="true"/> + </tests> + + <help><![CDATA[ + The QCxMS production run tool is used to simulate mass spectra for a given molecule using the QCxMS (Quantum Chemistry by Mass Spectrometry) method. + This tool generates simulated mass spectra based on the equilibrium structure of a molecule and allows you to perform QCxMS production runs. + For detail information visit the documentation at https://xtb-docs.readthedocs.io/en/latest/qcxms_doc/qcxms_run.html#excecuting-the-production-runs + ]]> + </help> + + <citations> + <citation type="doi">10.1002/anie.201300158</citation> + <citation type="doi">10.1039/C4OB01668H</citation> + <citation type="doi">10.1021/jp5096618</citation> + <citation type="doi">10.1255/ejms.1313</citation> + <citation type="doi">10.1021/acs.jpca.6b02907</citation> + </citations> +</tool> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/mol.xyz Thu Feb 22 08:41:32 2024 +0000 @@ -0,0 +1,20 @@ +18 +Lindane +CL -2.3574740887 0.2795224786 1.4453580379 +C -1.5060254335 -0.0564753152 -0.1808833480 +C -0.7409992814 1.1908990145 -0.6060928106 +C -0.6154388189 -1.2913844585 -0.1359211653 +CL -0.4997346103 1.0723730326 -2.4801609516 +C 0.6426193118 1.3751488924 0.0051864041 +CL -1.5938731432 -2.7512128353 0.4462303221 +C 0.6645445824 -1.0841370821 0.6675278544 +CL 0.4618762434 2.1580321789 1.6895099878 +C 1.4344482422 0.0744384378 0.0415960811 +CL 1.6999230385 -2.6236054897 0.5561774969 +CL 3.0750505924 0.3596521318 0.8505522013 +H -2.3252866268 -0.2277424186 -0.8540474772 +H -1.3395941257 2.0737268925 -0.4863004684 +H -0.3587814867 -1.5482350588 -1.1510624886 +H 1.1898183823 2.1143426895 -0.5496439934 +H 0.4745289683 -0.9351251125 1.7152343988 +H 1.6943985224 -0.1802178770 -0.9732601047