Repository 'rrparser'
hg clone https://toolshed.g2.bx.psu.edu/repos/tduigou/rrparser

Changeset 9:eb8ee05a9b52 (2025-04-02)
Previous changeset 8:d72f31975a06 (2025-04-01) Next changeset 10:c3f0d59faed3 (2025-04-02)
Commit message:
planemo upload for repository https://github.com/brsynth/rrparser commit b06816a566855a3f5c83b85fed0923853e562549-dirty
modified:
rrparser.xml
test-data/scores.csv
added:
test-data/rules_scores.csv
removed:
test-data/test.6.output.csv
b
diff -r d72f31975a06 -r eb8ee05a9b52 rrparser.xml
--- a/rrparser.xml Tue Apr 01 12:40:26 2025 +0000
+++ b/rrparser.xml Wed Apr 02 08:39:20 2025 +0000
[
b'@@ -1,7 +1,7 @@\n <tool id="rrparser" name="RRules Parser" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="21.09" license="MIT">\n     <description>Retrieve the reaction rules from RetroRules</description>\n     <macros>\n-        <token name="@VERSION_SUFFIX@">0</token>\n+        <token name="@VERSION_SUFFIX@">1</token>\n         <token name="@TOOL_VERSION@">2.7.0</token>\n     </macros>\n     <requirements>\n@@ -20,23 +20,23 @@\n             --rules_file \'$rules.file\'\n             --input-format \'$rules.input_format\'\n         #end if\n-        --diameters \'$diameters\'\n+        --diameters \'$adv.diameters\'\n         --output-format csv\n         --rules-dir "\\${TMPDIR:-.}"\n-        #if str($compress) == "true":\n+        #if str($adv.compress) == "true":\n             --outfile \'$out_rules\'.csv.gz\n             && mv \'$out_rules\'.csv.gz \'$out_rules\'\n         #else:\n             --outfile \'$out_rules\'\n         #end if\n-        #if str($input_conditional_ec.input_type) == "in"\n-            --ec \'$input_conditional_ec.input_ec_in\'\n+        #if str($adv.input_conditional_ec.input_type) == "in"\n+            --ec \'$adv.input_conditional_ec.input_ec_in\'\n         #end if\n-        #if str($input_conditional_ec.input_type) == "out"\n-            --ecx \'$input_conditional_ec.input_ec_out\'\n+        #if str($adv.input_conditional_ec.input_type) == "out"\n+            --ecx \'$adv.input_conditional_ec.input_ec_out\'\n         #end if\n-        #if $input_scores_file\n-            --scores \'$input_scores_file\'\n+        #if $adv.input_scores_file\n+            --scores \'$adv.input_scores_file\'\n         #end if\n     ]]></command>\n     <inputs>\n@@ -58,32 +58,35 @@\n                 </param>\n             </when>\n         </conditional>\n-        <param argument="--diameters" type="select" display="checkboxes" multiple="True" label="Select the diameters of the reactions rules" help=" Diameter of the sphere including the atoms around the reacting center (default is including all values: 2,4,6,8,10,12,14,16). The higher is the diameter, the more specific are the rules">\n-            <option selected="true" value="2">2</option>\n-            <option selected="true" value="4">4</option>\n-            <option selected="true" value="6">6</option>\n-            <option selected="true" value="8">8</option>\n-            <option selected="true" value="10">10</option>\n-            <option selected="true" value="12">12</option>\n-            <option selected="true" value="14">14</option>\n-            <option selected="true" value="16">16</option>\n-        </param>\n-        <param name="compress" type="boolean" checked="false" label="Compress output" />\n-        <param name="input_scores_file" type="data" format="csv" optional="True" label="Score File" help="Filename containing rules names and scores"/>\n-        <conditional name="input_conditional_ec">\n-            <param name="input_type" type="select" label="Filter based on EC number">\n-                <option value="no" selected="True">No</option>\n-                <option value="in">EC numbers to keep</option>\n-                <option value="out">EC numbers to remove</option>\n+        <section name="adv" title="Advanced Options" expanded="false" >\n+            <param name="compress" type="boolean" checked="false" label="Compress output" />\n+            <param name="input_scores_file" type="data" format="csv" optional="True" label="Score File" help="Filename containing rules names and scores" />\n+            <conditional name="input_conditional_ec">\n+                <param name="input_type" type="select" label="Filter based on EC number">\n+                    <option value="no" selected="True">No</option>\n+                    <option value="in">EC numbers to keep</option>\n+                    <option value="out">EC numbers to remove</option>\n+                </param>\n+                <when value="no" />\n+                <when value="in">\n+                    <param name="input_ec_in" type="data" format="csv" label="File cont'..b'e="10">10</option>\n+                <option selected="true" value="12">12</option>\n+                <option selected="true" value="14">14</option>\n+                <option selected="true" value="16">16</option>\n             </param>\n-            <when value="no" />\n-            <when value="in">\n-                <param name="input_ec_in" type="data" format="csv" label="File containing EC numbers" help="EC numbers on one line separted by a comma" />\n-            </when>\n-            <when value="out">\n-                <param name="input_ec_out" type="data" format="csv" label="File containing EC numbers" help="EC numbers on one line separted by a comma" />\n-            </when>\n-        </conditional>\n+        </section>\n+        \n     </inputs>\n     <outputs>\n         <data name="out_rules" format="csv" label="${tool.name}(${rules.type}, d=$diameters)" >\n@@ -99,7 +102,9 @@\n         </test>\n         <test>\n         <!-- test 2: check if identical outputs are produced with diameters=2,4,6-->\n-            <param name="diameters" value="2,4,6"/>\n+            <section name="adv">   \n+                <param name="diameters" value="2,4,6"/>\n+            </section>\n             <output name="out_rules" md5="12a55e1a3c7822a35ed799afa59b2aa2"/>\n         </test>\n         <test>\n@@ -116,10 +121,12 @@\n                 <param name="type" value="rules-file"/>\n                 <param name="file" value="rules_in.csv" />\n             </conditional>\n-            <conditional name="input_conditional_ec">\n-                <param name="input_type" value="in"/>\n-                <param name="input_ec_in" value="ec.csv"/>\n-            </conditional>\n+            <section name="adv">\n+                <conditional name="input_conditional_ec">\n+                    <param name="input_type" value="in"/>\n+                    <param name="input_ec_in" value="ec.csv"/>\n+                </conditional>\n+            </section>\n             <output name="out_rules" file="test.4.output.csv" ftype="csv" compare="diff"/>\n         </test>\n         <test>\n@@ -128,24 +135,24 @@\n                 <param name="type" value="rules-file"/>\n                 <param name="file" value="rules_in.csv" />\n             </conditional>\n-            <conditional name="input_conditional_ec">\n-                <param name="input_type" value="out"/>\n-                <param name="input_ec_out" value="ec.csv"/>\n-            </conditional>\n+            <section name="adv">\n+                <conditional name="input_conditional_ec">\n+                    <param name="input_type" value="out"/>\n+                    <param name="input_ec_out" value="ec.csv"/>\n+                </conditional>\n+            </section>\n             <output name="out_rules" file="test.5.output.csv" ftype="csv" compare="diff"/>\n         </test>\n         <test>\n-            <!-- python -m rrparser -rules_file rules_in.csv -input-format csv -ec ec.csv -diameters 2,4,6,8,10,12,14,16 -output-format csv -outfile test.6.output.csv -scores scores.csv -->\n+            <!-- python -m rrparser -rules_file rules_in.csv -input-format csv -diameters 2,4,6,8,10,12,14,16 -output-format csv -outfile rules_scores.csv -scores scores.csv -->\n             <conditional name="rules">\n                 <param name="type" value="rules-file"/>\n                 <param name="file" value="rules_in.csv" />\n             </conditional>\n-            <conditional name="input_conditional_ec">\n-                <param name="input_type" value="in"/>\n-                <param name="input_ec_in" value="ec.csv"/>\n-            </conditional>\n-            <param name="input_scores_file" value="scores.csv" />\n-            <output name="out_rules" file="test.6.output.csv" ftype="csv" compare="diff"/>\n+            <section name="adv" >\n+                <param name="input_scores_file" value="scores.csv" />\n+            </section>\n+            <output name="out_rules" file="rules_scores.csv" ftype="csv" compare="diff"/>\n         </test>\n     </tests>\n     <help><![CDATA[\n'
b
diff -r d72f31975a06 -r eb8ee05a9b52 test-data/rules_scores.csv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/rules_scores.csv Wed Apr 02 08:39:20 2025 +0000
[
b'@@ -0,0 +1,100 @@\n+Rule ID,Rule,EC number,Reaction order,Diameter,Score,Legacy ID,Reaction direction,Rule relative direction,Rule usage,Score normalized\n+RR-02-fbdda75e23f518b6-02-F,([#6&v4:1](=[#8&v2:2])(-[#6&v4:3](-[#6&v4:4])(-[#1&v1:5])-[#1&v1:6])-[#1&v1:7])>>([#6&v4:1](-[#8&v2:2]-[#1&v1:6])(-[#6&v4:3](-[#6&v4:4])(-[#8&v2]-[#1&v1])-[#1&v1:5])(-[#1&v1:7])-[#1&v1]),NOEC,1,2,4.295611076923876,MNXR94682_MNXM821,0,0,both,0.10469674387190456\n+RR-02-0250d458c4991a7d-02-F,([#6&v4:1](-[#8&v2:2]-[#1&v1:3])(-[#6&v4:4](-[#6&v4:5])(-[#8&v2:6]-[#1&v1:7])-[#1&v1:8])(-[#1&v1:9])-[#1&v1:10])>>([#6&v4:1](=[#8&v2:2])(-[#6&v4:4](-[#6&v4:5])(-[#1&v1:8])-[#1&v1:3])-[#1&v1:9].[#8&v2:6](-[#1&v1:7])-[#1&v1:10]),NOEC,1,2,4.295611076923876,MNXR94682_MNXM90191,0,0,both,0.10469674387190456\n+RR-02-c3681aa8011dc014-02-F,([#6&v4:1]-[#6&v4:2](=[#8&v2:3])-[#6&v4:4])>>([#6&v4:1]-[#6&v4:2](-[#8&v2:3]-[#1&v1])(-[#6&v4:4])-[#1&v1]),1.1.1.-,1,2,3.068556895072363,MNXR94689_MNXM101404,0,0,both,0.14067341551302287\n+RR-02-1364a3f2a297c78c-02-F,([#6&v4:1]-[#6&v4:2](-[#8&v2:3]-[#1&v1:4])(-[#6&v4:5])-[#1&v1:6])>>([#1&+&v0:4].[#6&v4:1]-[#6&v4:2](=[#8&v2:3])-[#6&v4:5].[#6&v4]1(-[#1&v1]):[#7&v3]:[#6&v4]2:[#6&v4](-[#7&v3](-[#1&v1])-[#1&v1]):[#7&v3]:[#6&v4](-[#1&v1]):[#7&v3]:[#6&v4]:2:[#7&v3]:1-[#6&v4]1(-[#1&v1])-[#6&v4](-[#8&v2]-[#1&v1])(-[#1&v1])-[#6&v4](-[#8&v2]-[#1&v1])(-[#1&v1])-[#6&v4](-[#6&v4](-[#8&v2]-[#15&v5](-[#8&v2]-[#15&v5](-[#8&v2]-[#6&v4](-[#6&v4]2(-[#1&v1])-[#8&v2]-[#6&v4](-[#7&v3]3-[#6&v4](-[#1&v1])=[#6&v4](-[#6&v4](=[#7&v3]-[#1&v1])-[#8&v2]-[#1&v1])-[#6&v4](-[#1&v1])(-[#1&v1:6])-[#6&v4](-[#1&v1])=[#6&v4]-3-[#1&v1])(-[#1&v1])-[#6&v4](-[#8&v2]-[#1&v1])(-[#1&v1])-[#6&v4]-2(-[#8&v2]-[#1&v1])-[#1&v1])(-[#1&v1])-[#1&v1])(=[#8&v2])-[#8&v2]-[#1&v1])(=[#8&v2])-[#8&v2]-[#1&v1])(-[#1&v1])-[#1&v1])(-[#1&v1])-[#8&v2]-1),1.1.1.-,1,2,2.8750612633917005,MNXR94689_MNXM9689,0,0,both,0.14873280218232202\n+RR-02-2860703b5bba4808-02-F,([#8&v2:1](-[#8&v2:2]-[#6&v4:3])-[#1&v1:4])>>([#8&v2:1](-[#1&v1:4])-[#1&v1].[#8&v2:2](-[#6&v4:3])-[#1&v1]),NOEC,1,2,42.0,MNXR94690_MNXM2313,0,0,both,1.0\n+RR-02-5594c358cc56f547-02-F,([#8&v2:1](-[#6&v4:2])-[#1&v1:3])>>([#1&+&v0:3].[#8&v2](-[#8&v2:1]-[#6&v4:2])-[#1&v1]),NOEC,1,2,4.2,MNXR94690_MNXM9689,0,0,both,1.0\n+RR-02-40c5de14c04712c6-02-F,([#6&v4:1]-[#6&v4:2](=[#8&v2:3])-[#1&v1:4])>>([#6&v4:1]-[#6&v4:2](-[#8&v2:3]-[#1&v1])(-[#1&v1])-[#1&v1:4]),1.1.1.202,1,2,2.4517864355242898,MNXR94691_MNXM1526,0,0,both,0.17004370207003422\n+RR-02-fcc8935f8e5c652c-02-F,([#6&v4:1]-[#6&v4:2](-[#8&v2:3]-[#1&v1:4])(-[#1&v1:5])-[#1&v1:6])>>([#1&+&v0:4].[#6&v4:1]-[#6&v4:2](=[#8&v2:3])-[#1&v1:6].[#6&v4]1(-[#1&v1]):[#7&v3]:[#6&v4]2:[#6&v4](-[#7&v3](-[#1&v1])-[#1&v1]):[#7&v3]:[#6&v4](-[#1&v1]):[#7&v3]:[#6&v4]:2:[#7&v3]:1-[#6&v4]1(-[#1&v1])-[#6&v4](-[#8&v2]-[#1&v1])(-[#1&v1])-[#6&v4](-[#8&v2]-[#1&v1])(-[#1&v1])-[#6&v4](-[#6&v4](-[#8&v2]-[#15&v5](-[#8&v2]-[#15&v5](-[#8&v2]-[#6&v4](-[#6&v4]2(-[#1&v1])-[#8&v2]-[#6&v4](-[#7&v3]3-[#6&v4](-[#1&v1])=[#6&v4](-[#6&v4](=[#7&v3]-[#1&v1])-[#8&v2]-[#1&v1])-[#6&v4](-[#1&v1])(-[#1&v1:5])-[#6&v4](-[#1&v1])=[#6&v4]-3-[#1&v1])(-[#1&v1])-[#6&v4](-[#8&v2]-[#1&v1])(-[#1&v1])-[#6&v4]-2(-[#8&v2]-[#1&v1])-[#1&v1])(-[#1&v1])-[#1&v1])(=[#8&v2])-[#8&v2]-[#1&v1])(=[#8&v2])-[#8&v2]-[#1&v1])(-[#1&v1])-[#1&v1])(-[#1&v1])-[#8&v2]-1),1.1.1.202,1,2,2.133538908370217,MNXR94691_MNXM2861,0,0,both,0.19057431907203484\n+RR-02-2961e0cd92ffd16f-02-F,([#6&v4:1]-[#6&v4:2](-[#1&v1:3])(-[#7&v3:4](-[#1&v1:5])-[#6&v4:6])-[#6&v4:7])>>([#1&+&v0:5].[#6&v4:1]-[#6&v4:2](=[#7&v3:4]-[#6&v4:6])-[#6&v4:7].[#6&v4]1(-[#7&v3](-[#1&v1])-[#1&v1]):[#7&v3]:[#6&v4](-[#1&v1]):[#7&v3]:[#6&v4]2:[#7&v3](-[#6&v4]3(-[#1&v1])-[#6&v4](-[#8&v2]-[#15&v5](=[#8&v2])(-[#8&v2]-[#1&v1])-[#8&v2]-[#1&v1])(-[#1&v1])-[#6&v4](-[#8&v2]-[#1&v1])(-[#1&v1])-[#6&v4](-[#6&v4](-[#8&v2]-[#15&v5](-[#8&v2]-[#15&v5](-[#8&v2]-[#6&v4](-[#6&v4]4(-[#1&v1])-[#8&v2]-[#6&v4](-[#7&v3]5-[#6&v4](-[#1&v1])=[#6&v4](-[#6&v4](=[#7&v3]-[#1&v1])-[#8&v2]-[#1&v1])-[#6&v4](-[#1&v1])(-[#1&v1:3])-[#6&v4](-[#1&v1])=[#6&v4]-5-[#1&v1])(-[#1'..b')-[#1&v1])-[#6&v4](-[#1&v1])(-[#1&v1])-[#1&v1])(-[#1&v1])-[#1&v1])(=[#8&v2])-[#8&v2]-[#1&v1].[#8&v2](-[#6&v4](=[#8&v2])-[#6&v4](-[#6&v4:1](=[#8&v2:2])-[#6&v4:5])(-[#1&v1])-[#1&v1])-[#1&v1]),2.8.3.6,1,2,0.6989700043360189,MNXR94940_MNXM25,-1,-1,retro,0.41815468538290146\n+RR-02-6d2fe140bdd4bb66-02-F,([#6&v4:1]:[#6&v4:2](-[#8&v2:3]-[#1&v1:4]):[#6&v4:5])>>([#6&v4:1]:[#6&v4:2](-[#1&v1:4]):[#6&v4:5].[#8&v2:3]=[#8&v2]),NOEC,1,2,2.24551266781415,MNXR94965_MNXM2783,0,0,both,0.18280846932054326\n+RR-02-0e609023fbda6ee1-02-F,([#6&v4:1]:[#6&v4:2](-[#1&v1:3]):[#6&v4:4])>>([#6&v4:1]:[#6&v4:2](-[#8&v2]-[#1&v1:3]):[#6&v4:4]),NOEC,1,2,2.24551266781415,MNXR94965_MNXM3167,0,0,both,0.18280846932054326\n+RR-02-358afa1261aac3de-02-F,([#6&v4:1](-[#6&v4:2])(-[#1&v1:3])(-[#1&v1:4])-[#1&v1:5])>>([#8&v2](-[#6&v4](-[#6&v4]1(-[#1&v1])-[#8&v2]-[#6&v4](-[#7&v3]2:[#6&v4](-[#1&v1]):[#7&v3]:[#6&v4]3:[#6&v4](-[#7&v3](-[#1&v1])-[#1&v1]):[#7&v3]:[#6&v4](-[#1&v1]):[#7&v3]:[#6&v4]:2:3)(-[#1&v1])-[#6&v4](-[#8&v2]-[#1&v1])(-[#1&v1])-[#6&v4]-1(-[#8&v2]-[#15&v5](=[#8&v2])(-[#8&v2]-[#1&v1])-[#8&v2]-[#1&v1])-[#1&v1])(-[#1&v1])-[#1&v1])-[#15&v5](-[#8&v2]-[#15&v5](-[#8&v2]-[#6&v4](-[#6&v4](-[#6&v4](-[#6&v4](=[#7&v3]-[#6&v4](-[#6&v4](-[#6&v4](-[#8&v2]-[#1&v1])=[#7&v3]-[#6&v4](-[#6&v4](-[#16&v2]-[#1&v1:5])(-[#1&v1])-[#1&v1])(-[#1&v1])-[#1&v1])(-[#1&v1])-[#1&v1])(-[#1&v1])-[#1&v1])-[#8&v2]-[#1&v1])(-[#8&v2]-[#1&v1])-[#1&v1])(-[#6&v4](-[#1&v1])(-[#1&v1])-[#1&v1])-[#6&v4](-[#1&v1])(-[#1&v1])-[#1&v1])(-[#1&v1])-[#1&v1])(=[#8&v2])-[#8&v2]-[#1&v1])(=[#8&v2])-[#8&v2]-[#1&v1].[#8&v2](-[#6&v4](=[#8&v2])-[#6&v4](-[#6&v4](-[#6&v4](=[#8&v2])-[#6&v4:1](-[#6&v4:2])(-[#1&v1:3])-[#1&v1:4])(-[#1&v1])-[#1&v1])(-[#1&v1])-[#1&v1])-[#1&v1]),2.3.1.16;2.3.1.174,1,2,0.6020599913279624,MNXR94967_MNXM21,1,1,retro,0.45484772422706443\n+RR-02-1794eeb97a0ab9c0-02-F,([#6&v4:1]-[#6&v4:2](=[#8&v2:3])-[#16&v2:4]-[#6&v4:5])>>([#6&v4:5]-[#16&v2:4]-[#1&v1].[#8&v2](-[#15&v5](=[#8&v2])(-[#8&v2]-[#1&v1])-[#8&v2]-[#6&v4](-[#6&v4]1(-[#1&v1])-[#8&v2]-[#6&v4](-[#7&v3]2:[#6&v4](-[#1&v1]):[#7&v3]:[#6&v4]3:[#6&v4](-[#7&v3](-[#1&v1])-[#1&v1]):[#7&v3]:[#6&v4](-[#1&v1]):[#7&v3]:[#6&v4]:2:3)(-[#1&v1])-[#6&v4](-[#8&v2]-[#1&v1])(-[#1&v1])-[#6&v4]-1(-[#8&v2]-[#15&v5](=[#8&v2])(-[#8&v2]-[#1&v1])-[#8&v2]-[#1&v1])-[#1&v1])(-[#1&v1])-[#1&v1])-[#15&v5](-[#8&v2]-[#6&v4](-[#6&v4](-[#6&v4](-[#6&v4](=[#7&v3]-[#6&v4](-[#6&v4](-[#6&v4](=[#7&v3]-[#6&v4](-[#6&v4](-[#16&v2]-[#6&v4](-[#6&v4](-[#6&v4:2](-[#6&v4:1])=[#8&v2:3])(-[#1&v1])-[#1&v1])=[#8&v2])(-[#1&v1])-[#1&v1])(-[#1&v1])-[#1&v1])-[#8&v2]-[#1&v1])(-[#1&v1])-[#1&v1])(-[#1&v1])-[#1&v1])-[#8&v2]-[#1&v1])(-[#8&v2]-[#1&v1])-[#1&v1])(-[#6&v4](-[#1&v1])(-[#1&v1])-[#1&v1])-[#6&v4](-[#1&v1])(-[#1&v1])-[#1&v1])(-[#1&v1])-[#1&v1])(=[#8&v2])-[#8&v2]-[#1&v1]),2.3.1.16;2.3.1.174,1,2,0.0,MNXR94967_MNXM92,1,1,retro,1.0\n+RR-02-0c2385ca3117a379-02-F,([#6&v4:1]-[#6&v4:2](=[#8&v2:3])-[#8&v2:4]-[#1&v1:5])>>([#8&v2:4](-[#1&v1])-[#1&v1:5].[#8&v2](-[#6&v4](-[#6&v4]1(-[#1&v1])-[#8&v2]-[#6&v4](-[#7&v3]2:[#6&v4](-[#1&v1]):[#7&v3]:[#6&v4]3:[#6&v4](-[#7&v3](-[#1&v1])-[#1&v1]):[#7&v3]:[#6&v4](-[#1&v1]):[#7&v3]:[#6&v4]:2:3)(-[#1&v1])-[#6&v4](-[#8&v2]-[#1&v1])(-[#1&v1])-[#6&v4]-1(-[#8&v2]-[#15&v5](=[#8&v2])(-[#8&v2]-[#1&v1])-[#8&v2]-[#1&v1])-[#1&v1])(-[#1&v1])-[#1&v1])-[#15&v5](-[#8&v2]-[#15&v5](-[#8&v2]-[#6&v4](-[#6&v4](-[#6&v4](-[#6&v4](=[#7&v3]-[#6&v4](-[#6&v4](-[#6&v4](-[#8&v2]-[#1&v1])=[#7&v3]-[#6&v4](-[#6&v4](-[#16&v2]-[#6&v4:2](-[#6&v4:1])=[#8&v2:3])(-[#1&v1])-[#1&v1])(-[#1&v1])-[#1&v1])(-[#1&v1])-[#1&v1])(-[#1&v1])-[#1&v1])-[#8&v2]-[#1&v1])(-[#8&v2]-[#1&v1])-[#1&v1])(-[#6&v4](-[#1&v1])(-[#1&v1])-[#1&v1])-[#6&v4](-[#1&v1])(-[#1&v1])-[#1&v1])(-[#1&v1])-[#1&v1])(=[#8&v2])-[#8&v2]-[#1&v1])(=[#8&v2])-[#8&v2]-[#1&v1]),3.1.2;3.1.2.20;3.1.2.23,1,2,0.4771212547196624,MNXR94976_MNXM1639,-1,-1,retro,0.5128681484037748\n+RR-02-18c81873156024c3-02-F,([#6&v4:1]-[#16&v4:2](=[#8&v2:3])-[#8&v2:4])>>([#6&v4:1]-[#16&v6:2](=[#8&v2:3])(-[#8&v2:4])=[#8&v2]),NOEC,1,2,4.295611076923876,MNXR94979_MNXM498,0,0,both,0.10469674387190456\n'
b
diff -r d72f31975a06 -r eb8ee05a9b52 test-data/scores.csv
--- a/test-data/scores.csv Tue Apr 01 12:40:26 2025 +0000
+++ b/test-data/scores.csv Wed Apr 02 08:39:20 2025 +0000
b
@@ -1,4 +1,4 @@
 Rule ID,Score
-RR-02-2860703b5bba4808-02-F,0
+RR-02-2860703b5bba4808-02-F,42
 RR-02-5594c358cc56f547-02-F,4.2
-foo,1
+foo,4.3
\ No newline at end of file
b
diff -r d72f31975a06 -r eb8ee05a9b52 test-data/test.6.output.csv
--- a/test-data/test.6.output.csv Tue Apr 01 12:40:26 2025 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,32 +0,0 @@\n-Rule ID,Rule,EC number,Reaction order,Diameter,Score,Legacy ID,Reaction direction,Rule relative direction,Rule usage,Score normalized\n-RR-02-fbdda75e23f518b6-02-F,([#6&v4:1](=[#8&v2:2])(-[#6&v4:3](-[#6&v4:4])(-[#1&v1:5])-[#1&v1:6])-[#1&v1:7])>>([#6&v4:1](-[#8&v2:2]-[#1&v1:6])(-[#6&v4:3](-[#6&v4:4])(-[#8&v2]-[#1&v1])-[#1&v1:5])(-[#1&v1:7])-[#1&v1]),NOEC,1,2,4.295611076923876,MNXR94682_MNXM821,0,0,both,0.10469674387190456\n-RR-02-0250d458c4991a7d-02-F,([#6&v4:1](-[#8&v2:2]-[#1&v1:3])(-[#6&v4:4](-[#6&v4:5])(-[#8&v2:6]-[#1&v1:7])-[#1&v1:8])(-[#1&v1:9])-[#1&v1:10])>>([#6&v4:1](=[#8&v2:2])(-[#6&v4:4](-[#6&v4:5])(-[#1&v1:8])-[#1&v1:3])-[#1&v1:9].[#8&v2:6](-[#1&v1:7])-[#1&v1:10]),NOEC,1,2,4.295611076923876,MNXR94682_MNXM90191,0,0,both,0.10469674387190456\n-RR-02-2860703b5bba4808-02-F,([#8&v2:1](-[#8&v2:2]-[#6&v4:3])-[#1&v1:4])>>([#8&v2:1](-[#1&v1:4])-[#1&v1].[#8&v2:2](-[#6&v4:3])-[#1&v1]),NOEC,1,2,0.0,MNXR94690_MNXM2313,0,0,both,1.0\n-RR-02-5594c358cc56f547-02-F,([#8&v2:1](-[#6&v4:2])-[#1&v1:3])>>([#1&+&v0:3].[#8&v2](-[#8&v2:1]-[#6&v4:2])-[#1&v1]),NOEC,1,2,4.2,MNXR94690_MNXM9689,0,0,both,1.0\n-RR-02-40c5de14c04712c6-02-F,([#6&v4:1]-[#6&v4:2](=[#8&v2:3])-[#1&v1:4])>>([#6&v4:1]-[#6&v4:2](-[#8&v2:3]-[#1&v1])(-[#1&v1])-[#1&v1:4]),1.1.1.202,1,2,2.4517864355242898,MNXR94691_MNXM1526,0,0,both,0.17004370207003422\n-RR-02-fcc8935f8e5c652c-02-F,([#6&v4:1]-[#6&v4:2](-[#8&v2:3]-[#1&v1:4])(-[#1&v1:5])-[#1&v1:6])>>([#1&+&v0:4].[#6&v4:1]-[#6&v4:2](=[#8&v2:3])-[#1&v1:6].[#6&v4]1(-[#1&v1]):[#7&v3]:[#6&v4]2:[#6&v4](-[#7&v3](-[#1&v1])-[#1&v1]):[#7&v3]:[#6&v4](-[#1&v1]):[#7&v3]:[#6&v4]:2:[#7&v3]:1-[#6&v4]1(-[#1&v1])-[#6&v4](-[#8&v2]-[#1&v1])(-[#1&v1])-[#6&v4](-[#8&v2]-[#1&v1])(-[#1&v1])-[#6&v4](-[#6&v4](-[#8&v2]-[#15&v5](-[#8&v2]-[#15&v5](-[#8&v2]-[#6&v4](-[#6&v4]2(-[#1&v1])-[#8&v2]-[#6&v4](-[#7&v3]3-[#6&v4](-[#1&v1])=[#6&v4](-[#6&v4](=[#7&v3]-[#1&v1])-[#8&v2]-[#1&v1])-[#6&v4](-[#1&v1])(-[#1&v1:5])-[#6&v4](-[#1&v1])=[#6&v4]-3-[#1&v1])(-[#1&v1])-[#6&v4](-[#8&v2]-[#1&v1])(-[#1&v1])-[#6&v4]-2(-[#8&v2]-[#1&v1])-[#1&v1])(-[#1&v1])-[#1&v1])(=[#8&v2])-[#8&v2]-[#1&v1])(=[#8&v2])-[#8&v2]-[#1&v1])(-[#1&v1])-[#1&v1])(-[#1&v1])-[#8&v2]-1),1.1.1.202,1,2,2.133538908370217,MNXR94691_MNXM2861,0,0,both,0.19057431907203484\n-RR-02-914837f186d0084a-02-F,([#6&v4:1]1(-[#1&v1:2])(-[#1&v1:3])-[#6&v4:4](-[#6&v4:5])(-[#1&v1:6])-[#7&v3:7]=[#6&v4:8](-[#6&v4:9])-[#6&v4:10](-[#1&v1:11])=[#6&v4:12]-1-[#1&v1:13])>>([#1&+&v0:3].[#6&v4:1]1(-[#1&v1:2]):[#6&v4:4](-[#6&v4:5]):[#7&v3:7]:[#6&v4:8](-[#6&v4:9]):[#6&v4:10](-[#1&v1:11]):[#6&v4:12]:1-[#1&v1:13].[#7&v3](=[#6&v4](-[#8&v2]-[#1&v1])-[#6&v4]1=[#6&v4](-[#1&v1])-[#7&v3](-[#6&v4]2(-[#1&v1])-[#8&v2]-[#6&v4](-[#6&v4](-[#8&v2]-[#15&v5](=[#8&v2])(-[#8&v2]-[#1&v1])-[#8&v2]-[#15&v5](=[#8&v2])(-[#8&v2]-[#1&v1])-[#8&v2]-[#6&v4](-[#6&v4]3(-[#1&v1])-[#6&v4](-[#8&v2]-[#1&v1])(-[#1&v1])-[#6&v4](-[#8&v2]-[#1&v1])(-[#1&v1])-[#6&v4](-[#7&v3]4:[#6&v4]5:[#6&v4](:[#7&v3]:[#6&v4]:4-[#1&v1]):[#6&v4](-[#7&v3](-[#1&v1])-[#1&v1]):[#7&v3]:[#6&v4](-[#1&v1]):[#7&v3]:5)(-[#1&v1])-[#8&v2]-3)(-[#1&v1])-[#1&v1])(-[#1&v1])-[#1&v1])(-[#1&v1])-[#6&v4](-[#8&v2]-[#1&v1])(-[#1&v1])-[#6&v4]-2(-[#8&v2]-[#1&v1])-[#1&v1])-[#6&v4](-[#1&v1])=[#6&v4](-[#1&v1])-[#6&v4]-1(-[#1&v1])-[#1&v1:6])-[#1&v1]),NOEC,1,2,4.295611076923876,MNXR94742_MNXM163139,0,0,both,0.10469674387190456\n-RR-02-77612ec728280d3e-02-F,([#6&v4:1]1(-[#1&v1:2]):[#6&v4:3](-[#6&v4:4]):[#7&v3:5]:[#6&v4:6](-[#6&v4:7]):[#6&v4:8](-[#1&v1:9]):[#6&v4:10]:1-[#1&v1:11])>>([#6&v4:1]1(-[#1&v1:2])(-[#1&v1])-[#6&v4:3](-[#6&v4:4])(-[#1&v1])-[#7&v3:5]=[#6&v4:6](-[#6&v4:7])-[#6&v4:8](-[#1&v1:9])=[#6&v4:10]-1-[#1&v1:11]),NOEC,1,2,4.295611076923876,MNXR94742_MNXM5133,0,0,both,0.10469674387190456\n-RR-02-816e42d0572b2247-02-F,([#8&v2:1](-[#6&v4:2])-[#6&v4:3](=[#8&v2:4])-[#6&v4:5])>>([#8&v2](-[#6&v4:3](=[#8&v2:4])-[#6&v4:5])-[#1&v1].[#8&v2:1](-[#6&v4:2])-[#1&v1]),2.3.1.40,1,2,1.0,MNXR94760_MNXM32178,1,1,retro,0.33436669294558924\n-RR-02-f35f06f7fc99a0f4-02-F,([#6&v4:1]-[#8&v2:2]-[#6&v4:3](=[#8&v2:4])-[#6&v4:5])>>([#6&v4:3]('..b'-62cc105b2ac1e9c0-02-F,([#15&v5:1](=[#8&v2:2])(-[#8&v2:3])(-[#8&v2:4])-[#8&v2:5]-[#6&v4:6])>>([#7&v3](=[#6&v4]1:[#7&v3]:[#6&v4](-[#8&v2]-[#1&v1]):[#6&v4]2:[#7&v3]:[#6&v4](-[#1&v1]):[#7&v3](-[#6&v4]3(-[#1&v1])-[#8&v2]-[#6&v4](-[#6&v4](-[#8&v2]-[#15&v5](=[#8&v2])(-[#8&v2]-[#1&v1])-[#8&v2]-[#15&v5](-[#8&v2]-[#15&v5:1](=[#8&v2:2])(-[#8&v2:3])-[#8&v2:4])(=[#8&v2])-[#8&v2]-[#1&v1])(-[#1&v1])-[#1&v1])(-[#1&v1])-[#6&v4](-[#8&v2]-[#1&v1])(-[#1&v1])-[#6&v4]-3(-[#8&v2]-[#1&v1])-[#1&v1]):[#6&v4]:2:[#7&v3]:1-[#1&v1])-[#1&v1].[#8&v2:5](-[#6&v4:6])-[#1&v1]),NOEC,1,2,4.295611076923876,MNXR94829_MNXM2888,1,1,retro,0.10469674387190456\n-RR-02-c279b93647bbe181-02-F,([#6&v4:1]-[#8&v2:2]-[#15&v5:3](=[#8&v2:4])(-[#8&v2:5])-[#8&v2:6])>>([#6&v4:1]-[#8&v2:2]-[#1&v1].[#8&v2](-[#6&v4]1:[#7&v3]:[#6&v4](=[#8&v2]):[#7&v3](-[#6&v4]2(-[#1&v1])-[#8&v2]-[#6&v4](-[#6&v4](-[#8&v2]-[#1&v1])(-[#1&v1])-[#1&v1])(-[#1&v1])-[#6&v4](-[#8&v2]-[#15&v5:3](=[#8&v2:4])(-[#8&v2:5])-[#8&v2:6])(-[#1&v1])-[#6&v4]-2(-[#8&v2]-[#1&v1])-[#1&v1]):[#6&v4](-[#1&v1]):[#6&v4]:1-[#1&v1])-[#1&v1]),NOEC,1,2,3.3047058982127653,MNXR94933_MNXM1170,0,0,both,0.13194749347100665\n-RR-02-a7836cb07a9fb282-02-F,([#6&v4:1]-[#8&v2:2]-[#1&v1:3])>>([#6&v4:1]-[#8&v2:2]-[#15&v5](=[#8&v2])(-[#8&v2]-[#1&v1])-[#8&v2]-[#1&v1].[#8&v2](-[#1&v1:3])-[#1&v1]),NOEC,1,2,3.3059958827708047,MNXR94933_MNXM288,0,0,both,0.13190279921589496\n-RR-02-edfb6d53c4ae6843-02-F,([#6&v4:1]-[#8&v2:2]-[#15&v5:3](=[#8&v2:4])(-[#8&v2:5])-[#8&v2:6])>>([#6&v4:1]-[#8&v2:2]-[#1&v1].[#8&v2](-[#6&v4](=[#8&v2])-[#6&v4](-[#8&v2]-[#1&v1])(-[#6&v4](=[#8&v2])-[#6&v4](-[#8&v2]-[#1&v1])(-[#6&v4](-[#6&v4](-[#8&v2]-[#15&v5:3](=[#8&v2:4])(-[#8&v2:5])-[#8&v2:6])(-[#1&v1])-[#1&v1])(-[#8&v2]-[#1&v1])-[#1&v1])-[#1&v1])-[#1&v1])-[#1&v1]),NOEC,1,2,3.3047058982127653,MNXR94933_MNXM2184,0,0,both,0.13194749347100665\n-RR-02-178dd86b0979d514-02-F,([#6&v4:1]-[#8&v2:2]-[#1&v1:3])>>([#6&v4](-[#8&v2]-[#15&v5](=[#8&v2])(-[#8&v2]-[#1&v1])-[#8&v2]-[#15&v5](=[#8&v2])(-[#8&v2]-[#1&v1])-[#8&v2]-[#1&v1:3])(-[#6&v4]1(-[#1&v1])-[#6&v4](-[#8&v2]-[#1&v1])(-[#1&v1])-[#6&v4](-[#8&v2]-[#1&v1])(-[#1&v1])-[#6&v4](-[#7&v3]2:[#6&v4](-[#1&v1]):[#7&v3]:[#6&v4]3:[#6&v4](-[#7&v3](-[#1&v1])-[#1&v1]):[#7&v3]:[#6&v4](-[#1&v1]):[#7&v3]:[#6&v4]:2:3)(-[#1&v1])-[#8&v2]-1)(-[#1&v1])-[#1&v1].[#6&v4:1]-[#8&v2:2]-[#15&v5](=[#8&v2])(-[#8&v2]-[#1&v1])-[#8&v2]-[#1&v1]),NOEC,1,2,3.3047058982127653,MNXR94933_MNXM736,0,0,both,0.13194749347100665\n-RR-02-661072f99fdfbbaf-02-F,([#8&v2:1](-[#8&v2:2]-[#1&v1:3])-[#1&v1:4])>>([#8&-&v1]-[#7&+&v4](-[#6&v4]1:[#6&v4](-[#8&v2]-[#1&v1]):[#6&v4](-[#1&v1]):[#6&v4](-[#1&v1]):[#6&v4](-[#6&v4](-[#6&v4](-[#7&v3](-[#1&v1])-[#1&v1])(-[#1&v1])-[#1&v1:3])(-[#1&v1])-[#1&v1]):[#6&v4]:1-[#1&v1])=[#8&v2].[#8&v2](-[#1&v1:4])-[#1&v1].[#8&v2:1]=[#8&v2:2]),NOEC,1,2,1.8061799739838869,MNXR94937_MNXM22,0,0,both,0.21759878190509843\n-RR-02-585ce5656b8f31a2-02-F,([#6&v4:1]-[#6&v4:2](=[#8&v2:3])-[#1&v1:4])>>([#6&v4:1]-[#6&v4:2](-[#7&v3](-[#1&v1])-[#1&v1])(-[#1&v1:4])-[#1&v1].[#8&v2:3](-[#1&v1])-[#1&v1]),NOEC,1,2,1.8061799739838869,MNXR94937_MNXM97102,0,0,both,0.21759878190509843\n-RR-02-0ccafd5c7a47401c-02-F,([#6&v4:1]-[#6&v4:2](-[#7&v3:3](-[#1&v1:4])-[#1&v1:5])(-[#1&v1:6])-[#1&v1:7])>>([#6&v4:1]-[#6&v4:2](=[#8&v2])-[#1&v1:6].[#7&v3:3](-[#1&v1:4])(-[#1&v1:5])-[#1&v1].[#8&v2](-[#8&v2]-[#1&v1:7])-[#1&v1]),NOEC,1,2,1.8061799739838869,MNXR94937_MNXM97190,0,0,both,0.21759878190509843\n-RR-02-6d2fe140bdd4bb66-02-F,([#6&v4:1]:[#6&v4:2](-[#8&v2:3]-[#1&v1:4]):[#6&v4:5])>>([#6&v4:1]:[#6&v4:2](-[#1&v1:4]):[#6&v4:5].[#8&v2:3]=[#8&v2]),NOEC,1,2,2.24551266781415,MNXR94965_MNXM2783,0,0,both,0.18280846932054326\n-RR-02-0e609023fbda6ee1-02-F,([#6&v4:1]:[#6&v4:2](-[#1&v1:3]):[#6&v4:4])>>([#6&v4:1]:[#6&v4:2](-[#8&v2]-[#1&v1:3]):[#6&v4:4]),NOEC,1,2,2.24551266781415,MNXR94965_MNXM3167,0,0,both,0.18280846932054326\n-RR-02-18c81873156024c3-02-F,([#6&v4:1]-[#16&v4:2](=[#8&v2:3])-[#8&v2:4])>>([#6&v4:1]-[#16&v6:2](=[#8&v2:3])(-[#8&v2:4])=[#8&v2]),NOEC,1,2,4.295611076923876,MNXR94979_MNXM498,0,0,both,0.10469674387190456\n'