Repository 'circos'
hg clone https://toolshed.g2.bx.psu.edu/repos/iuc/circos

Changeset 7:4b519282a05b (2020-05-25)
Previous changeset 6:740057a5126d (2020-05-01) Next changeset 8:e6cbe3190642 (2020-06-12)
Commit message:
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit ef20b4968a6d00c49209de6b723f8b96d8bd128a"
modified:
circos.xml
macros.xml
stack-histogram.py
test-data/0/out.png
test-data/0/out.svg
test-data/1/out.png
test-data/1/out.svg
test-data/tableviewer/1.png
added:
karyotype-colors.py
karyotype-from-fasta.py
karyotype-from-lengths.py
test-data/2/many.fa
test-data/2/out.colors
removed:
fasta-to-karyotype.py
genome-lengths-to-karyotype.py
b
diff -r 740057a5126d -r 4b519282a05b circos.xml
--- a/circos.xml Fri May 01 07:28:50 2020 -0400
+++ b/circos.xml Mon May 25 10:52:02 2020 -0400
b
@@ -29,7 +29,7 @@
 #end if
 
 #if $reference_genome.ref.ref_source in ('lengths', 'cached'):
-    python '$__tool_directory__/genome-lengths-to-karyotype.py'
+    python '$__tool_directory__/karyotype-from-lengths.py'
         #if $reference_genome.ref.ref_source == 'lengths':
             ${reference_genome.ref.input_lengths}'
         #else
@@ -41,22 +41,22 @@
                 <(head -n 50 '${reference_genome.ref.fasta_indexes.fields.len_path}')
             #end if
         #end if
-        '${reference_genome.ref.color}'
         > circos/conf/karyotype.txt &&
 #else if $reference_genome.ref.ref_source == 'karyotype':
     cp $reference_genome.ref.input_karyotype circos/conf/karyotype.txt &&
 #else if str($reference_genome.ref.ref_source) == 'history':
     ## Process the karyotype.txt file
     python
-        '$__tool_directory__/fasta-to-karyotype.py'
+        '$__tool_directory__/karyotype-from-fasta.py'
         genomeref.fa
-        '${reference_genome.ref.color}'
-
-    > circos/conf/karyotype.txt &&
+        > circos/conf/karyotype.txt &&
 #else if $reference_genome.ref.ref_source == 'preset':
     cp '$__tool_directory__/karyotype/'${reference_genome.ref.preset_karyotype} circos/conf/karyotype.txt &&
 #end if
 
+python '$__tool_directory__/karyotype-colors.py' `grep -c '^chr\s' 'circos/conf/karyotype.txt'`
+    > 'circos/conf/karyotype-colors.conf' &&
+
 touch circos/conf/karyotype-colors.conf &&
 
 ## #if $ideogram.bands.bands:
@@ -158,18 +158,15 @@
                     <param name="fasta_indexes" type="select" label="Source Genome Build" help="Warning: this also contains unplaced scaffolds present in the reference genome. You can restrict the regions to plot in 'Limit/Filter Chromosomes' below, or supply your own file.">
                         <options from_data_table="__dbkeys__"/>
                     </param>
-                    <expand macro="brewer_scale" name="color" label="Ideogram Color Scheme" help="This will apply a color scheme to the generated karyotype file"/>
                 </when>
                 <when value="history">
                     <param name="genome_fasta" type="data" format="fasta" label="Source FASTA Sequence"/>
-                    <expand macro="brewer_scale" name="color" label="Ideogram Color Scheme" help="This will apply a color scheme to the generated karyotype file"/>
                 </when>
                 <when value="karyotype">
                     <param name="input_karyotype" type="data" format="tabular,txt" label="Karyotype Configuration" help="Provide your own karyotype configuration. Should be 'chr - ID LABEL START END COLOR'"/>
                 </when>
                 <when value="lengths">
                     <param name="input_lengths" type="data" format="tabular" label="Sequence Lengths" help="This needs to be a 2+ column tabular, e.g. from 'Compute sequence lengths', the first column should be chromosome and second should be length."/>
