Repository 'clustalw'
hg clone https://toolshed.g2.bx.psu.edu/repos/devteam/clustalw

Changeset 4:d9c2b2fde6a3 (2022-09-15)
Previous changeset 3:d6694932c5e0 (2017-05-22) Next changeset 5:4daabc25df00 (2022-10-02)
Commit message:
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/clustalw commit fdbbc72ea8880e53b09ca3e60bafa544d5088dbc
modified:
rgClustalw.xml
added:
macros.xml
test-data/rgClustal_testin_prot.fasta
test-data/rgClustal_testout02.aln
test-data/rgClustal_testout02.dnd
test-data/rgClustal_testout03.aln
test-data/rgClustal_testout03.dnd
removed:
repository_dependencies.xml
b
diff -r d6694932c5e0 -r d9c2b2fde6a3 macros.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/macros.xml Thu Sep 15 12:12:51 2022 +0000
[
b'@@ -0,0 +1,112 @@\n+<macros>\n+    <token name="@TOOL_VERSION@">2.1</token>\n+    <token name="@VERSION_SUFFIX@">1</token>\n+    <xml name="requirements">\n+        <requirements>\n+            <requirement type="package" version="@TOOL_VERSION@">clustalw</requirement>\n+        </requirements>\n+    </xml>\n+    <xml name="macro_options" token_algorithm="" token_multiple="" token_label="" token_default="">\n+        <conditional name="algorithm_conditional">\n+            <param name="selector" type="select" label="Algorithm for the alignment guide tree" help="Default: slow">\n+                <option value="">Slow: dynamic programming (accurate)</option>\n+                <option value="-QUICKTREE">Fast: method of Wilbur and Lipman (approximate)</option>\n+            </param>\n+            <when value="">\n+                <section name="slow_pairwise_alignments" title="Slow pairwise alignments options">\n+                    <param argument="-@ALGORITHM@" type="select" label="@LABEL@ weigth matrix" help="Default: @DEFAULT@">\n+                        <yield/>\n+                    </param>\n+                    <param argument="-PWGAPOPEN" type="integer" min="0" optional="true" label="Gap opening penalty" help="Default: 10" />\n+                    <param argument="-PWGAPEXT" type="float" min="0" optional="true" label="Gap extension penalty" help="Default: 0.1" />\n+                </section>\n+            </when>\n+            <when value="-QUICKTREE">\n+                <section name="fast_pairwise_alignments" title="Fast pairwise alignments options">\n+                    <param argument="-KTUPLE" type="integer" min="0" optional="true" label="Word size" \n+                        help="Size of exactly matching fragment that is used. Increase for speed, decrease for sensitivity. Maximum value for proteins is 2, and for DNA 4.Default: 1" />\n+                    <param argument="-TOPDIAGS" type="integer" min="0" optional="true" label="Number of best diagonals" \n+                        help="Number of k-tuple matches on each diagonal. Decrease for speed; increase for sensitivity. Default: 5" />\n+                    <param argument="-WINDOW" type="integer" min="0" optional="true" label="Window length"\n+                        help="This is the number of diagonals around each of the best diagonals that will be used. Decrease for speed; increase for sensitivity. Default: 5" />\n+                    <param argument="-PAIRGAP" type="integer" min="0" optional="true" label="Gap penalty" \n+                        help="Fast pairwise alignment gap penalty for each gap created. Default: 3" />\n+                    <param argument="-SCORE" type="select" label="Score type" help="Score type to output. Default: percent">\n+                        <option value="PERCENT">Percent</option>\n+                        <option value="ABSOLUTE">Absolute</option>\n+                    </param>\n+                </section>\n+            </when>\n+        </conditional>\n+        <section name="multiple_alignments" title="Multiple alignments options">\n+            <param argument="-@MULTIPLE@" type="select" label="@LABEL@ weigth matrix" help="Default: @DEFAULT@">\n+                <yield/>\n+            </param>\n+            <param argument="-GAPOPEN" type="integer" min="0" optional="true" label="Gap opening penalty" help="Default: 10" />\n+            <param argument="-GAPEXT" type="float" min="0" optional="true" label="Gap extension penalty" help="Default: 0.2" />\n+            <param argument="-ENDGAPS" type="boolean" truevalue="-ENDGAPS" falsevalue="" checked="false" label="End gap separation penalty" \n+                help="End gap separation treats end gaps just like internal gaps for the purposes of avoiding gaps that are too close. If you turn this off, end gaps will be ignored for this purpose. \n+                    This is useful when you wish to align fragments where the end gaps are not biologically meaningful" />\n+            <param argument="-GAPDIST" type="integer" min="0'..b' to increase the chances of a gap \n+                within a run (5 or more residues) of hydrophilic amino acids; these are likely to be loop or random coil regions where gaps are more common" />\n+            <param argument="-MAXDIV" type="integer" min="0" max="100" optional="true" label="Delay divergent sequences" help="Percentage identity for delay" />\n+            <param argument="-NEGATIVE" type="boolean" truevalue="-NEGATIVE" falsevalue="" checked="false" label="Negative values in matrix" help="Delays the alignment of the most distantly related sequences \n+                until after the most closely related sequences have been aligned. The setting shows the percent identity level required to delay the addition of a sequence; sequences that are less identical \n+                than this level to any other sequences will be aligned later" />\n+            <param argument="-TRANSWEIGHT" type="float" min="0" max="1" optional="true" label="Transition weight" help="The transition weight option for aligning nucleotide sequences has been changed in version \n+                1.7 from an on/off toggle to a weight between 0 and 1. A weight of zero means that the transitions are scored as mismatches; a weight of 1 gives transitions the full match score. For distantly \n+                related DNA sequences, the weight should be near to zero; for closely related sequences it can be useful to assign a higher score" />\n+        </section>\n+    </xml>\n+    <token name="@SLOW_PAIRWISE_ALIGNMENTS@"><![CDATA[\n+        #if str($type_conditional.algorithm_conditional.slow_pairwise_alignments.PWGAPOPEN)\n+            -PWGAPOPEN=$type_conditional.algorithm_conditional.slow_pairwise_alignments.PWGAPOPEN\n+        #end if\n+        #if str($type_conditional.algorithm_conditional.slow_pairwise_alignments.PWGAPEXT)\n+            -PWGAPEXT=$type_conditional.algorithm_conditional.slow_pairwise_alignments.PWGAPEXT\n+        #end ifx\n+    ]]></token>\n+    <token name="@FAST_PAIRWISE_ALIGNMENTS@"><![CDATA[\n+        #if str($type_conditional.algorithm_conditional.fast_pairwise_alignments.KTUPLE)\n+        -KTUPLE=$type_conditional.algorithm_conditional.fast_pairwise_alignments.KTUPLE\n+        #end if\n+        #if str($type_conditional.algorithm_conditional.fast_pairwise_alignments.TOPDIAGS)\n+            -TOPDIAGS=$type_conditional.algorithm_conditional.fast_pairwise_alignments.TOPDIAGS\n+        #end if\n+        #if str($type_conditional.algorithm_conditional.fast_pairwise_alignments.WINDOW)\n+            -WINDOW=$type_conditional.algorithm_conditional.fast_pairwise_alignments.WINDOW\n+        #end if\n+        #if str($type_conditional.algorithm_conditional.fast_pairwise_alignments.PAIRGAP)\n+            -PAIRGAP=$type_conditional.algorithm_conditional.fast_pairwise_alignments.PAIRGAP\n+        #end if\n+        -SCORE=$type_conditional.algorithm_conditional.fast_pairwise_alignments.SCORE\n+    ]]></token>\n+    <token name="@MULTIPLE_ALIGNMENTS@"><![CDATA[\n+        #if str($type_conditional.multiple_alignments.GAPOPEN)\n+            -GAPOPEN=$type_conditional.multiple_alignments.GAPOPEN\n+        #end if\n+        #if str($type_conditional.multiple_alignments.GAPEXT)\n+            -GAPEXT=$type_conditional.multiple_alignments.GAPEXT\n+        #end if\n+        $type_conditional.multiple_alignments.ENDGAPS\n+        #if str($type_conditional.multiple_alignments.GAPDIST)\n+            -GAPDIST=$type_conditional.multiple_alignments.GAPDIST\n+        #end if\n+        $type_conditional.multiple_alignments.NOPGAP\n+        $type_conditional.multiple_alignments.NOHGAP\n+        #if str($type_conditional.multiple_alignments.MAXDIV)\n+            -MAXDIV=$type_conditional.multiple_alignments.MAXDIV\n+        #end if\n+        $type_conditional.multiple_alignments.NEGATIVE\n+        #if str($type_conditional.multiple_alignments.TRANSWEIGHT)\n+            -TRANSWEIGHT=$type_conditional.multiple_alignments.TRANSWEIGHT\n+        #end if\n+    ]]></token>\n+\n+</macros>\n\\ No newline at end of file\n'
b
diff -r d6694932c5e0 -r d9c2b2fde6a3 repository_dependencies.xml
--- a/repository_dependencies.xml Mon May 22 21:02:45 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,4 +0,0 @@
-<?xml version="1.0"?>
-<repositories>
-    <repository changeset_revision="a89163f31369" name="emboss_datatypes" owner="devteam" toolshed="https://toolshed.g2.bx.psu.edu" />
-</repositories>
b
diff -r d6694932c5e0 -r d9c2b2fde6a3 rgClustalw.xml
--- a/rgClustalw.xml Mon May 22 21:02:45 2017 -0400
+++ b/rgClustalw.xml Thu Sep 15 12:12:51 2022 +0000
[
b'@@ -1,11 +1,12 @@\n-<tool id="clustalw" name="ClustalW" version="2.1">\n+<tool id="clustalw" name="ClustalW" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="20.01">\n     <description>multiple sequence alignment program for DNA or proteins</description>\n-    <requirements>\n-        <requirement type="package" version="2.1">clustalw</requirement>\n-    </requirements>\n+    <macros>\n+        <import>macros.xml</import>\n+    </macros>\n+    <expand macro="requirements"/>\n     <command detect_errors="exit_code"><![CDATA[\n ln -s \'$input\' input.fasta &&\n-clustalw2 -INFILE=input.fasta -OUTFILE=\'$output\' -OUTORDER=$out_order -TYPE=$dnarna\n+clustalw2 -INFILE=input.fasta -OUTFILE=\'$output\' -OUTORDER=$out_order -TYPE=$type_conditional.dnarna\n #if $outcontrol.outform == "clustal"\n     -OUTPUT=CLUSTAL\n     #if $outcontrol.out_seqnos == "ON"\n@@ -21,13 +22,62 @@\n #if $range.mode == "part"\n     -RANGE=${range.seq_range_start},${range.seq_range_end}\n #end if\n+#if $type_conditional.dnarna == \'PROTEIN\'\n+    #if $type_conditional.algorithm_conditional.selector == \'\'\n+        -PWMATRIX=$type_conditional.algorithm_conditional.slow_pairwise_alignments.PWMATRIX\n+        @SLOW_PAIRWISE_ALIGNMENTS@\n+    #else\n+        @FAST_PAIRWISE_ALIGNMENTS@\n+    #end if\n+    -MATRIX=$type_conditional.multiple_alignments.MATRIX\n+    @MULTIPLE_ALIGNMENTS@\n+#else\n+    #if $type_conditional.algorithm_conditional.selector == \'\'\n+        -PWDNAMATRIX=$type_conditional.algorithm_conditional.slow_pairwise_alignments.PWDNAMATRIX\n+        @SLOW_PAIRWISE_ALIGNMENTS@\n+    #else\n+        @FAST_PAIRWISE_ALIGNMENTS@\n+    #end if\n+    -DNAMATRIX=$type_conditional.multiple_alignments.DNAMATRIX\n+    @MULTIPLE_ALIGNMENTS@\n+#end if\n+-OUTPUTTREE=$tree_calculation.OUTPUTTREE\n+$tree_calculation.KIMURA\n+$tree_calculation.TOSSGAPS\n     ]]></command>\n     <inputs>\n         <param name="input" type="data" format="fasta" label="FASTA file" />\n-        <param name="dnarna" type="select" label="Data type">\n-            <option value="DNA" selected="True">DNA nucleotide sequences</option>\n-            <option value="PROTEIN">Protein sequences</option>\n-        </param>\n+        <conditional name="type_conditional">\n+            <param name="dnarna" type="select" label="Data type">\n+                <option value="DNA" selected="True">DNA nucleotide sequences</option>\n+                <option value="PROTEIN">Protein sequences</option>\n+            </param>\n+            <when value="DNA">\n+                <expand macro="macro_options" algorithm="PWDNAMATRIX" multiple="DNAMATRIX" label="DNA" default="IUB">\n+                    <option value="IUB" selected="true">IUB</option>\n+                    <option value="CLUSTALW">CLUSTALW</option>\n+                </expand>\n+            </when>\n+            <when value="PROTEIN">\n+                <expand macro="macro_options" algorithm="PWMATRIX" multiple="MATRIX" label="Protein" default="GONNET">\n+                    <option value="BLOSUM">BLOSUM</option>\n+                    <option value="PAM">PAM</option>\n+                    <option value="GONNET" selected="true">GONNET</option>\n+                    <option value="ID">ID</option>\n+                </expand>\n+            </when>\n+        </conditional>\n+        <section name="tree_calculation" title="Tree calculation/BOOTSTRAP options">\n+            <param argument="-OUTPUTTREE" type="select" label="Output tree/distance forma" help="Specify the output format. Default: phylip">\n+                <option value="PHYLIP">PHYLIP</option>\n+                <option value="DIST">DIST</option>\n+                <option value="NJ">NJ</option>\n+                <option value="NEXUS">NEXUS</option>\n+            </param>\n+            <param argument="-KIMURA" type="boolean" truevalue="-KIMURA" falsevalue="" checked="false" label="Use Kimura correction" \n+                help="For small divergence (say inferior 10%) this option makes no difference. For greater divergence, this option corrects for the fact that observed'..b'param name="GAPEXT" value="1"/>\n+                    <param name="ENDGAPS" value="true"/>\n+                    <param name="GAPDIST" value="1"/>\n+                    <param name="NOPGAP" value="true"/>\n+                    <param name="NOHGAP" value="true"/>\n+                    <param name="MAXDIV" value="1"/>\n+                    <param name="NEGATIVE" value="true"/>\n+                    <param name="TRANSWEIGHT" value="1"/>\n+                </section>\n+                <conditional name="algorithm_conditional">\n+                    <param name="selector" value=""/>\n+                    <section name="slow_pairwise_alignments">\n+                        <param name="PWGAPOPEN" value="2"/>\n+                        <param name="PWGAPEXT" value="1"/>\n+                    </section>\n+                </conditional>\n+            </conditional>\n+            <output name="output" file="rgClustal_testout02.aln" ftype="clustal"/>\n+            <output name="dnd" file="rgClustal_testout02.dnd" ftype="nhx"/>\n+        </test>\n+        <!-- Test protein options and fast algorithm-->\n+        <test expect_num_outputs="2">\n+            <param name="input" value="rgClustal_testin_prot.fasta"/>\n+            <param name="out_order" value="ALIGNED"/>\n+            <section name="tree_calculation">\n+                <param name="OUTPUTTREE" value="PHYLIP"/>\n+                <param name="KIMURA" value="false"/>\n+                <param name="TOSSGAPS" value="false"/>\n+            </section>\n+            <conditional name="type_conditional">\n+                <param name="dnarna" value="PROTEIN"/>\n+                <section name="multiple_alignments">\n+                    <param name="MATRIX" value="BLOSUM"/>\n+                    <param name="GAPOPEN" value="3"/>\n+                    <param name="GAPEXT" value="1"/>\n+                    <param name="ENDGAPS" value="true"/>\n+                    <param name="GAPDIST" value="2"/>\n+                    <param name="NOPGAP" value="true"/>\n+                    <param name="NOHGAP" value="true"/>\n+                    <param name="MAXDIV" value="1"/>\n+                    <param name="NEGATIVE" value="true"/>\n+                    <param name="TRANSWEIGHT" value="1"/>\n+                </section>\n+                <conditional name="algorithm_conditional">\n+                    <param name="selector" value="-QUICKTREE"/>\n+                    <section name="fast_pairwise_alignments">\n+                        <param name="KTUPLE" value="1"/>\n+                        <param name="TOPDIAGS" value="1"/>\n+                        <param name="WINDOW" value="2"/>\n+                        <param name="PAIRGAP" value="2"/>\n+                        <param name="SCORE" value="PERCENT"/>\n+                    </section>\n+                </conditional>\n+            </conditional>\n+            <output name="output" file="rgClustal_testout03.aln" ftype="clustal"/>\n+            <output name="dnd" file="rgClustal_testout03.dnd" ftype="nhx"/>\n+        </test>\n     </tests>\n     <help><![CDATA[\n+.. class:: infomark\n+\n **Note**\n \n-This tool allows you to run a multiple sequence alignment with ClustalW_ using the default options.\n-\n+This tool allows you to run a multiple sequence alignment with ClustalW_.\n You can align DNA or protein sequences in the input file which should be multiple sequences to be aligned in a FASTA file.\n \n The alignments will appear as a clustal format file or optionally, as PHYLIP or FASTA format files in your history. If you choose FASTA as\n@@ -92,11 +216,13 @@\n \n ----\n \n+.. class:: infomark\n+\n **Attribution**\n \n The first iteration of this Galaxy wrapper was written by Hans-Rudolf Hotz.\n \n-It was modified by Ross Lazarus for the rgenetics project - tests and some additional parameters were added.\n+It was modified by Ross Lazarus for the rgenetics project - tests and some additional parameters were added. Crist\xc3\xb3bal Gallardo included the remaining parameters.\n \n This wrapper is released licensed under the LGPL_.\n \n'
b
diff -r d6694932c5e0 -r d9c2b2fde6a3 test-data/rgClustal_testin_prot.fasta
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/rgClustal_testin_prot.fasta Thu Sep 15 12:12:51 2022 +0000
[
b"@@ -0,0 +1,285 @@\n+>     1== M63632   1 Lampetra japonica rhodopsin <>[BBRC174,1125-1132'91]\n+MNGTEGDNFYVPFSNKTGLARSPYEYPQYYLAEPWKYSALAAYMFFLILVGFPVNFLTLF\n+VTVQHKKLRTPLNYILLNLAMANLFMVLFGFTVTMYTSMNGYFVFGPTMCSIEGFFATLG\n+GEVALWSLVVLAIERYIVICKPMGNFRFGNTHAIMGVAFTWIMALACAAPPLVGWSRYIP\n+EGMQCSCGPDYYTLNPNFNNESYVVYMFVVHFLVPFVIIFFCYGRLLCTVKEAAAAQQES\n+ASTQKAEKEVTRMVVLMVIGFLVCWVPYASVAFYIFTHQGSDFGATFMTLPAFFAKSSAL\n+YNPVIYILMNKQFRNCMITTLCCGKNPLGDDESGASTSKTEVSSVSTSPVSPA\n+>     2== U22180   1 rat opsin <rod>[J.Mol.Neurosci.5(3),207-209'94]\n+MNGTEGPNFYVPFSNITGVVRSPFEQPQYYLAEPWQFSMLAAYMFLLIVLGFPINFLTLY\n+VTVQHKKLRTPLNYILLNLAVADLFMVFGGFTTTLYTSLHGYFVFGPTGCNLEGFFATLG\n+GEIGLWSLVVLAIERYVVVCKPMSNFRFGENHAIMGVAFTWVMALACAAPPLVGWSRYIP\n+EGMQCSCGIDYYTLKPEVNNESFVIYMFVVHFTIPMIVIFFCYGQLVFTVKEAAAQQQES\n+ATTQKAEKEVTRMVIIMVIFFLICWLPYASVAMYIFTHQGSNFGPIFMTLPAFFAKTASI\n+YNPIIYIMMNKQFRNCMLTSLCCGKNPLGDDEASATASKTETSQVAPA\n+>     3== M92038   1 chicken green sensitive cone opsin <retina>[PNAS89,5932-5936'9\n+MNGTEGINFYVPMSNKTGVVRSPFEYPQYYLAEPWKYRLVCCYIFFLISTGLPINLLTLL\n+VTFKHKKLRQPLNYILVNLAVADLFMACFGFTVTFYTAWNGYFVFGPVGCAVEGFFATLG\n+GQVALWSLVVLAIERYIVVCKPMGNFRFSATHAMMGIAFTWVMAFSCAAPPLFGWSRYMP\n+EGMQCSCGPDYYTHNPDYHNESYVLYMFVIHFIIPVVVIFFSYGRLICKVREAAAQQQES\n+ATTQKAEKEVTRMVILMVLGFMLAWTPYAVVAFWIFTNKGADFTATLMAVPAFFSKSSSL\n+YNPIIYVLMNKQFRNCMITTICCGKNPFGDEDVSSTVSQSKTEVSSVSSSQVSPA\n+>     4=p A45229 opsin, green-sensitive (clone GFgr-1) - goldfish\n+MNGTEGKNFYVPMSNRTGLVRSPFEYPQYYLAEPWQFKILALYLFFLMSMGLPINGLTLV\n+VTAQHKKLRQPLNFILVNLAVAGTIMVCFGFTVTFYTAINGYFVLGPTGCAVEGFMATLG\n+GEVALWSLVVLAIERYIVVCKPMGSFKFSSSHAFAGIAFTWVMALACAAPPLFGWSRYIP\n+EGMQCSCGPDYYTLNPDYNNESYVIYMFVCHFILPVAVIFFTYGRLVCTVKAAAAQQQDS\n+ASTQKAEREVTKMVILMVFGFLIAWTPYATVAAWIFFNKGADFSAKFMAIPAFFSKSSAL\n+YNPVIYVLLNKQFRNCMLTTIFCGKNPLGDDESSTVSTSKTEVSSVSPA\n+>     5=p B45229 opsin, green-sensitive (clone GFgr-2) - goldfish\n+MNGTEGNNFYVPLSNRTGLVRSPFEYPQYYLAEPWQFKLLAVYMFFLICLGLPINGLTLI\n+CTAQHKKLRQPLNFILVNLAVAGAIMVCFGFTVTFYTAINGYFALGPTGCAVEGFMATLG\n+GEVALWSLVVLAIERYIVVCKPMGSFKFSSTHASAGIAFTWVMAMACAAPPLVGWSRYIP\n+EGIQCSCGPDYYTLNPEYNNESYVLYMFICHFILPVTIIFFTYGRLVCTVKAAAAQQQDS\n+ASTQKAEREVTKMVILMVLGFLVAWTPYATVAAWIFFNKGAAFSAQFMAIPAFFSKTSAL\n+YNPVIYVLLNKQFRSCMLTTLFCGKNPLGDEESSTVSTSKTEVSSVSPA\n+>     6== L11864   1 Carassius auratus blue cone opsin <retina>[Biochemistry32,208-\n+MKQVPEFHEDFYIPIPLDINNLSAYSPFLVPQDHLGNQGIFMAMSVFMFFIFIGGASINI\n+LTILCTIQFKKLRSHLNYILVNLSIANLFVAIFGSPLSFYSFFNRYFIFGATACKIEGFL\n+ATLGGMVGLWSLAVVAFERWLVICKPLGNFTFKTPHAIAGCILPWISALAASLPPLFGWS\n+RYIPEGLQCSCGPDWYTTNNKYNNESYVMFLFCFCFAVPFGTIVFCYGQLLITLKLAAKA\n+QADSASTQKAEREVTKMVVVMVLGFLVCWAPYASFSLWIVSHRGEEFDLRMATIPSCLSK\n+ASTVYNPVIYVLMNKQFRSCMMKMVCGKNIEEDEASTSSQVTQVSSVAPEK\n+>     7== M13299   1 human BCP <>[Science232(4747),193-202'86]\n+MRKMSEEEFYLFKNISSVGPWDGPQYHIAPVWAFYLQAAFMGTVFLIGFPLNAMVLVATL\n+RYKKLRQPLNYILVNVSFGGFLLCIFSVFPVFVASCNGYFVFGRHVCALEGFLGTVAGLV\n+TGWSLAFLAFERYIVICKPFGNFRFSSKHALTVVLATWTIGIGVSIPPFFGWSRFIPEGL\n+QCSCGPDWYTVGTKYRSESYTWFLFIFCFIVPLSLICFSYTQLLRALKAVAAQQQESATT\n+QKAEREVSRMVVVMVGSFCVCYVPYAAFAMYMVNNRNHGLDLRLVTIPSFFSKSACIYNP\n+IIYCFMNKQFQACIMKMVCGKAMTDESDTCSSQKTEVSTVSSTQVGPN\n+>     8=opsin, greensensitive  human (fragment) S07060\n+DLAETVIASTISIVNQVSGYFVLGHPMCVLEGYTVSLCGITGLWSLAIISWERWLVVCKP\n+FGNVRFDAKLAIVGIAFSWIWAAVWTAPPIFGWSRYWPHGLKTSCGPDVFSGSSYPGVQS\n+YMIVLMVTCCITPLSIIVLCYLQVWLAIRAVAKQQKESESTQKAEKEVTRMVVVMVLAFC\n+>     9== K03494   1 human GCP <>[Science232(4747),193-202'86]\n+MAQQWSLQRLAGRHPQDSYEDSTQSSIFTYTNSNSTRGPFEGPNYHIAPRWVYHLTSVWM\n+IFVVIASVFTNGLVLAATMKFKKLRHPLNWILVNLAVADLAETVIASTISVVNQVYGYFV\n+LGHPMCVLEGYTVSLCGITGLWSLAIISWERWMVVCKPFGNVRFDAKLAIVGIAFSWIWA\n+AVWTAPPIFGWSRYWPHGLKTSCGPDVFSGSSYPGVQSYMIVLMVTCCITPLSIIVLCYL\n+QVWLAIRAVAKQQKESESTQKAEKEVTRMVVVMVLAFCFCWGPYAFFACFAAANPGYPFH\n+PLMAALPAFFAKSATIYNPVIYVFMNRQFRNCILQLFGKKVDDGSELSSASKTEVSSVSS\n+VSPA\n+>    10== Z68193   1 human Red Opsin <>[]\n+MAQQWSLQRLAGRHPQDSYEDSTQSSIFTYTNSNSTRGPFEGPNYHIAPRWVYHLTSVWM\n+IFVVTASVFTNGLVLAATMKFKKLRHPLNWILVNLAVADLAETVIASTISIVNQVSGYFV\n+LGHPMCVLEGYTVSLCGITGLWSLAIISWERWLVVCKPFGNVRFDAKLAIVGIAFSWIWS\n+AVWTAPPIFGWSRYWPH"..b"ISIDR\n+YLGITRPLTYPVRQNGKCMAKMILSVWLLSASITLPPLFGWAQNVNDDKVCLISQDFGYT\n+IYSTAVAFYIPMSVMLFMYYQIYKAARKSAAKHKFPGFPRVEPDSVIALNGIVKLQKEVE\n+ECANLSRLLKHERKNISIFKREQKAATTLGIIVGAFTVCWLPFFLLSTARPFICGTSCSC\n+IPLWVERTFLWLGYANSLINPFIYAFFNRDLRTTYRSLLQCQYRNINRKLSAAGMHEALK\n+LAERPERPEFVLQNADYCRKKGHDS\n+>    30== L15228   1 rat 5HT-7 serotonin receptor <>[JBC268,18200-18204'93]\n+MPHLLSGFLEVTASPAPTWDAPPDNVSGCGEQINYGRVEKVVIGSILTLITLLTIAGNCL\n+VVISVSFVKKLRQPSNYLIVSLALADLSVAVAVMPFVSVTDLIGGKWIFGHFFCNVFIAM\n+DVMCCTASIMTLCVISIDRYLGITRPLTYPVRQNGKCMAKMILSVWLLSASITLPPLFGW\n+AQNVNDDKVCLISQDFGYTIYSTAVAFYIPMSVMLFMYYQIYKAARKSAAKHKFPGFPRV\n+QPESVISLNGVVKLQKEVEECANLSRLLKHERKNISIFKREQKAATTLGIIVGAFTVCWL\n+PFFLLSTARPFICGTSCSCIPLWVERTCLWLGYANSLINPFIYAFFNRDLRPTSRSLLQC\n+QYRNINRKLSAAGMHEALKLAERPERSEFVLQNSDHCGKKGHDT\n+>    31=p A47425 serotonin receptor 5HT-7 - rat\n+MPHLLSGFLEVTASPAPTWDAPPDNVSGCGEQINYGRVEKVVIGSILTLITLLTIAGNCL\n+VVISVSFVKKLRQPSNYLIVSLALADLSVAVAVMPFVSVTDLIGGKWIFGHFFCNVFIAM\n+DVMCCTASIMTLCVISIDRYLGITRPLTYPVRQNGKCMAKMILSVWLLSASITLPPLFGW\n+AQNVNDDKVCLISQDFGYTIYSTAVAFYIPMSVMLFMYYQIYKAARKSAAKHKFPGFPRV\n+QPESVISLNGVVKLQKEVEECANLSRLLKHERKNISIFKREQKAATTLGIIVGAFTVCWL\n+PFFLLSTARPFICGTSCSCIPLWVERTCLWLGYANSLINPFIYAFFNRDLRTTYRSLLQC\n+QYRNINRKLSAAGMHEALKLAERPERSEFVLQNSDHCGKKGHDT\n+>    32== M83181   1 human serotonin receptor <>[JBC267(11),7553-7562'92]\n+MDVLSPGQGNNTTSPPAPFETGGNTTGISDVTVSYQVITSLLLGTLIFCAVLGNACVVAA\n+IALERSLQNVANYLIGSLAVTDLMVSVLVLPMAALYQVLNKWTLGQVTCDLFIALDVLCC\n+TSSILHLCAIALDRYWAITDPIDYVNKRTPRRAAALISLTWLIGFLISIPPMLGWRTPED\n+RSDPDACTISKDHGYTIYSTFGAFYIPLLLMLVLYGRIFRAARFRIRKTVKKVEKTGADT\n+RHGASPAPQPKKSVNGESGSRNWRLGVESKAGGALCANGAVRQGDDGAALEVIEVHRVGN\n+SKEHLPLPSEAGPTPCAPASFERKNERNAEAKRKMALARERKTVKTLGIIMGTFILCWLP\n+FFIVALVLPFCESSCHMPTLLGAIINWLGYSNSLLNPVIYAYFNKDFQNAFKKIIKCKFC\n+RQ\n+>    33=p A35181 serotonin receptor class 1A - rat\n+MDVFSFGQGNNTTASQEPFGTGGNVTSISDVTFSYQVITSLLLGTLIFCAVLGNACVVAA\n+IALERSLQNVANYLIGSLAVTDLMVSVLVLPMAALYQVLNKWTLGQVTCDLFIALDVLCC\n+TSSILHLCAIALDRYWAITDPIDYVNKRTPRRAAALISLTWLIGFLISIPPMLGWRTPED\n+RSDPDACTISKDHGYTIYSTFGAFYIPLLLMLVLYGRIFRAARFRIRKTVRKVEKKGAGT\n+SLGTSSAPPPKKSLNGQPGSGDWRRCAENRAVGTPCTNGAVRQGDDEATLEVIEVHRVGN\n+SKEHLPLPSESGSNSYAPACLERKNERNAEAKRKMALARERKTVKTLGIIMGTFILCWLP\n+FFIVALVLPFCESSCHMPALLGAIINWLGYSNSLLNPVIYAYFNKDFQNAFKKIIKCKFC\n+RR\n+>    34== L06803   1 Lymnaea stagnalis serotonin receptor <>[PNAS90,11-15'93]\n+MANFTFGDLALDVARMGGLASTPSGLRSTGLTTPGLSPTGLVTSDFNDSYGLTGQFINGS\n+HSSRSRDNASANDTSATNMTDDRYWSLTVYSHEHLVLTSVILGLFVLCCIIGNCFVIAAV\n+MLERSLHNVANYLILSLAVADLMVAVLVMPLSVVSEISKVWFLHSEVCDMWISVDVLCCT\n+ASILHLVAIAMDRYWAVTSIDYIRRRSARRILLMIMVVWIVALFISIPPLFGWRDPNNDP\n+DKTGTCIISQDKGYTIFSTVGAFYLPMLVMMIIYIRIWLVARSRIRKDKFQMTKARLKTE\n+ETTLVASPKTEYSVVSDCNGCNSPDSTTEKKKRRAPFKSYGCSPRPERKKNRAKKLPENA\n+NGVNSNSSSSERLKQIQIETAEAFANGCAEEASIAMLERQCNNGKKISSNDTPYSRTREK\n+LELKRERKAARTLAIITGAFLICWLPFFIIALIGPFVDPEGIPPFARSFVLWLGYFNSLL\n+NPIIYTIFSPEFRSAFQKILFGKYRRGHR\n+>    35=p A47174 serotonin receptor, 5HTlym receptor - great pond snail\n+MANFTFGDLALDVARMGGLASTPSGLRSTGLTTPGLSPTGLVTSDFNDSYGLTGQFINGS\n+HSSRSRDNASANDTSATNMTDDRYWSLTVYSHEHLVLTSVILGLFVLCCIIGNCFVIAAV\n+MLERSLHNVANYLILSLAVADLMVAVLVMPLSVVSEISKVWFLHSEVCDMWISVDVLCCT\n+ASILHLVAIAMDRYWAVTSIDYIRRRSARRILLMIMVVWIVALFISIPPLFGWRDPNNDP\n+DKTGTCIISQDKGYTIFSTVGAFYLPMLVMMIIYIRIWLVARSRIRKDKFQMTKARLKTE\n+ETTLVASPKTEYSVVSDCNGCNSPDSTTEKKKRRAPFKSYGCSPRPERKKNRAKKLPENA\n+NGVNSNSSSSERLKQIQIETAEAFANGCAEEASIAMLERQCNNGKKISSNDTPYSRTREK\n+LELKRERKAARTLAIITGAFLICWLPFFIIALIGPFVDPEGIPPFARSFVLWLGYFNSLL\n+NPIIYTIFSPEFRSAFQKILFGKYRRGHR\n+>    36== X95604   1 Bombyx mori serotonin receptor <antennae>[InsectBiochem.Mol.Bi\n+MEGAEGQEELDWEALYLRLPLQNCSWNSTGWEPNWNVTVVPNTTWWQASAPFDTPAALVR\n+AAAKAVVLGLLILATVVGNVFVIAAILLERHLRSAANNLILSLAVADLLVACLVMPLGAV\n+YEVVQRWTLGPELCDMWTSGDVLCCTASILHLVAIALDRYWAVTNIDYIHASTAKRVGMM\n+IACVWTVSFFVCIAQLLGWKDPDWNQRVSEDLRCVVSQDVGYQIFATASSFYVPVLIILI\n+LYWRIYQTARKRIRRRRGATARGGVGPPPVPAGGALVAGGGSGGIAAAVVAVIGRPLPTI\n+SETTTTGFTNVSSNNTSPEKQSCANGLEADPPTTGYGAVAAAYYPSLVRRKPKEAADSKR\n+ERKAAKTLAIITGAFVACWLPFFVLAILVPTCDCEVSPVLTSLSLWLGYFNSTLNPVIYT\n+VFSPEFRHAFQRLLCGRRVRRRRAPQ\n"
b
diff -r d6694932c5e0 -r d9c2b2fde6a3 test-data/rgClustal_testout02.aln
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/rgClustal_testout02.aln Thu Sep 15 12:12:51 2022 +0000
b
@@ -0,0 +1,44 @@
+CLUSTAL 2.1 multiple sequence alignment
+
+
+c_briggsae-chrIfooI_+_/43862-4      CG-CACAAAT----ATG--ATGCACA-AATCCACAA------------CC
+c_brenneri-Cbre_Contig60gak_+_      CG-CACAAAT----GTA--GTGGACA-AATCCGCAT------------CC
+c_remanei-Crem_Contig172foo_-_      -AGCACAAAT----GTA--ATGAACG-AATCCGCAT------------CC
+c_elegans-II_+_more/9706834-97      TG-CACAAAT----GTG--ATGAACG-AATCCACAT------------CC
+c_briggsae-chrII_+_bar/43862-4      ---C-CGGA-----GT----CG------ATCC-----------------C
+c_briggsae-chrII_+_/43862-4631      ----ATGAGCTTCCACA--AAA-GCATGAGCT-T-T------------CT
+c_brenneri-Cbre_Contig60_+_/62      ----ATGAGCCTCCACA--ACA-GCATGATTT-T-T------------CT
+c_remanei-Crem_Contig172_-_/12      ----ATGAGCCTCTACAAC-CG--CATGATTC-T-T------------TT
+c_elegans-II_+_/9706834-970880      ----ATGAGCCTCTAC--TACA-GCATGATTC-T-T------------CT
+c_remanei-Crem_Contig172zot_-_      ----ACGAA-----GT----CG-GT----CCC-TATAAGG---------T
+c_elegans-II_+_meh/9706834-970      ----ACGAA-----GT----CG-GT----CCC-T---GAA---------C
+c_brenneri-Cbre_Contig60fee_+_      ----ACGAA-----GT----CG-AT----CCC-TG--AAA---------T
+                                                                                      
+
+c_briggsae-chrIfooI_+_/43862-4      -TAAAGCATCTC----CGAT---AACGTTGAC---CGAA-G-T-------
+c_brenneri-Cbre_Contig60gak_+_      -CAAAGCGTCTC----CGAT---AACATTTAC---CGAA-G-T-------
+c_remanei-Crem_Contig172foo_-_      -CAACGCATCGC----CAAT---CACATTCAC----AGATG-T-------
+c_elegans-II_+_more/9706834-97      -CAATGCATCAC----CGAT---CACATTGAC----AGATG-T-------
+c_briggsae-chrII_+_bar/43862-4      -TGA-AT-------------------------------------------
+c_briggsae-chrII_+_/43862-4631      -CAG--C-TT-C----TG-C---CACATCAGCATTCAAATGATC------
+c_brenneri-Cbre_Contig60_+_/62      -CGG--C-TT-C----CG-C---CACATCCGCATTCAAATGATC------
+c_remanei-Crem_Contig172_-_/12      -CAG--C-CT-C----TG-C---CACGTCCGCATTCAAATG-CTC-----
+c_elegans-II_+_/9706834-970880      -CAG--C-TT-C----TG-C---AACGTCAGCATTCAGATGATC------
+c_remanei-Crem_Contig172zot_-_      ATGAT-T-TTATA---TGA----TGTACC-ATAAGGAAATAGT-C-----
+c_elegans-II_+_meh/9706834-970      --AAT-TATT-T----TGA----TATA---G-AAAGAAACGGTA------
+c_brenneri-Cbre_Contig60fee_+_      -CAG------ATGAG-CGGT---TG-ACC-A---GAGAACAAC-C-----
+                                                                                      
+
+c_briggsae-chrIfooI_+_/43862-4      ---------
+c_brenneri-Cbre_Contig60gak_+_      ---------
+c_remanei-Crem_Contig172foo_-_      ---------
+c_elegans-II_+_more/9706834-97      ---------
+c_briggsae-chrII_+_bar/43862-4      ---------
+c_briggsae-chrII_+_/43862-4631      ---------
+c_brenneri-Cbre_Contig60_+_/62      ---------
+c_remanei-Crem_Contig172_-_/12      ---------
+c_elegans-II_+_/9706834-970880      ---------
+c_remanei-Crem_Contig172zot_-_      ---------
+c_elegans-II_+_meh/9706834-970      ---------
+c_brenneri-Cbre_Contig60fee_+_      ---------
+                                             
b
diff -r d6694932c5e0 -r d9c2b2fde6a3 test-data/rgClustal_testout02.dnd
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/rgClustal_testout02.dnd Thu Sep 15 12:12:51 2022 +0000
b
@@ -0,0 +1,31 @@
+(
+(
+c_briggsae-chrII_+_/43862-46313:0.06106,
+c_brenneri-Cbre_Contig60_+_/627772-630087:0.05560)
+:0.01208,
+(
+c_remanei-Crem_Contig172_-_/123228-124941:0.06371,
+c_elegans-II_+_/9706834-9708803:0.06962)
+:0.01292,
+(
+(
+(
+(
+c_briggsae-chrIfooI_+_/43862-46313:0.08659,
+c_brenneri-Cbre_Contig60gak_+_/627772-630087:0.06341)
+:0.05181,
+(
+c_remanei-Crem_Contig172foo_-_/123228-124941:0.06431,
+c_elegans-II_+_more/9706834-9708803:0.05235)
+:0.03152)
+:0.04735,
+c_briggsae-chrII_+_bar/43862-46313:-0.08989)
+:0.04869,
+(
+(
+c_remanei-Crem_Contig172zot_-_/123228-124941:0.07858,
+c_elegans-II_+_meh/9706834-9708803:0.09164)
+:0.05929,
+c_brenneri-Cbre_Contig60fee_+_/627772-630087:0.12954)
+:0.03627)
+:0.07124);
b
diff -r d6694932c5e0 -r d9c2b2fde6a3 test-data/rgClustal_testout03.aln
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/rgClustal_testout03.aln Thu Sep 15 12:12:51 2022 +0000
b
b'@@ -0,0 +1,458 @@\n+CLUSTAL 2.1 multiple sequence alignment\n+\n+\n+14==            ------------------------------------MESGNV-SSSLFGNVSTA-LRPEA\n+15==            ------------------------------------MEYHNV-SSVL-GNVSSV-LRPDA\n+16==            ------------------------------------ME-------PL-CNASEPPLRPEA\n+17==            ------------------------------------MD-------AL-CNASEPPLRPEA\n+18==            -----------------------------------------------MTNATG----PQM\n+19==            -----------------------------------------------MANVTG----PQM\n+20==            ------------------------------------ME-SFA----VAAAQLG----PH-\n+21==            ------------------------------------ME-SFA----VAAAQLG----PH-\n+22==            ------------------------------------MD-SFA----AVATQLG----PQ-\n+23==            ------------------------------------MERSHLPETPFDLAHSG----PR-\n+24==            ------------------------------------MERSLLPEPPLAMALLG----PR-\n+25==            -----------------------------------------------MIAVSG----PS-\n+26==            ------------------------------------------MANQLSYSSLGW---P--\n+27==            ------------------------------------------------------------\n+28==            ------------------------------------------------------------\n+1==             -----------------------------------------------------MNGT-E-\n+2==             -----------------------------------------------------MNGT-E-\n+4=p             -----------------------------------------------------MNGT-E-\n+5=p             -----------------------------------------------------MNGT-E-\n+3==             -----------------------------------------------------MNGT-E-\n+6==             -----------------------------------------------------MKQVPEF\n+7==             -----------------------------------------------------MRKMSE-\n+9==             -----------------------------------------MAQQWSLQRLAGRHPQDSY\n+10==            -----------------------------------------MAQQWSLQRLAGRHPQDSY\n+8=opsin_        ------------------------------------------------------------\n+11==            -----------------------------------------MTEAWNVAVFAARRSRDD-\n+12==            -----------------------------------------MA-AWEAA-FAARRRHEE-\n+13==            ------------------------------------------------------------\n+30==            ------------------------------------------------------------\n+31=p            ------------------------------------------------------------\n+29==            ---------------------MMDVNSSGRPDLYGHLRSFLLPEVGRGLPDLSPDGGADP\n+32==            -----------------------------------------------MDVL-SPGQ-GNN\n+33=p            -----------------------------------------------MDVF-SFGQ-GNN\n+34==            MANFTFGDLALDVARM-GGLASTPSGLRSTGLTTPGLSPTGLVTSDFNDSYGLTGQFING\n+35=p            MANFTFGDLALDVARM-GGLASTPSGLRSTGLTTPGLSPTGLVTSDFNDSYGLTGQFING\n+36==            ---------------MEGAEGQEELDWEALYLRLP-LQ---------NCSWNSTGWEPNW\n+                                                                            \n+\n+14==            RLSA---ETRLLGWN------VPPEELRH-IPEHWLTYPE-PPES--MNYLLGT---LYI\n+15==            RLSA---ESRLLGWN------VPPDELRH-IPEHWLIYPE-PPES--MNYLLGT---LYI\n+16==            R-SSGNGDLQFLGWN------VPPDQIQY-IPEHWLTQLE-PPAS--MHYMLGV---FYI\n+17==            RMSSGSDELQFLGWN------VPPDQIQY-IPEHWLTQLE-PPAS--MHYMLGV---FYI\n+18==            AYYGAASMDFGYPEGVSIVDFVRPE-IKPYVHQHWYNY---PPVNPMWHYLLGV---IYL\n+19==            AFYGSGAATFGYPEGMTVADFV-PDRVKHMVLDHWYNY---PPVNPMWHYLLGV---VYL\n+20==            -F-A-PL------SNGSVVDKVTPD-MAHLISPYWNQF---PAMDPIWAKILTA---YMI\n+21==            -F-A-PL------SNGSVVDKVTPD-MAHLISPYWNQF---PAMDPIWAKILTA---YMI\n+22==            -F-AAP-------SNGSVVDKVTPD-MAHLISPYWDQF---PAMDPIWAKILTA---YMI\n+23==            -FQAQSS------GNGSVLDNVLPD-MAHLVNPYWSRFA--P-MDPMMSKILGL---FTL\n+24==            -FEAQTG------GNRSVLDNVLPD-MAPLVNPHWSRFA--P-MDPTMSKILGL---FTL\n+25==            -YEAFSYGGQARFNNQTVVDKVPPD-MLHLIDANWYQY---PPLNPMWHGILG----FVI\n+26==            -Y--QP--------NASVVDTMPKE-MLYMIHEHWYAF---PPMNPLWYSILGV---AMI\n+27==            -----MVESTTLV-NQT'..b'GESRDAAQMKEMMAMMQKMQAQQAAYQPPPPPQGY--PPQGYPPQGAYPPPQGYPP\n+28==            SSDAAPSADAAQMKEMMAMMQKMQQQQAAY----PPQGYAPPPQGYPPQG-YPP-QGYPP\n+1==             T-SPVSPA----------------------------------------------------\n+2==             T-SQVAPA----------------------------------------------------\n+4=p             ------PA----------------------------------------------------\n+5=p             ------PA----------------------------------------------------\n+3==             S-SQVSPA----------------------------------------------------\n+6==             ------PEK---------------------------------------------------\n+7==             S-TQVGPN----------------------------------------------------\n+9==             ---SVSPA----------------------------------------------------\n+10==            ---SVSPA----------------------------------------------------\n+8=opsin_        ------------------------------------------------------------\n+11==            N-SSVAPA----------------------------------------------------\n+12==            N-SSVSPA----------------------------------------------------\n+13==            LRNKVMPAHPV-------------------------------------------------\n+30==            ERSEFVLQNSDHCGKKGHDT----------------------------------------\n+31=p            ERSEFVLQNSDHCGKKGHDT----------------------------------------\n+29==            ERPEFVLQNADYCRKKGHDS----------------------------------------\n+32==            ------------------------------------------------------------\n+33=p            ------------------------------------------------------------\n+34==            ------------------------------------------------------------\n+35=p            ------------------------------------------------------------\n+36==            ------------------------------------------------------------\n+                                                                            \n+\n+14==            ----------------------------------------\n+15==            ----------------------------------------\n+16==            ----------------------------------------\n+17==            ----------------------------------------\n+18==            ----------------------------------------\n+19==            ----------------------------------------\n+20==            ----------------------------------------\n+21==            ----------------------------------------\n+22==            ----------------------------------------\n+23==            ----------------------------------------\n+24==            ----------------------------------------\n+25==            ----------------------------------------\n+26==            ----------------------------------------\n+27==            QGYPPQGYPPQGYPPQGAPPQVEAPQGAPPQGVDNQAYQA\n+28==            QGYPPQGYPP---PPQGAPPQ-GAPPAAPPQGVDNQAYQA\n+1==             ----------------------------------------\n+2==             ----------------------------------------\n+4=p             ----------------------------------------\n+5=p             ----------------------------------------\n+3==             ----------------------------------------\n+6==             ----------------------------------------\n+7==             ----------------------------------------\n+9==             ----------------------------------------\n+10==            ----------------------------------------\n+8=opsin_        ----------------------------------------\n+11==            ----------------------------------------\n+12==            ----------------------------------------\n+13==            ----------------------------------------\n+30==            ----------------------------------------\n+31=p            ----------------------------------------\n+29==            ----------------------------------------\n+32==            ----------------------------------------\n+33=p            ----------------------------------------\n+34==            ----------------------------------------\n+35=p            ----------------------------------------\n+36==            ----------------------------------------\n+                                                        \n'
b
diff -r d6694932c5e0 -r d9c2b2fde6a3 test-data/rgClustal_testout03.dnd
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/rgClustal_testout03.dnd Thu Sep 15 12:12:51 2022 +0000
b
@@ -0,0 +1,103 @@
+(
+(
+(
+(
+(
+1==:0.10466,
+2==:0.11086)
+:0.03287,
+(
+3==:0.11257,
+(
+4=p:0.04128,
+5=p:0.04468)
+:0.06078)
+:0.02995)
+:0.11829,
+6==:0.25773)
+:0.01821,
+7==:0.26433)
+:0.02576,
+(
+(
+(
+8=opsin_:0.00127,
+(
+9==:0.01804,
+10==:0.02316)
+:0.00590)
+:0.08153,
+(
+11==:0.08862,
+12==:0.08818)
+:0.02496)
+:0.17382,
+13==:0.26257)
+:0.01165,
+(
+(
+(
+(
+(
+14==:0.04296,
+15==:0.04604)
+:0.10934,
+(
+16==:0.02950,
+17==:0.02077)
+:0.12646)
+:0.18931,
+(
+(
+18==:0.12161,
+19==:0.12507)
+:0.17514,
+(
+(
+(
+(
+(
+20==:0.00751,
+21==:-0.00467)
+:0.02248,
+22==:0.01604)
+:0.14593,
+(
+23==:0.04207,
+24==:0.04717)
+:0.13371)
+:0.04590,
+25==:0.22090)
+:0.02731,
+26==:0.23656)
+:0.06585)
+:0.00454)
+:0.02246,
+(
+27==:0.12163,
+28==:0.12167)
+:0.20854)
+:0.05872,
+(
+(
+29==:0.02733,
+(
+30==:0.00316,
+31=p:0.00179)
+:0.02465)
+:0.31664,
+(
+(
+32==:0.05101,
+33=p:0.05088)
+:0.26674,
+(
+(
+34==:0.00000,
+35=p:0.00000)
+:0.29806,
+36==:0.30732)
+:0.00817)
+:0.04982)
+:0.08204)
+:0.08853);