changeset 2:a6ec6c55267e draft

"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/chemicaltoolbox/rdock commit db76c3bc4ced257e2f622fcf8fcc6d2e28de3577"
author bgruening
date Tue, 14 Apr 2020 06:35:35 -0400
parents 4812dc209abd
children 13f16cd0500f
files sort_filter.xml test-data/poses-desc-noglobal.sdf test-data/poses-filt-0.2.sdf test-data/poses-filt-only.sdf
diffstat 4 files changed, 434 insertions(+), 19 deletions(-) [+]
line wrap: on
line diff
--- a/sort_filter.xml	Fri Apr 03 13:33:32 2020 -0400
+++ b/sort_filter.xml	Tue Apr 14 06:35:35 2020 -0400
@@ -1,4 +1,4 @@
-<tool id="rdock_sort_filter" name="SDF sort and filter" version="0.1.0">
+<tool id="rdock_sort_filter" name="SDF sort and filter" version="0.2.0">
     <description>using the sdsort provided with rDock</description>
     <macros>
         <import>rdock_macros.xml</import>
@@ -6,16 +6,38 @@
     <expand macro="requirements"/>
     <command><![CDATA[
 
-sdsort -n $descending -s -f'$sort_field' -id'$name_field' '$input' |
-  sdfilter -f'\$_COUNT <= $top' -s'$name_field' |
-  sdsort -n $descending -f'$sort_field' > '$output'
+cat '$input'
+#if $filter
+| sdfilter -f'$filter'
+#end if
+#if $name_field
+| sdsort -n $descending -s -f'$sort_field' -id'$name_field'
+| sdfilter -f'\$_COUNT <= $top' -s'$name_field'
+#end if
+#if $global_sort and $sort_field
+| sdsort -n $descending -f'$sort_field'
+#end if
+> '$output'
 
     ]]></command>
 
     <inputs>
         <param type="data" name="input" format="sdf" label="Molecules" help="Molecules in SDF format"/>
-        <param name="top" type="integer" value="1" label="Number of records to keep in output" help="Number of best scoring records to keep"/>
-        <param name="sort_field" type="text" label="Field to sort on" optional="false" help="Name of the field to sort records by">
+
+        <param name="filter" type="text" label="Filter expression" optional="true" help="Perl expression for filter">
+            <sanitizer>
+                <valid initial="string.printable">
+                    <remove value="&apos;"/>
+                    <remove value="&quot;"/>
+                    <remove value="@"/>
+                    <remove value="#"/>                    
+                    <remove value="|"/>                    
+                </valid>
+                <mapping initial="none"/>
+            </sanitizer>
+        </param>
+
+        <param name="sort_field" type="text" label="Field to sort on" optional="true" help="Name of the field to sort records by">
             <sanitizer>
                 <valid initial="string.printable">
                     <remove value="&apos;"/>
@@ -23,16 +45,21 @@
                 <mapping initial="none"/>
             </sanitizer>
         </param>
-        <param name="name_field" type="text" label="Grouping field name" optional="false" help="Name of the field to group records by (must be sequential)">
+        <param name="descending" type="boolean" label="Sort descending" truevalue="-r" falsevalue="" checked="true"
+               help="Sort ascending or descending"/>
+        <param name="global_sort" type="boolean" label="Global sort" checked="true"
+               help="Sort all records in file after filtering (true) or just sort within the blocks identified by $name_field (false)"/>
+
+        <param name="name_field" type="text" label="Grouping field name" optional="true" help="Name of the field to group records by (must be sequential)">
             <sanitizer>
                 <valid initial="string.printable">
                     <remove value="&apos;"/>
                 </valid>
                 <mapping initial="none"/>
             </sanitizer>