-                    <expand macro="brewer_scale" name="color" label="Ideogram Color Scheme" help="This will apply a color scheme to the generated karyotype file"/>
                 </when>
             </conditional>
         </section>
b
diff -r 740057a5126d -r 4b519282a05b fasta-to-karyotype.py
--- a/fasta-to-karyotype.py Fri May 01 07:28:50 2020 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,16 +0,0 @@
-#!/usr/bin/env python
-import sys
-
-from Bio import SeqIO
-
-# Process fasta data, extracting only headers
-for idx, seq in enumerate(SeqIO.parse(sys.argv[1], "fasta")):
-    sys.stdout.write(
-        "chr - {seq_id} {seq_id} 0 {length} {theme}-{color}\n".format(
-            seq_id=seq.id,
-            idx=idx,
-            length=len(seq),
-            color=((idx + 1) % 12),
-            theme=sys.argv[2],
-        )
-    )
b
diff -r 740057a5126d -r 4b519282a05b genome-lengths-to-karyotype.py
--- a/genome-lengths-to-karyotype.py Fri May 01 07:28:50 2020 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,25 +0,0 @@
-#!/usr/bin/env python
-import csv
-import sys
-
-
-idx = 0
-with open(sys.argv[1], "r") as csvfile:
-    spamreader = csv.reader(csvfile, delimiter="\t", quotechar='"')
-    for row in spamreader:
-        if len(row) < 2:
-            continue
-
-        seq_id = row[0]
-        length = row[1]
-
-        sys.stdout.write(
-            "chr - {seq_id} {seq_id} 0 {length} {theme}-{color}\n".format(
-                seq_id=seq_id,
-                idx=idx,
-                length=length,
-                color=((idx + 1) % 12),
-                theme=sys.argv[2],
-            )
-        )
-        idx += 1
b
diff -r 740057a5126d -r 4b519282a05b karyotype-colors.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/karyotype-colors.py Mon May 25 10:52:02 2020 -0400
[
@@ -0,0 +1,11 @@
+#!/usr/bin/env python
+import sys
+
+
+highest = int(sys.argv[1])
+for idx in range(highest + 1):
+    sys.stdout.write(
+        "chr{idx}color = lch(66,104,{pos})\n".format(
+            idx=idx, pos=int(float(idx) / highest * 360)
+        )
+    )
b
diff -r 740057a5126d -r 4b519282a05b karyotype-from-fasta.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/karyotype-from-fasta.py Mon May 25 10:52:02 2020 -0400
[
@@ -0,0 +1,12 @@
+#!/usr/bin/env python
+import sys
+from Bio import SeqIO
+
+
+# Process fasta data, extracting only headers
+for idx, seq in enumerate(SeqIO.parse(sys.argv[1], "fasta")):
+    sys.stdout.write(
+        "chr - {seq_id} {seq_id} 0 {length} chr{idx}color\n".format(
+            seq_id=seq.id, idx=idx, length=len(seq)
+        )
+    )
b
diff -r 740057a5126d -r 4b519282a05b karyotype-from-lengths.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/karyotype-from-lengths.py Mon May 25 10:52:02 2020 -0400
[
@@ -0,0 +1,23 @@
+#!/usr/bin/env python
+import csv
+import sys
+
+
+idx = 0
+with open(sys.argv[1], "r") as csvfile:
+    spamreader = csv.reader(csvfile, delimiter="\t", quotechar='"')
+    for row in spamreader:
+        if len(row) < 2:
+            continue
+
+        seq_id = row[0]
+        length = row[1]
+
+        sys.stdout.write(
+            "chr - {seq_id} {seq_id} 0 {length} chr{idx}color\n".format(
+                seq_id=seq_id,
+                idx=idx,
+                length=length,
+            )
+        )
+        idx += 1
b
diff -r 740057a5126d -r 4b519282a05b macros.xml
--- a/macros.xml Fri May 01 07:28:50 2020 -0400
+++ b/macros.xml Mon May 25 10:52:02 2020 -0400
b
@@ -2,7 +2,7 @@
 <macros>
   <token name="@CIRCOS_VERSION@">0.69.8</token>
 
-  <token name="@WRAPPER_VERSION@">@CIRCOS_VERSION@+galaxy5</token>
+  <token name="@WRAPPER_VERSION@">@CIRCOS_VERSION@+galaxy6</token>
 
   <xml name="requirements">
       <requirements>
@@ -259,7 +259,7 @@
                         <option value="random">Randomly</option>
                         <option value="on">Check for presence/absence per chromosome</option>
                         <option value="pos">Based on position on chromosome</option>
-                        <option value="value">Based on position value (ONLY for scatter/histogram/heatmap/line)</option>
+                        <option value="value">Based on value (ONLY for scatter/histogram/heatmap/line)</option>
                         <option value="var">Based on qualifier value (when available)</option>
                     </param>
                     <when value="always">
b
diff -r 740057a5126d -r 4b519282a05b stack-histogram.py
--- a/stack-histogram.py Fri May 01 07:28:50 2020 -0400
+++ b/stack-histogram.py Mon May 25 10:52:02 2020 -0400
[
@@ -23,5 +23,5 @@
     for chrom in k:
         for interval_set in zip(*[bw.intervals(chrom) for bw in bws]):
             (start, end) = interval_set[0][0:2]
-            values = ','.join(map(str, [x[2] for x in interval_set]))
+            values = ",".join(map(str, [x[2] for x in interval_set]))
             sys.stdout.write("%s\t%s\t%s\t%s\n" % (chrom, start, end, values))
b
diff -r 740057a5126d -r 4b519282a05b test-data/0/out.png
b
Binary file test-data/0/out.png has changed
b
diff -r 740057a5126d -r 4b519282a05b test-data/0/out.svg
--- a/test-data/0/out.svg Fri May 01 07:28:50 2020 -0400
+++ b/test-data/0/out.svg Mon May 25 10:52:02 2020 -0400
b
@@ -5,17 +5,17 @@
 <rect x="0" y="0" width="3000px" height="3000px" style="fill:rgb(255,255,255);"/>
 </g>
 <g id="ideograms">
-<path d="M1500.000,160.000 A1340.000,1340.000 40.000 0,1 1703.954,175.612 L1705.476,165.729 A1350.000,1350.000 0.000 0,0 1500.000,150.000 Z" style="stroke-linecap:round;fill:rgb(166,206,227);" />
-<text x="1610.7" y="53.7" font-size="31.2px" font-family="CMUBright-Roman" style="text-anchor:middle;fill:rgb(0,0,0);" transform="rotate(364.4,1610.7,53.7)" >ctgA</text>
-<path d="M1410.139,2836.984 A1340.000,1340.000 40.000 0,1 1385.319,2835.084 L1384.463,2845.047 A1350.000,1350.000 0.000 0,0 1409.469,2846.961 Z" style="stroke-linecap:round;fill:rgb(31,120,180);" />
-<text x="1387.1" y="2975.2" font-size="31.2px" font-family="CMUBright-Roman" style="text-anchor:middle;fill:rgb(0,0,0);" transform="rotate(4.4,1387.1,2975.2)" >ctgB</text>
+<path d="M1500.000,180.000 A1320.000,1320.000 40.000 0,1 1886.911,237.978 L1895.704,209.296 A1350.000,1350.000 0.000 0,0 1500.000,150.000 Z" style="stroke-linecap:round;fill:rgb(255,0,165);" />
+<text x="1714.7" y="67.0" font-size="31.2px" font-family="CMUBright-Roman" style="text-anchor:middle;fill:rgb(0,0,0);" transform="rotate(368.5,1714.7,67.0)" >ctgA</text>
+<path d="M1328.022,2808.749 A1320.000,1320.000 40.000 0,1 1280.811,2801.674 L1275.829,2831.258 A1350.000,1350.000 0.000 0,0 1324.113,2838.493 Z" style="stroke-linecap:round;fill:rgb(0,198,158);" />
+<text x="1281.0" y="2961.7" font-size="31.2px" font-family="CMUBright-Roman" style="text-anchor:middle;fill:rgb(0,0,0);" transform="rotate(8.5,1281.0,2961.7)" >ctgB</text>
 </g>
 <defs>
+<pattern id="vline" width="10" height="10" patternTransform="rotate(0 0 0)" patternUnits="userSpaceOnUse"><line x1="0" y1="0" x2="0" y2="10" style="stroke:black;stroke-width:5" /></pattern>
+<pattern id="checker" width="10" height="10" patternTransform="rotate(45 0 0)" patternUnits="userSpaceOnUse"><line x1="0" y1="0" x2="10" y2="0" style="stroke:black;stroke-width:2" /><line x1="0" y1="0" x2="0" y2="10" style="stroke:black;stroke-width:2" /></pattern>
+<pattern id="hline-sparse" width="10" height="10" patternTransform="rotate(0 0 0)" patternUnits="userSpaceOnUse"><line x1="0" y1="0" x2="10" y2="0" style="stroke:black;stroke-width:2" /></pattern>
 <pattern id="hline" width="10" height="10" patternTransform="rotate(0 0 0)" patternUnits="userSpaceOnUse"><line x1="0" y1="0" x2="10" y2="0" style="stroke:black;stroke-width:5" /></pattern>
 <pattern id="vline-sparse" width="10" height="10" patternTransform="rotate(0 0 0)" patternUnits="userSpaceOnUse"><line x1="0" y1="0" x2="0" y2="10" style="stroke:black;stroke-width:2" /></pattern>
-<pattern id="vline" width="10" height="10" patternTransform="rotate(0 0 0)" patternUnits="userSpaceOnUse"><line x1="0" y1="0" x2="0" y2="10" style="stroke:black;stroke-width:5" /></pattern>
-<pattern id="hline-sparse" width="10" height="10" patternTransform="rotate(0 0 0)" patternUnits="userSpaceOnUse"><line x1="0" y1="0" x2="10" y2="0" style="stroke:black;stroke-width:2" /></pattern>
 <pattern id="checker" width="10" height="10" patternTransform="rotate(45 0 0)" patternUnits="userSpaceOnUse"><line x1="0" y1="0" x2="10" y2="0" style="stroke:black;stroke-width:5" /><line x1="0" y1="0" x2="0" y2="10" style="stroke:black;stroke-width:4" /></pattern>
-<pattern id="checker" width="10" height="10" patternTransform="rotate(45 0 0)" patternUnits="userSpaceOnUse"><line x1="0" y1="0" x2="10" y2="0" style="stroke:black;stroke-width:2" /><line x1="0" y1="0" x2="0" y2="10" style="stroke:black;stroke-width:2" /></pattern>
 </defs>
 </svg>
b
diff -r 740057a5126d -r 4b519282a05b test-data/1/out.png
b
Binary file test-data/1/out.png has changed
b
diff -r 740057a5126d -r 4b519282a05b test-data/1/out.svg
--- a/test-data/1/out.svg Fri May 01 07:28:50 2020 -0400
+++ b/test-data/1/out.svg Mon May 25 10:52:02 2020 -0400
b
b'@@ -5,2788 +5,2788 @@\n <rect x="0" y="0" width="3000px" height="3000px" style="fill:rgb(255,255,255);"/>\n </g>\n <g id="ideograms">\n-<path d="M1500.000,160.000 A1340.000,1340.000 40.000 1,1 472.352,640.035 L464.683,633.617 A1350.000,1350.000 0.000 1,0 1500.000,150.000 Z" style="stroke-linecap:round;fill:rgb(166,206,227);" />\n-<text x="2126.6" y="2841.4" font-size="31.2px" font-family="CMUBright-Roman" style="text-anchor:middle;fill:rgb(0,0,0);" transform="rotate(-25.0,2126.6,2841.4)" >ctgA</text>\n+<path d="M1500.000,180.000 A1320.000,1320.000 40.000 1,1 572.390,560.883 L551.308,539.540 A1350.000,1350.000 0.000 1,0 1500.000,150.000 Z" style="stroke-linecap:round;fill:rgb(255,0,165);" />\n+<text x="2061.8" y="2868.2" font-size="31.2px" font-family="CMUBright-Roman" style="text-anchor:middle;fill:rgb(0,0,0);" transform="rotate(-22.3,2061.8,2868.2)" >ctgA</text>\n <line x1=\'1500.0\' y1=\'150.0\' x2=\'1500.0\' y2=\'140.0\' style="stroke-width:2.0;stroke:rgb(0,0,0);stroke-linecap:round;fill:none;" />\n <text x="1510.0" y="130.0" font-size="26.0px" font-family="CMUBright-Roman" style="text-anchor:start;fill:rgb(0,0,0);" transform="rotate(270.0,1510.0,130.0)" >0.0 Kb</text>\n-<line x1=\'1645.8\' y1=\'157.9\' x2=\'1646.8\' y2=\'148.0\' style="stroke-width:2.0;stroke:rgb(0,0,0);stroke-linecap:round;fill:none;" />\n-<line x1=\'1789.8\' y1=\'181.5\' x2=\'1792.0\' y2=\'171.7\' style="stroke-width:2.0;stroke:rgb(0,0,0);stroke-linecap:round;fill:none;" />\n-<line x1=\'1930.5\' y1=\'220.5\' x2=\'1933.7\' y2=\'211.0\' style="stroke-width:2.0;stroke:rgb(0,0,0);stroke-linecap:round;fill:none;" />\n-<line x1=\'2066.1\' y1=\'274.4\' x2=\'2070.3\' y2=\'265.4\' style="stroke-width:2.0;stroke:rgb(0,0,0);stroke-linecap:round;fill:none;" />\n-<line x1=\'2195.1\' y1=\'342.7\' x2=\'2200.3\' y2=\'334.2\' style="stroke-width:2.0;stroke:rgb(0,0,0);stroke-linecap:round;fill:none;" />\n-<text x="2214.0" y="330.8" font-size="26.0px" font-family="CMUBright-Roman" style="text-anchor:start;fill:rgb(0,0,0);" transform="rotate(301.0,2214.0,330.8)" >5.0 Kb</text>\n-<line x1=\'2316.0\' y1=\'424.5\' x2=\'2322.1\' y2=\'416.6\' style="stroke-width:2.0;stroke:rgb(0,0,0);stroke-linecap:round;fill:none;" />\n-<line x1=\'2427.4\' y1=\'518.9\' x2=\'2434.2\' y2=\'511.7\' style="stroke-width:2.0;stroke:rgb(0,0,0);stroke-linecap:round;fill:none;" />\n-<line x1=\'2527.9\' y1=\'624.8\' x2=\'2535.5\' y2=\'618.3\' style="stroke-width:2.0;stroke:rgb(0,0,0);stroke-linecap:round;fill:none;" />\n-<line x1=\'2616.4\' y1=\'740.9\' x2=\'2624.6\' y2=\'735.3\' style="stroke-width:2.0;stroke:rgb(0,0,0);stroke-linecap:round;fill:none;" />\n-<line x1=\'2691.8\' y1=\'865.9\' x2=\'2700.6\' y2=\'861.2\' style="stroke-width:2.0;stroke:rgb(0,0,0);stroke-linecap:round;fill:none;" />\n-<text x="2714.1" y="865.3" font-size="26.0px" font-family="CMUBright-Roman" style="text-anchor:start;fill:rgb(0,0,0);" transform="rotate(332.0,2714.1,865.3)" >10.0 Kb</text>\n-<line x1=\'2753.3\' y1=\'998.3\' x2=\'2762.6\' y2=\'994.5\' style="stroke-width:2.0;stroke:rgb(0,0,0);stroke-linecap:round;fill:none;" />\n-<line x1=\'2800.1\' y1=\'1136.5\' x2=\'2809.8\' y2=\'1133.8\' style="stroke-width:2.0;stroke:rgb(0,0,0);stroke-linecap:round;fill:none;" />\n-<line x1=\'2831.8\' y1=\'1279.0\' x2=\'2841.7\' y2=\'1277.4\' style="stroke-width:2.0;stroke:rgb(0,0,0);stroke-linecap:round;fill:none;" />\n-<line x1=\'2847.9\' y1=\'1424.1\' x2=\'2857.8\' y2=\'1423.5\' style="stroke-width:2.0;stroke:rgb(0,0,0);stroke-linecap:round;fill:none;" />\n-<line x1=\'2848.2\' y1=\'1570.1\' x2=\'2858.2\' y2=\'1570.6\' style="stroke-width:2.0;stroke:rgb(0,0,0);stroke-linecap:round;fill:none;" />\n-<text x="2867.6" y="1581.1" font-size="26.0px" font-family="CMUBright-Roman" style="text-anchor:start;fill:rgb(0,0,0);" transform="rotate(3.0,2867.6,1581.1)" >15.0 Kb</text>\n-<line x1=\'2832.7\' y1=\'1715.2\' x2=\'2842.6\' y2=\'1716.8\' style="stroke-width:2.0;stroke:rgb(0,0,0);stroke-linecap:round;fill:none;" />\n-<line x1=\'2801.7\' y1=\'1857.9\' x2=\'2811.3\' y2=\'1860.5\' style="stroke-width:2.0;stroke:rgb(0,0,0);stroke-linecap:round;fill:none;" />\n-<line x1=\'2755.5\' y1=\'1996.3\' x2=\'2764.8\' y2=\'2000.0\' style="'..b'4 A838.000,838.000 40.000 0,1 891.618,923.706 L880.728,913.390 A853.000,853.000 0.000 0,0 866.202,929.115 Z" style="stroke-width:1.0;stroke:rgb(0,0,0);stroke-linecap:round;fill:rgb(0,0,0);" />\n+<path d="M911.906,935.757 A815.000,815.000 40.000 0,1 927.208,920.230 L916.665,909.559 A830.000,830.000 0.000 0,0 901.082,925.372 Z" style="stroke-width:1.0;stroke:rgb(0,0,0);stroke-linecap:round;fill:rgb(0,0,0);" />\n+<path d="M895.565,919.567 A838.000,838.000 40.000 0,1 911.043,903.868 L900.501,893.197 A853.000,853.000 0.000 0,0 884.746,909.177 Z" style="stroke-width:1.0;stroke:rgb(0,0,0);stroke-linecap:round;fill:rgb(0,0,0);" />\n+<path d="M891.919,890.444 A861.000,861.000 40.000 0,1 894.878,887.506 L884.336,876.836 A876.000,876.000 0.000 0,0 881.325,879.825 Z" style="stroke-width:1.0;stroke:rgb(0,0,0);stroke-linecap:round;fill:rgb(0,0,0);" />\n+<path d="M975.274,906.766 A792.000,792.000 40.000 0,1 1456.432,709.199 L1455.606,694.222 A807.000,807.000 0.000 0,0 965.336,895.531 Z" style="stroke-width:1.0;stroke:rgb(0,0,0);stroke-linecap:round;fill:rgb(0,0,0);" />\n+<path d="M1079.800,801.676 A815.000,815.000 40.000 0,1 1105.124,787.050 L1097.857,773.928 A830.000,830.000 0.000 0,0 1072.066,788.823 Z" style="stroke-width:1.0;stroke:rgb(0,0,0);stroke-linecap:round;fill:rgb(0,0,0);" />\n+<path d="M1188.237,746.987 A815.000,815.000 40.000 0,1 1455.166,686.234 L1454.341,671.257 A830.000,830.000 0.000 0,0 1182.499,733.128 Z" style="stroke-width:1.0;stroke:rgb(0,0,0);stroke-linecap:round;fill:rgb(0,0,0);" />\n+<path d="M1329.170,679.597 A838.000,838.000 40.000 0,1 1443.681,663.895 L1442.673,648.929 A853.000,853.000 0.000 0,0 1326.112,664.912 Z" style="stroke-width:1.0;stroke:rgb(0,0,0);stroke-linecap:round;fill:rgb(0,0,0);" />\n </g>\n <defs>\n+<pattern id="checker" width="10" height="10" patternTransform="rotate(45 0 0)" patternUnits="userSpaceOnUse"><line x1="0" y1="0" x2="10" y2="0" style="stroke:black;stroke-width:2" /><line x1="0" y1="0" x2="0" y2="10" style="stroke:black;stroke-width:2" /></pattern>\n+<pattern id="hline-sparse" width="10" height="10" patternTransform="rotate(0 0 0)" patternUnits="userSpaceOnUse"><line x1="0" y1="0" x2="10" y2="0" style="stroke:black;stroke-width:2" /></pattern>\n+<pattern id="hline" width="10" height="10" patternTransform="rotate(0 0 0)" patternUnits="userSpaceOnUse"><line x1="0" y1="0" x2="10" y2="0" style="stroke:black;stroke-width:5" /></pattern>\n+<pattern id="checker" width="10" height="10" patternTransform="rotate(45 0 0)" patternUnits="userSpaceOnUse"><line x1="0" y1="0" x2="10" y2="0" style="stroke:black;stroke-width:5" /><line x1="0" y1="0" x2="0" y2="10" style="stroke:black;stroke-width:4" /></pattern>\n <pattern id="vline" width="10" height="10" patternTransform="rotate(0 0 0)" patternUnits="userSpaceOnUse"><line x1="0" y1="0" x2="0" y2="10" style="stroke:black;stroke-width:5" /></pattern>\n-<pattern id="checker" width="10" height="10" patternTransform="rotate(45 0 0)" patternUnits="userSpaceOnUse"><line x1="0" y1="0" x2="10" y2="0" style="stroke:black;stroke-width:2" /><line x1="0" y1="0" x2="0" y2="10" style="stroke:black;stroke-width:2" /></pattern>\n <pattern id="vline-sparse" width="10" height="10" patternTransform="rotate(0 0 0)" patternUnits="userSpaceOnUse"><line x1="0" y1="0" x2="0" y2="10" style="stroke:black;stroke-width:2" /></pattern>\n-<pattern id="checker" width="10" height="10" patternTransform="rotate(45 0 0)" patternUnits="userSpaceOnUse"><line x1="0" y1="0" x2="10" y2="0" style="stroke:black;stroke-width:5" /><line x1="0" y1="0" x2="0" y2="10" style="stroke:black;stroke-width:4" /></pattern>\n-<pattern id="hline" width="10" height="10" patternTransform="rotate(0 0 0)" patternUnits="userSpaceOnUse"><line x1="0" y1="0" x2="10" y2="0" style="stroke:black;stroke-width:5" /></pattern>\n-<pattern id="hline-sparse" width="10" height="10" patternTransform="rotate(0 0 0)" patternUnits="userSpaceOnUse"><line x1="0" y1="0" x2="10" y2="0" style="stroke:black;stroke-width:2" /></pattern>\n </defs>\n </svg>\n'
b
diff -r 740057a5126d -r 4b519282a05b test-data/2/many.fa
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/2/many.fa Mon May 25 10:52:02 2020 -0400
b
@@ -0,0 +1,52 @@
+>1
+actgtcggtacgtatcgtatcggtacgttgactgtacgtagctgaca
+>2
+actgtcggtacgtatcgtatcggtacgttgactgtacgtagctgaca
+>3
+actgtcggtacgtatcgtatcggtacgttgactgtacgtagctgaca
+>4
+actgtcggtacgtatcgtatcggtacgttgactgtacgtagctgaca
+>5
+actgtcggtacgtatcgtatcggtacgttgactgtacgtagctgaca
+>6
+actgtcggtacgtatcgtatcggtacgttgactgtacgtagctgaca
+>7
+actgtcggtacgtatcgtatcggtacgttgactgtacgtagctgaca
+>8
+actgtcggtacgtatcgtatcggtacgttgactgtacgtagctgaca
+>9
+actgtcggtacgtatcgtatcggtacgttgactgtacgtagctgaca
+>10
+actgtcggtacgtatcgtatcggtacgttgactgtacgtagctgaca
+>11
+actgtcggtacgtatcgtatcggtacgttgactgtacgtagctgaca
+>12
+actgtcggtacgtatcgtatcggtacgttgactgtacgtagctgaca
+>13
+actgtcggtacgtatcgtatcggtacgttgactgtacgtagctgaca
+>14
+actgtcggtacgtatcgtatcggtacgttgactgtacgtagctgaca
+>15
+actgtcggtacgtatcgtatcggtacgttgactgtacgtagctgaca
+>16
+actgtcggtacgtatcgtatcggtacgttgactgtacgtagctgaca
+>17
+actgtcggtacgtatcgtatcggtacgttgactgtacgtagctgaca
+>18
+actgtcggtacgtatcgtatcggtacgttgactgtacgtagctgaca
+>19
+actgtcggtacgtatcgtatcggtacgttgactgtacgtagctgaca
+>20
+actgtcggtacgtatcgtatcggtacgttgactgtacgtagctgaca
+>21
+actgtcggtacgtatcgtatcggtacgttgactgtacgtagctgaca
+>22
+actgtcggtacgtatcgtatcggtacgttgactgtacgtagctgaca
+>23
+actgtcggtacgtatcgtatcggtacgttgactgtacgtagctgaca
+>24
+actgtcggtacgtatcgtatcggtacgttgactgtacgtagctgaca
+>25
+actgtcggtacgtatcgtatcggtacgttgactgtacgtagctgaca
+>26
+actgtcggtacgtatcgtatcggtacgttgactgtacgtagctgaca
b
diff -r 740057a5126d -r 4b519282a05b test-data/2/out.colors
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/2/out.colors Mon May 25 10:52:02 2020 -0400
b
@@ -0,0 +1,26 @@
+chr0color = lch(50,121,0)
+chr1color = lch(50,121,14)
+chr2color = lch(50,121,28)
+chr3color = lch(50,121,43)
+chr4color = lch(50,121,57)
+chr5color = lch(50,121,72)
+chr6color = lch(50,121,86)
+chr7color = lch(50,121,100)
+chr8color = lch(50,121,115)
+chr9color = lch(50,121,129)
+chr10color = lch(50,121,144)
+chr11color = lch(50,121,158)
+chr12color = lch(50,121,172)
+chr13color = lch(50,121,187)
+chr14color = lch(50,121,201)
+chr15color = lch(50,121,216)
+chr16color = lch(50,121,230)
+chr17color = lch(50,121,244)
+chr18color = lch(50,121,259)
+chr19color = lch(50,121,273)
+chr20color = lch(50,121,288)
+chr21color = lch(50,121,302)
+chr22color = lch(50,121,316)
+chr23color = lch(50,121,331)
+chr24color = lch(50,121,345)
+chr25color = lch(50,121,360)
b
diff -r 740057a5126d -r 4b519282a05b test-data/tableviewer/1.png
b
Binary file test-data/tableviewer/1.png has changed