diff --git a/tools/qcxms/msp_out.sh b/tools/qcxms/msp_out.sh index 09fc9361..636eb1f9 100644 --- a/tools/qcxms/msp_out.sh +++ b/tools/qcxms/msp_out.sh @@ -1,6 +1,6 @@ #!/bin/sh -molname=`sed -n '2{p;q}' TMPQCXMS/TMP.1/start.xyz` +molname=`sed -n '1{p;q}' molname.txt` kword=$(grep 'NPOINTS' result.jdx) num_peaks=$(echo "$kword" | sed 's/^[^=]*=//') echo `pwd` diff --git a/tools/qcxms/qcxms_getres.xml b/tools/qcxms/qcxms_getres.xml new file mode 100644 index 00000000..057ba452 --- /dev/null +++ b/tools/qcxms/qcxms_getres.xml @@ -0,0 +1,75 @@ + + Get result of the Production run to obtain a QCxMS simulated mass spectrum + + + macros.xml + + + + + + + + + +#set res_collection = str("', '").join([str($f) for $f in $res_files]) + +with open('$mol', 'r') as file: + lines = file.readlines() + molname = lines[1] + +with open('molname.txt', 'w') as file: + file.write(molname) + +input_files = '$res_collection' +output_file = 'tmpqcxms.res' + +with open(output_file, 'w') as output: + for file_path in input_files: + with open(file_path, 'r') as input_file: + output.write(input_file.read()) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 10.1002/anie.201300158 + 10.1039/C4OB01668H + 10.1021/jp5096618 + 10.1255/ejms.1313 + 10.1021/acs.jpca.6b02907 + + diff --git a/tools/qcxms/qcxms_neutral_run.xml b/tools/qcxms/qcxms_neutral_run.xml index 0c324d84..77867f7c 100644 --- a/tools/qcxms/qcxms_neutral_run.xml +++ b/tools/qcxms/qcxms_neutral_run.xml @@ -1,4 +1,4 @@ - + required as first step to prepare for the production runs @@ -56,10 +56,10 @@ rename_files_with_folder_name(path) - + - +
@@ -84,20 +84,20 @@ rename_files_with_folder_name(path) store_extended_output - + - + - + - +
diff --git a/tools/qcxms/qcxms_prod_run.xml b/tools/qcxms/qcxms_prod_run.xml index 103cd679..634f735f 100644 --- a/tools/qcxms/qcxms_prod_run.xml +++ b/tools/qcxms/qcxms_prod_run.xml @@ -1,4 +1,4 @@ - + Production run to obtain a QCxMS simulated mass spectrum @@ -10,10 +10,7 @@ > $log' && - /qcxms_bin/getres && - /plotms_bin/PlotMS.v.6.2.0/plotms && - sh ${__tool_directory__}/msp_out.sh + (cd TMPQCXMS/*/ && /qcxms_bin/qcxms --prod) >> $log ]]> @@ -25,54 +22,50 @@ 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]) +names = '$xyz_file.name' +folder_name = names.split("_")[0] -#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) +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')) +shutil.copy2(os.path.join(os.path.dirname('$in_file'), '$in_file'), os.path.join(new_folder_path, 'qcxms.in')) +shutil.copy2(os.path.join(os.path.dirname('$start_file'), '$start_file'), os.path.join(new_folder_path, 'qcxms.start')) +shutil.copy2(os.path.join(os.path.dirname('$xyz_file'), '$xyz_file'), os.path.join(new_folder_path, 'start.xyz')) - - - + + + - - + store_extended_output + - + + + + + + diff --git a/tools/qcxms/test-data/TMP.1_qcxms_in.txt b/tools/qcxms/test-data/TMP.1_qcxms_in.txt new file mode 100644 index 00000000..da6a6288 --- /dev/null +++ b/tools/qcxms/test-data/TMP.1_qcxms_in.txt @@ -0,0 +1,7 @@ + + xtb2 + ntraj 2 + tmax 20.0 + tinit 500.0 + ieeatm 0.6 + \ No newline at end of file diff --git a/tools/qcxms/test-data/TMP.1_qcxms_start.txt b/tools/qcxms/test-data/TMP.1_qcxms_start.txt new file mode 100644 index 00000000..f7eddb04 --- /dev/null +++ b/tools/qcxms/test-data/TMP.1_qcxms_start.txt @@ -0,0 +1,9 @@ + 1 + 0.23866896224151D+00 + 0.89173254224222D+04 + -0.18091580000000D-03 0.53537546000000D-04 0.34508200000000D-04 0.50383142501519D+00 + 0.10322794000000D-03 -0.29410216000000D-03 -0.13830620000000D-03 0.50383142501512D+00 + -0.12351298000000D-02 0.10941877000000D-02 -0.68662608000000D-03 0.10000000000000D+01 + 0.39194769000000D-04 -0.86113874000000D-03 -0.14824698000000D-03 0.99998640424089D+00 + 0.73344203000000D-03 0.11470574000000D-02 -0.89203254000000D-04 0.99998640424076D+00 + 0.13882303000000D-02 -0.37015395000000D-03 0.30430224000000D-03 0.99999999999989D+00 diff --git a/tools/qcxms/test-data/TMP.1_start_xyz.txt b/tools/qcxms/test-data/TMP.1_start_xyz.txt new file mode 100644 index 00000000..994c0fb2 --- /dev/null +++ b/tools/qcxms/test-data/TMP.1_start_xyz.txt @@ -0,0 +1,8 @@ +6 +6325 +C -0.59857822001968 -0.02215985716365 0.13568410610374 +C 0.61205863904343 -0.05505705225983 -0.22393772541246 +H -1.05122375889205 0.99067995917981 0.32453382107060 +H -1.32624440512690 -0.87343794346470 0.13238115658175 +H 1.30113828028591 0.80217555351015 -0.27588079204055 +H 1.17175212384004 -1.04560876534258 -0.26477384393492 diff --git a/tools/qcxms/test-data/output.msp b/tools/qcxms/test-data/output.msp new file mode 100644 index 00000000..9b9b9ab3 --- /dev/null +++ b/tools/qcxms/test-data/output.msp @@ -0,0 +1,52 @@ +NAME: Lindane +Num Peaks: 49 +95.953354 29.195388847147174971 +96.956708 0.668804095247536257 +96.959630 0.006270038392945652 +97.950404 18.872816291174281389 +97.960062 0.002090012797648551 +98.953758 0.408597509163542982 +98.956680 0.006270038392945652 +99.947454 3.027383551460257394 +99.957112 0.001045006398824275 +100.950808 0.060610371892150218 +100.953730 0.001045006398824275 +112.007977 100.000000000000000000 +113.011331 6.469344248109893947 +113.014253 0.062015503068284489 +114.005027 31.968992563911168503 +114.014685 0.191684279973595856 +114.017607 0.002818886409876120 +115.008381 2.170542578675819456 +115.011303 0.016913318459256720 +116.011735 0.056377728197522396 +116.014657 0.002818886409876120 +117.015089 0.002818886409876120 +121.969004 48.616737474503565863 +122.972358 2.314913873279450307 +122.975280 0.028382084687048212 +123.966054 31.214972837163390551 +123.975712 0.030155965625322630 +123.978634 0.003547760585881026 +124.969408 1.333958011267293520 +124.972330 0.010643281757643079 +125.963104 4.931387222118633673 +125.972762 0.017738802929405131 +126.966458 0.184483555628484647 +126.969380 0.005321640878821540 +127.969812 0.001773880292940513 +147.984654 75.667375851606607284 +148.988008 4.978153862789445938 +148.990930 0.042283303452986920 +149.981704 48.524317372305198148 +149.991362 0.157857662942868432 +149.994284 0.002818886691764789 +150.985058 3.038759966527995626 +150.987980 0.036645528018447289 +151.978754 7.912614881227955976 +151.988412 0.087385490521223547 +151.991334 0.005637773383529577 +152.982108 0.467935188781944900 +152.985030 0.002818886691764789 +153.985462 0.019732207867858554 + diff --git a/tools/qcxms/test-data/res_files/TMP.1_qcxms.txt b/tools/qcxms/test-data/res_files/TMP.1_qcxms.txt new file mode 100644 index 00000000..63aaf85b --- /dev/null +++ b/tools/qcxms/test-data/res_files/TMP.1_qcxms.txt @@ -0,0 +1,5 @@ + 0.0000000 1 1 1 1 1 17 1 + 0.0000000 1 1 1 3 1 17 1 + 0.0000000 1 1 2 2 1 17 1 + 0.0000000 1 1 3 2 1 17 1 + 1.0000000 1 1 4 1 3 1 6 6 6 17 2 diff --git a/tools/qcxms/test-data/res_files/TMP.2_qcxms.txt b/tools/qcxms/test-data/res_files/TMP.2_qcxms.txt new file mode 100644 index 00000000..27410032 --- /dev/null +++ b/tools/qcxms/test-data/res_files/TMP.2_qcxms.txt @@ -0,0 +1,6 @@ + 0.0000000 1 2 1 2 1 17 1 + 0.0000000 1 2 1 3 1 17 1 + 0.0000000 1 2 1 4 1 17 1 + 0.0000001 1 2 2 1 2 1 1 17 1 + 0.0000000 1 2 2 3 1 17 1 + 0.9999999 1 2 3 1 3 1 5 6 6 17 1 diff --git a/tools/qcxms/test-data/res_files/TMP.3_qcxms.txt b/tools/qcxms/test-data/res_files/TMP.3_qcxms.txt new file mode 100644 index 00000000..98f0f9c9 --- /dev/null +++ b/tools/qcxms/test-data/res_files/TMP.3_qcxms.txt @@ -0,0 +1,4 @@ + 0.3707160 1 3 1 1 3 1 2 6 2 17 2 + 0.0000000 1 3 1 3 1 17 1 + 0.0000000 1 3 2 2 1 17 1 + 0.6292840 1 3 3 1 3 1 4 6 4 17 2 diff --git a/tools/qcxms/test-data/res_out.txt b/tools/qcxms/test-data/res_out.txt new file mode 100644 index 00000000..7636f6f2 --- /dev/null +++ b/tools/qcxms/test-data/res_out.txt @@ -0,0 +1,3 @@ + 0.2874820 1 1 1 2 1 1 1 + 0.2874820 1 1 1 3 1 1 1 + 0.4250359 1 1 2 1 2 1 2 6 2