-        </param>    
-        <param name="descending" type="boolean" label="Sort descending" truevalue="-r" falsevalue="" checked="true"
-               help="Generate the name field (first line) for cases where this is empty"/>
+        </param>
+        <param name="top" type="integer" value="1" label="Number of records to keep in output" optional="true" help="Number of best scoring records to keep"/>
+
     </inputs>
     <outputs>
         <data name="output" format="sdf" label="SDF sort+filter on ${on_string}"/>
@@ -42,14 +69,44 @@
             <param name="input" value="poses.sdf"/>
             <param name="sort_field" value="TransFSScore"/>
             <param name="name_field" value="Name"/>
-            <output name="output" file="poses-descending.sdf" ftype="sdf" />
+            <param name="descending" value="True"/>
+            <output name="output" file="poses-descending.sdf" ftype="sdf"/>
         </test>
         <test>
             <param name="input" value="poses.sdf"/>
             <param name="sort_field" value="TransFSScore"/>
             <param name="name_field" value="Name"/>
             <param name="descending" value="False"/>
-            <output name="output" file="poses-ascending.sdf" ftype="sdf" />
+            <output name="output" file="poses-ascending.sdf" ftype="sdf"/>
+        </test>
+        <test>
+            <param name="input" value="poses.sdf"/>
+            <param name="filter" value="$TransFSScore > 0.2"/>
+            <param name="sort_field" value="TransFSScore"/>
+            <param name="name_field" value="Name"/>
+            <param name="descending" value="False"/>
+            <output name="output" file="poses-filt-0.2.sdf" ftype="sdf"/>
+        </test>
+        <test>
+            <param name="input" value="poses.sdf"/>
+            <param name="filter" value="$TransFSScore > 0.1 and $TransFSScore > 0.2"/>
+            <param name="sort_field" value="TransFSScore"/>
+            <param name="name_field" value="Name"/>
+            <param name="descending" value="False"/>
+            <output name="output" file="poses-filt-0.2.sdf" ftype="sdf"/>
+        </test>
+        <test>
+            <param name="input" value="poses.sdf"/>
+            <param name="sort_field" value="TransFSScore"/>
+            <param name="name_field" value="Name"/>
+            <param name="descending" value="True"/>
+            <param name="global_sort" value="False"/>
+            <output name="output" file="poses-desc-noglobal.sdf" ftype="sdf"/>
+        </test>
+        <test>
+            <param name="input" value="poses.sdf"/>
+            <param name="filter" value="$TransFSScore > 0.2"/>
+            <output name="output" file="poses-filt-only.sdf" ftype="sdf"/>
         </test>
     </tests>
     <help><![CDATA[
@@ -65,19 +122,31 @@
 .. class:: infomark
 
 **Inputs**
-An SD-file, together with names of fields to sort and group records by, and the number of records to appear in the output.
-The sorting is performed on groups of molecules, with the group being identified by a field in the SDF (the name_field
-parameter). Records from a group MUST be sequential.
-The records within each group are sorted by the value of a field in the SDF (the sort_field parameter) and you can
-specify ascending or descending order (the descending parameter).
-Finally a number of top scoring (the top parameter, typically having a value of 1) are written to the output.
+An SD-file, together with names of fields to filter, sort and group records by, and the number of records to appear in the output.
+
+An optional filter can be specified that is first applied to the records. This filter (the 'filter' parameter) must be
+specified as required by the 'sdfilter' application (see http://rdock.sourceforge.net/wp-content/uploads/2015/08/rDock_User_Guide.pdf)
+which is a Perl expression. As an example, if your SDF has a field name 'SCORE' which has numeric values then a valid
+filter expression would be '$SCORE > 90' (note the $ symbol).
+If you require to use multiple filters then you can combine them in a single expression like this:
+'$A < 5 and $B <7', or '$A < 5 or $B <7'
+
+The sorting is then performed on groups of molecules, with the groups being identified by a field in the SD-file (the 'name_field'
+parameter). Records from a group MUST be sequential in the input file. If 'name_field' is not specified then this grouping
+and sorting step is skipped. Sorting is performed by the rDock 'sdsort' application.
+The records within each group are sorted by the value of a field in the SD-file (the 'sort_field' parameter) and you can
+specify ascending or descending order (the 'descending' parameter).
+Then a number of top scoring (the 'top' parameter, typically having a value of 1) are retained.
+
+Finally, if the 'global_sort' parameter is set to 'True' then the all the records remaining are sorted according to the
+'sort_field' and 'descending' parameters. Note: this step can use lots of memory if the files are very big.
 
 -----
 
 .. class:: infomark
 
 **Outputs**
-An SD-file, containing molecules filtered by the field specified.
+An SD-file, containing molecules filtered and sorted according to the parameters.
 
     ]]></help>
     <expand macro="citations"/>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/poses-desc-noglobal.sdf	Tue Apr 14 06:35:35 2020 -0400
@@ -0,0 +1,130 @@
+COCC(C)C(CCl)c1cccc(Br)c1
+ OpenBabel03162018053D
+libRbt.so/2013.1/901 2013/11/27
+ 15 15  0  0  0  0  0  0  0  0999 V2000
+   10.5975   -1.6265   24.3456 C   0  0  0  0  0  0  0  0  0  0  0  0
+    9.9876   -2.4972   23.3994 O   0  0  0  0  0  0  0  0  0  0  0  0
+    8.5655   -2.3484   23.4275 C   0  0  0  0  0  0  0  0  0  0  0  0
+    7.9288   -3.2311   22.3401 C   0  0  1  0  0  0  0  0  0  0  0  0
+    8.0397   -4.7166   22.7175 C   0  0  0  0  0  0  0  0  0  0  0  0
+    6.4621   -2.8051   21.9660 C   0  0  1  0  0  0  0  0  0  0  0  0
+    5.4266   -3.1085   23.0863 C   0  0  0  0  0  0  0  0  0  0  0  0
+    5.5671   -2.0982   24.5513 Cl  0  0  0  0  0  0  0  0  0  0  0  0
+    6.3532   -1.4007   21.3371 C   0  0  0  0  0  0  0  0  0  0  0  0
+    6.4668   -0.2249   22.1042 C   0  0  0  0  0  0  0  0  0  0  0  0
+    6.3963    1.0427   21.5193 C   0  0  0  0  0  0  0  0  0  0  0  0
+    6.1859    1.1744   20.1518 C   0  0  0  0  0  0  0  0  0  0  0  0
+    6.0190    0.0317   19.3806 C   0  0  0  0  0  0  0  0  0  0  0  0
+    5.7201    0.1935   17.5198 Br  0  0  0  0  0  0  0  0  0  0  0  0
+    6.0801   -1.2369   19.9634 C   0  0  0  0  0  0  0  0  0  0  0  0
+  1  2  1  0  0  0  0
+  2  3  1  0  0  0  0
+  3  4  1  0  0  0  0
+  4  5  1  1  0  0  0
+  4  6  1  0  0  0  0
+  6  7  1  1  0  0  0
+  6  9  1  0  0  0  0
+  7  8  1  0  0  0  0
+  9 10  1  0  0  0  0
+  9 15  2  0  0  0  0
+ 10 11  2  0  0  0  0
+ 11 12  1  0  0  0  0
+ 12 13  2  0  0  0  0
+ 13 14  1  0  0  0  0
+ 13 15  1  0  0  0  0
+M  END
+>  <Name>
+COCC(C)C(CCl)c1cccc(Br)c1
+
+>  <TransFSScore>
+0.258377
+
+$$$$
+COCC(C)C(CO)c1ccc(Br)cc1
+ OpenBabel03162018053D
+libRbt.so/2013.1/901 2013/11/27
+ 16 16  0  0  0  0  0  0  0  0999 V2000
+    5.1209   -3.0737   26.6189 C   0  0  0  0  0  0  0  0  0  0  0  0
+    5.2470   -2.2997   25.4319 O   0  0  0  0  0  0  0  0  0  0  0  0
+    6.6087   -2.1896   25.0116 C   0  0  0  0  0  0  0  0  0  0  0  0
+    6.6915   -1.2882   23.7597 C   0  0  1  0  0  0  0  0  0  0  0  0
+    8.1245   -0.7354   23.6481 C   0  0  0  0  0  0  0  0  0  0  0  0
+    6.2475   -2.0456   22.4671 C   0  0  1  0  0  0  0  0  0  0  0  0
+    4.8752   -2.7399   22.6419 C   0  0  0  0  0  0  0  0  0  0  0  0
+    4.9977   -4.0000   23.2991 O   0  0  0  0  0  0  0  0  0  0  0  0
+    6.2126   -1.1502   21.2243 C   0  0  0  0  0  0  0  0  0  0  0  0
+    6.1393   -1.7450   19.9523 C   0  0  0  0  0  0  0  0  0  0  0  0
+    6.0915   -0.9617   18.7969 C   0  0  0  0  0  0  0  0  0  0  0  0
+    6.1145    0.4251   18.9029 C   0  0  0  0  0  0  0  0  0  0  0  0
+    6.0611    1.4863   17.3396 Br  0  0  0  0  0  0  0  0  0  0  0  0
+    6.1760    1.0355   20.1544 C   0  0  0  0  0  0  0  0  0  0  0  0
+    6.2225    0.2504   21.3109 C   0  0  0  0  0  0  0  0  0  0  0  0
+    4.0953   -4.3353   23.4490 H   0  0  0  0  0  0  0  0  0  0  0  0
+  1  2  1  0  0  0  0
+  2  3  1  0  0  0  0
+  3  4  1  0  0  0  0
+  4  5  1  6  0  0  0
+  4  6  1  0  0  0  0
+  6  7  1  1  0  0  0
+  6  9  1  0  0  0  0
+  7  8  1  0  0  0  0
+  8 16  1  0  0  0  0
+  9 10  1  0  0  0  0
+  9 15  2  0  0  0  0
+ 10 11  2  0  0  0  0
+ 11 12  1  0  0  0  0
+ 12 13  1  0  0  0  0
+ 12 14  2  0  0  0  0
+ 14 15  1  0  0  0  0
+M  END
+>  <Name>
+COCC(C)C(CO)c1ccc(Br)cc1
+
+>  <TransFSScore>
+0.173348
+
+$$$$
+COCC(C)OCCOc1ccc(Br)cc1
+ OpenBabel03162018053D
+libRbt.so/2013.1/901 2013/11/27
+ 16 16  0  0  0  0  0  0  0  0999 V2000
+    5.6650   -5.5958   25.3680 C   0  0  0  0  0  0  0  0  0  0  0  0
+    5.1057   -4.4972   26.0732 O   0  0  0  0  0  0  0  0  0  0  0  0
+    6.0785   -3.4881   26.3491 C   0  0  0  0  0  0  0  0  0  0  0  0
+    5.4358   -2.3388   27.1440 C   0  0  1  0  0  0  0  0  0  0  0  0
+    4.9482   -2.8397   28.5054 C   0  0  0  0  0  0  0  0  0  0  0  0
+    6.4151   -1.2967   27.2873 O   0  0  0  0  0  0  0  0  0  0  0  0
+    6.6267   -0.5481   26.0900 C   0  0  0  0  0  0  0  0  0  0  0  0
+    5.3817    0.2676   25.7585 C   0  0  0  0  0  0  0  0  0  0  0  0
+    5.6866    1.1011   24.6394 O   0  0  0  0  0  0  0  0  0  0  0  0
+    5.7821    0.4960   23.4174 C   0  0  0  0  0  0  0  0  0  0  0  0
+    5.7162   -0.8770   23.1782 C   0  0  0  0  0  0  0  0  0  0  0  0
+    5.8146   -1.3676   21.8707 C   0  0  0  0  0  0  0  0  0  0  0  0
+    5.9820   -0.4818   20.8080 C   0  0  0  0  0  0  0  0  0  0  0  0
+    6.1007   -1.1472   19.0431 Br  0  0  0  0  0  0  0  0  0  0  0  0
+    6.0584    0.8879   21.0380 C   0  0  0  0  0  0  0  0  0  0  0  0
+    5.9602    1.3731   22.3447 C   0  0  0  0  0  0  0  0  0  0  0  0
+  1  2  1  0  0  0  0
+  2  3  1  0  0  0  0
+  3  4  1  0  0  0  0
+  4  5  1  1  0  0  0
+  4  6  1  0  0  0  0
+  6  7  1  0  0  0  0
+  7  8  1  0  0  0  0
+  8  9  1  0  0  0  0
+  9 10  1  0  0  0  0
+ 10 11  1  0  0  0  0
+ 10 16  2  0  0  0  0
+ 11 12  2  0  0  0  0
+ 12 13  1  0  0  0  0
+ 13 14  1  0  0  0  0
+ 13 15  2  0  0  0  0
+ 15 16  1  0  0  0  0
+M  END
+>  <Name>
+COCC(C)OCCOc1ccc(Br)cc1
+
+>  <TransFSScore>
+0.900000
+
+$$$$
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/poses-filt-0.2.sdf	Tue Apr 14 06:35:35 2020 -0400
@@ -0,0 +1,86 @@
+COCC(C)OCCOc1ccc(Br)cc1
+ OpenBabel03162018053D
+libRbt.so/2013.1/901 2013/11/27
+ 16 16  0  0  0  0  0  0  0  0999 V2000
+    1.5854   -4.4167   26.8713 C   0  0  0  0  0  0  0  0  0  0  0  0
+    2.9171   -3.9650   27.0697 O   0  0  0  0  0  0  0  0  0  0  0  0
+    3.3204   -3.0325   26.0654 C   0  0  0  0  0  0  0  0  0  0  0  0
+    4.0629   -3.7637   24.9341 C   0  0  1  0  0  0  0  0  0  0  0  0
+    3.0725   -4.5314   24.0556 C   0  0  0  0  0  0  0  0  0  0  0  0
+    4.7894   -2.7836   24.1743 O   0  0  0  0  0  0  0  0  0  0  0  0
+    5.8770   -3.3338   23.4307 C   0  0  0  0  0  0  0  0  0  0  0  0
+    6.3647   -2.3248   22.3968 C   0  0  0  0  0  0  0  0  0  0  0  0
+    5.2636   -1.9969   21.5481 O   0  0  0  0  0  0  0  0  0  0  0  0
+    5.5320   -1.2441   20.4392 C   0  0  0  0  0  0  0  0  0  0  0  0
+    5.2993   -1.6247   19.1173 C   0  0  0  0  0  0  0  0  0  0  0  0
+    5.6084   -0.7491   18.0695 C   0  0  0  0  0  0  0  0  0  0  0  0
+    6.1526    0.5029   18.3492 C   0  0  0  0  0  0  0  0  0  0  0  0
+    6.5557    1.6873   16.9327 Br  0  0  0  0  0  0  0  0  0  0  0  0
+    6.3970    0.8871   19.6636 C   0  0  0  0  0  0  0  0  0  0  0  0
+    6.0874    0.0098   20.7062 C   0  0  0  0  0  0  0  0  0  0  0  0
+  1  2  1  0  0  0  0
+  2  3  1  0  0  0  0
+  3  4  1  0  0  0  0
+  4  5  1  6  0  0  0
+  4  6  1  0  0  0  0
+  6  7  1  0  0  0  0
+  7  8  1  0  0  0  0
+  8  9  1  0  0  0  0
+  9 10  1  0  0  0  0
+ 10 11  1  0  0  0  0
+ 10 16  2  0  0  0  0
+ 11 12  2  0  0  0  0
+ 12 13  1  0  0  0  0
+ 13 14  1  0  0  0  0
+ 13 15  2  0  0  0  0
+ 15 16  1  0  0  0  0
+M  END
+>  <Name>
+COCC(C)OCCOc1ccc(Br)cc1
+
+>  <TransFSScore>
+0.239591
+
+$$$$
+COCC(C)C(CCl)c1cccc(Br)c1
+ OpenBabel03162018053D
+libRbt.so/2013.1/901 2013/11/27
+ 15 15  0  0  0  0  0  0  0  0999 V2000
+   10.5975   -1.6265   24.3456 C   0  0  0  0  0  0  0  0  0  0  0  0
+    9.9876   -2.4972   23.3994 O   0  0  0  0  0  0  0  0  0  0  0  0
+    8.5655   -2.3484   23.4275 C   0  0  0  0  0  0  0  0  0  0  0  0
+    7.9288   -3.2311   22.3401 C   0  0  1  0  0  0  0  0  0  0  0  0
+    8.0397   -4.7166   22.7175 C   0  0  0  0  0  0  0  0  0  0  0  0
+    6.4621   -2.8051   21.9660 C   0  0  1  0  0  0  0  0  0  0  0  0
+    5.4266   -3.1085   23.0863 C   0  0  0  0  0  0  0  0  0  0  0  0
+    5.5671   -2.0982   24.5513 Cl  0  0  0  0  0  0  0  0  0  0  0  0
+    6.3532   -1.4007   21.3371 C   0  0  0  0  0  0  0  0  0  0  0  0
+    6.4668   -0.2249   22.1042 C   0  0  0  0  0  0  0  0  0  0  0  0
+    6.3963    1.0427   21.5193 C   0  0  0  0  0  0  0  0  0  0  0  0
+    6.1859    1.1744   20.1518 C   0  0  0  0  0  0  0  0  0  0  0  0
+    6.0190    0.0317   19.3806 C   0  0  0  0  0  0  0  0  0  0  0  0
+    5.7201    0.1935   17.5198 Br  0  0  0  0  0  0  0  0  0  0  0  0
+    6.0801   -1.2369   19.9634 C   0  0  0  0  0  0  0  0  0  0  0  0
+  1  2  1  0  0  0  0
+  2  3  1  0  0  0  0
+  3  4  1  0  0  0  0
+  4  5  1  1  0  0  0
+  4  6  1  0  0  0  0
+  6  7  1  1  0  0  0
+  6  9  1  0  0  0  0
+  7  8  1  0  0  0  0
+  9 10  1  0  0  0  0
+  9 15  2  0  0  0  0
+ 10 11  2  0  0  0  0
+ 11 12  1  0  0  0  0
+ 12 13  2  0  0  0  0
+ 13 14  1  0  0  0  0
+ 13 15  1  0  0  0  0
+M  END
+>  <Name>
+COCC(C)C(CCl)c1cccc(Br)c1
+
+>  <TransFSScore>
+0.258377
+
+$$$$
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/poses-filt-only.sdf	Tue Apr 14 06:35:35 2020 -0400
@@ -0,0 +1,130 @@
+COCC(C)C(CCl)c1cccc(Br)c1
+ OpenBabel03162018053D
+libRbt.so/2013.1/901 2013/11/27
+ 15 15  0  0  0  0  0  0  0  0999 V2000
+   10.5975   -1.6265   24.3456 C   0  0  0  0  0  0  0  0  0  0  0  0
+    9.9876   -2.4972   23.3994 O   0  0  0  0  0  0  0  0  0  0  0  0
+    8.5655   -2.3484   23.4275 C   0  0  0  0  0  0  0  0  0  0  0  0
+    7.9288   -3.2311   22.3401 C   0  0  1  0  0  0  0  0  0  0  0  0
+    8.0397   -4.7166   22.7175 C   0  0  0  0  0  0  0  0  0  0  0  0
+    6.4621   -2.8051   21.9660 C   0  0  1  0  0  0  0  0  0  0  0  0
+    5.4266   -3.1085   23.0863 C   0  0  0  0  0  0  0  0  0  0  0  0
+    5.5671   -2.0982   24.5513 Cl  0  0  0  0  0  0  0  0  0  0  0  0
+    6.3532   -1.4007   21.3371 C   0  0  0  0  0  0  0  0  0  0  0  0
+    6.4668   -0.2249   22.1042 C   0  0  0  0  0  0  0  0  0  0  0  0
+    6.3963    1.0427   21.5193 C   0  0  0  0  0  0  0  0  0  0  0  0
+    6.1859    1.1744   20.1518 C   0  0  0  0  0  0  0  0  0  0  0  0
+    6.0190    0.0317   19.3806 C   0  0  0  0  0  0  0  0  0  0  0  0
+    5.7201    0.1935   17.5198 Br  0  0  0  0  0  0  0  0  0  0  0  0
+    6.0801   -1.2369   19.9634 C   0  0  0  0  0  0  0  0  0  0  0  0
+  1  2  1  0  0  0  0
+  2  3  1  0  0  0  0
+  3  4  1  0  0  0  0
+  4  5  1  1  0  0  0
+  4  6  1  0  0  0  0
+  6  7  1  1  0  0  0
+  6  9  1  0  0  0  0
+  7  8  1  0  0  0  0
+  9 10  1  0  0  0  0
+  9 15  2  0  0  0  0
+ 10 11  2  0  0  0  0
+ 11 12  1  0  0  0  0
+ 12 13  2  0  0  0  0
+ 13 14  1  0  0  0  0
+ 13 15  1  0  0  0  0
+M  END
+>  <Name>
+COCC(C)C(CCl)c1cccc(Br)c1
+
+>  <TransFSScore>
+0.258377
+
+$$$$
+COCC(C)OCCOc1ccc(Br)cc1
+ OpenBabel03162018053D
+libRbt.so/2013.1/901 2013/11/27
+ 16 16  0  0  0  0  0  0  0  0999 V2000
+    1.5854   -4.4167   26.8713 C   0  0  0  0  0  0  0  0  0  0  0  0
+    2.9171   -3.9650   27.0697 O   0  0  0  0  0  0  0  0  0  0  0  0
+    3.3204   -3.0325   26.0654 C   0  0  0  0  0  0  0  0  0  0  0  0
+    4.0629   -3.7637   24.9341 C   0  0  1  0  0  0  0  0  0  0  0  0
+    3.0725   -4.5314   24.0556 C   0  0  0  0  0  0  0  0  0  0  0  0
+    4.7894   -2.7836   24.1743 O   0  0  0  0  0  0  0  0  0  0  0  0
+    5.8770   -3.3338   23.4307 C   0  0  0  0  0  0  0  0  0  0  0  0
+    6.3647   -2.3248   22.3968 C   0  0  0  0  0  0  0  0  0  0  0  0
+    5.2636   -1.9969   21.5481 O   0  0  0  0  0  0  0  0  0  0  0  0
+    5.5320   -1.2441   20.4392 C   0  0  0  0  0  0  0  0  0  0  0  0
+    5.2993   -1.6247   19.1173 C   0  0  0  0  0  0  0  0  0  0  0  0
+    5.6084   -0.7491   18.0695 C   0  0  0  0  0  0  0  0  0  0  0  0
+    6.1526    0.5029   18.3492 C   0  0  0  0  0  0  0  0  0  0  0  0
+    6.5557    1.6873   16.9327 Br  0  0  0  0  0  0  0  0  0  0  0  0
+    6.3970    0.8871   19.6636 C   0  0  0  0  0  0  0  0  0  0  0  0
+    6.0874    0.0098   20.7062 C   0  0  0  0  0  0  0  0  0  0  0  0
+  1  2  1  0  0  0  0
+  2  3  1  0  0  0  0
+  3  4  1  0  0  0  0
+  4  5  1  6  0  0  0
+  4  6  1  0  0  0  0
+  6  7  1  0  0  0  0
+  7  8  1  0  0  0  0
+  8  9  1  0  0  0  0
+  9 10  1  0  0  0  0
+ 10 11  1  0  0  0  0
+ 10 16  2  0  0  0  0
+ 11 12  2  0  0  0  0
+ 12 13  1  0  0  0  0
+ 13 14  1  0  0  0  0
+ 13 15  2  0  0  0  0
+ 15 16  1  0  0  0  0
+M  END
+>  <Name>
+COCC(C)OCCOc1ccc(Br)cc1
+
+>  <TransFSScore>
+0.239591
+
+$$$$
+COCC(C)OCCOc1ccc(Br)cc1
+ OpenBabel03162018053D
+libRbt.so/2013.1/901 2013/11/27
+ 16 16  0  0  0  0  0  0  0  0999 V2000
+    5.6650   -5.5958   25.3680 C   0  0  0  0  0  0  0  0  0  0  0  0
+    5.1057   -4.4972   26.0732 O   0  0  0  0  0  0  0  0  0  0  0  0
+    6.0785   -3.4881   26.3491 C   0  0  0  0  0  0  0  0  0  0  0  0
+    5.4358   -2.3388   27.1440 C   0  0  1  0  0  0  0  0  0  0  0  0
+    4.9482   -2.8397   28.5054 C   0  0  0  0  0  0  0  0  0  0  0  0
+    6.4151   -1.2967   27.2873 O   0  0  0  0  0  0  0  0  0  0  0  0
+    6.6267   -0.5481   26.0900 C   0  0  0  0  0  0  0  0  0  0  0  0
+    5.3817    0.2676   25.7585 C   0  0  0  0  0  0  0  0  0  0  0  0
+    5.6866    1.1011   24.6394 O   0  0  0  0  0  0  0  0  0  0  0  0
+    5.7821    0.4960   23.4174 C   0  0  0  0  0  0  0  0  0  0  0  0
+    5.7162   -0.8770   23.1782 C   0  0  0  0  0  0  0  0  0  0  0  0
+    5.8146   -1.3676   21.8707 C   0  0  0  0  0  0  0  0  0  0  0  0
+    5.9820   -0.4818   20.8080 C   0  0  0  0  0  0  0  0  0  0  0  0
+    6.1007   -1.1472   19.0431 Br  0  0  0  0  0  0  0  0  0  0  0  0
+    6.0584    0.8879   21.0380 C   0  0  0  0  0  0  0  0  0  0  0  0
+    5.9602    1.3731   22.3447 C   0  0  0  0  0  0  0  0  0  0  0  0
+  1  2  1  0  0  0  0
+  2  3  1  0  0  0  0
+  3  4  1  0  0  0  0
+  4  5  1  1  0  0  0
+  4  6  1  0  0  0  0
+  6  7  1  0  0  0  0
+  7  8  1  0  0  0  0
+  8  9  1  0  0  0  0
+  9 10  1  0  0  0  0
+ 10 11  1  0  0  0  0
+ 10 16  2  0  0  0  0
+ 11 12  2  0  0  0  0
+ 12 13  1  0  0  0  0
+ 13 14  1  0  0  0  0
+ 13 15  2  0  0  0  0
+ 15 16  1  0  0  0  0
+M  END
+>  <Name>
+COCC(C)OCCOc1ccc(Br)cc1
+
+>  <TransFSScore>
+0.900000
+
+$$$$