Previous changeset 84:5c295cc220ed (2024-04-03) Next changeset 86:0fae1d68347f (2024-04-10) |
Commit message:
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 264a3d6c7a29f396d359f33164ddf2cb1d9903f8-dirty |
modified:
autogenJB2.py jbrowse2.py jbrowse2.xml macros.xml |
added:
test-data/dm3.cool test-data/dm3.fasta |
b |
diff -r 5c295cc220ed -r 3b2ff9864995 autogenJB2.py --- a/autogenJB2.py Wed Apr 03 02:56:39 2024 +0000 +++ b/autogenJB2.py Tue Apr 09 00:26:49 2024 +0000 |
[ |
@@ -143,7 +143,7 @@ sys.stdout.write("#### calling %s" % " ".join(cmd)) jc.subprocess_check_call(cmd) track_conf.update( - {"conf": {"options": {"bam": {"bam_index": ipath}}}} + {"conf": {"options": {"bam": {"bam_index": " %s,%s " % (trackname,ipath)}}}} ) elif trext == "cram": ipath = track[3] @@ -161,7 +161,7 @@ ] jc.subprocess_check_call(cmd) track_conf.update( - {"conf": {"options": {"cram": {"cram_index": ipath}}}} + {"conf": {"options": {"cram": {"cram_index": "%s,%s" % (trackname,ipath)}}}} ) track_conf["path"] = tpath track_conf["format"] = trext |
b |
diff -r 5c295cc220ed -r 3b2ff9864995 jbrowse2.py --- a/jbrowse2.py Wed Apr 03 02:56:39 2024 +0000 +++ b/jbrowse2.py Tue Apr 09 00:26:49 2024 +0000 |
[ |
b'@@ -475,12 +475,7 @@\n if trackDict.get("displays", None): # use first if multiple like bed\n style_data["type"] = trackDict["displays"][0]["type"]\n style_data["displayId"] = trackDict["displays"][0]["displayId"]\n- wstyle = {\n- "displays": [\n- style_data,\n- ]\n- }\n- return wstyle\n+ return style_data\n \n def getNrow(self, url):\n useuri = url.startswith("https://") or url.startswith("http://")\n@@ -681,18 +676,23 @@\n \n """\n tId = trackData["label"]\n+ wasCool = trackData["wasCool"]\n # can be served - if public.\n # dsId = trackData["metadata"]["dataset_id"]\n # url = "%s/api/datasets/%s/display?to_ext=hic " % (self.giURL, dsId)\n useuri = trackData["useuri"].lower() == "yes"\n+ logging.debug("wasCool=%s, data=%s, tId=%s" % (wasCool, data, tId))\n if useuri:\n uri = data\n else:\n- uri = tId\n- # slashes in names cause path trouble\n- dest = os.path.join(self.outdir, uri)\n- cmd = ["cp", data, dest]\n- self.subprocess_check_call(cmd)\n+ uri = tId + ".hic"\n+ if not wasCool:\n+ dest = os.path.join(self.outdir, uri)\n+ if not os.path.exists(dest):\n+ cmd = ["cp", data, dest]\n+ self.subprocess_check_call(cmd)\n+ else:\n+ logging.error("not wasCool but %s exists" % dest)\n categ = trackData["category"]\n trackDict = {\n "type": "HicTrack",\n@@ -854,10 +854,10 @@\n self.tracksToAdd[trackData["assemblyNames"]].append(trackDict)\n self.trackIdlist.append(tId)\n \n- def add_bam(self, data, trackData, bam_index=None, **kwargs):\n+ def add_bam(self, data, trackData, bam_indexes=None, **kwargs):\n tId = trackData["label"]\n+ realFName = trackData["key"]\n useuri = trackData["useuri"].lower() == "yes"\n- bindex = bam_index\n categ = trackData["category"]\n if useuri:\n url = data\n@@ -867,6 +867,20 @@\n url = fname\n bindex = fname + ".bai"\n self.subprocess_check_call(["cp", data, dest])\n+ bi = bam_indexes.split()\n+ bam_index = [\n+ x.split(",")[1].strip()\n+ for x in bi\n+ if "," in x and x.split(",")[0].strip() == realFName\n+ ]\n+ if len(bam_index) > 0:\n+ bam_index = bam_index[0]\n+ else:\n+ bam_index = None\n+ logging.debug(\n+ "===realFName=%s got %s as bi, %s for bam_index"\n+ % (realFName, bi, bam_index)\n+ )\n if bam_index is not None and os.path.exists(bam_index):\n if not os.path.exists(bindex):\n # bai most probably made by galaxy and stored in galaxy dirs, need to copy it to dest\n@@ -909,8 +923,9 @@\n self.tracksToAdd[trackData["assemblyNames"]].append(trackDict)\n self.trackIdlist.append(tId)\n \n- def add_cram(self, data, trackData, cram_index=None, **kwargs):\n+ def add_cram(self, data, trackData, cram_indexes=None, **kwargs):\n tId = trackData["label"]\n+ realFName = trackData["key"]\n categ = trackData["category"]\n useuri = trackData["useuri"].lower() == "yes"\n gsa = self.assmeta.get(trackData["assemblyNames"], None)\n@@ -926,7 +941,21 @@\n dest = os.path.join(self.outdir, fname)\n url = fname\n self.subprocess_check_call(["cp", data, dest])\n- if cram_index is not None and os.path.exists(cram_index):\n+ ci = cram_indexes.split()\n+ cram_index = [\n+ x.split(",")[1].strip()\n+ for x in ci\n+ if "," in x and x.split(",")[0] == realFName\n+ ]\n+ if len(cram_index) > 0:\n+'..b'cks for a default view.\n Originally used only the first assembly, putting all tracks there and so breaking some\n- when tested with 2 or more. Seems ironic that this vital feature could not have ever been tested\n- given that my declining to add it was the basis for a reviewer\'s rejection of my original IUC PR.\n- A simple 2 line diff apparently.\n-\n- The technical problem is that this index.html hack breaks the promise of all the form fields\n- for track controls such as visibility default that were working mostly. They need to be removed from the form by whoever\n- thought this method was a good solution to the JB2 bug breaking config.json style default\n- view coordinates.\n-\n- And no, dear reviewer of this code, please leave this piece of history.\n- It is true and I prefer that it remain here to document my considerable discomfort at this unfair treatment.\n+ when tested with 2 or more.\n \n ----------------------------------------------------------\n Add some default session settings: set some assemblies/tracks on/off\n@@ -1648,7 +1663,7 @@\n \n trackfiles = track.findall("files/trackFile")\n if trackfiles:\n- for x in track.findall("files/trackFile"):\n+ for x in trackfiles:\n track_conf["label"] = x.attrib["label"]\n track_conf["useuri"] = x.attrib["useuri"]\n if is_multi_bigwig:\n@@ -1698,8 +1713,6 @@\n track_conf["category"] = track.attrib["cat"]\n track_conf["format"] = track.attrib["format"]\n track_conf["conf"] = etree_to_dict(track.find("options"))\n- track_conf["category"] = track.attrib["cat"]\n- track_conf["format"] = track.attrib["format"]\n keys = jc.process_annotations(track_conf)\n \n if keys:\n@@ -1708,20 +1721,24 @@\n if not vis:\n vis = "default_off"\n default_session_data[assref_name]["visibility"][vis].append(key)\n- if track.find("options/style"):\n- default_session_data[assref_name]["style"][key] = {\n- item.tag: parse_style_conf(item)\n- for item in track.find("options/style")\n- }\n- else:\n- default_session_data[assref_name]["style"][key] = {}\n- logging.debug("no options/style found for %s" % (key))\n-\n- if track.find("options/style_labels"):\n- default_session_data[assref_name]["style_labels"][key] = {\n- item.tag: parse_style_conf(item)\n- for item in track.find("options/style_labels")\n- }\n+ trakdat = jc.tracksToAdd[assref_name]\n+ stile = {}\n+ for trak in trakdat:\n+ if trak["trackId"] == key:\n+ stile = trak.get("style", {})\n+ if track.find("options/style"):\n+ supdate = {\n+ item.tag: parse_style_conf(item)\n+ for item in track.find("options/style")\n+ }\n+ stile.update(supdate)\n+ default_session_data[assref_name]["style"][key] = stile\n+ logging.debug("@@@ for %s got style=%s" % (key, stile))\n+ if track.find("options/style_labels"):\n+ default_session_data[assref_name]["style_labels"][key] = {\n+ item.tag: parse_style_conf(item)\n+ for item in track.find("options/style_labels")\n+ }\n default_session_data[assref_name]["tracks"].append(key)\n default_session_data["defaultLocation"] = root.find(\n "metadata/general/defaultLocation"\n' |
b |
diff -r 5c295cc220ed -r 3b2ff9864995 jbrowse2.xml --- a/jbrowse2.xml Wed Apr 03 02:56:39 2024 +0000 +++ b/jbrowse2.xml Tue Apr 09 00:26:49 2024 +0000 |
[ |
@@ -1,4 +1,4 @@ - <tool id="jbrowse2" name="JBrowse2" version="@TOOL_VERSION@+@WRAPPER_VERSION@_11" profile="22.05"> + <tool id="jbrowse2" name="JBrowse2" version="@TOOL_VERSION@+@WRAPPER_VERSION@_12" profile="22.05"> <description>genome browser</description> <macros> <import>macros.xml</import> @@ -204,34 +204,42 @@ #if $uglyTestingHack != "enabled": <options> <style> - #if str($track.data_format.data_format_select) in ["gff", "bed", "vcf", "maf", "blastxml"]: + #if str($track.data_format.data_format_select) in ["gff", "bed", "maf", "blastxml"]: + <type>${track.data_format.jbstyle.display}</type> + #if str($track.data_format.jbstyle.display) in ["LinearBasicDisplay", "LinearVariantDisplay"]: + <trackShowLabels>${track.data_format.jbstyle.show_labels}</trackShowLabels> + <trackShowDescriptions>${track.data_format.jbstyle.show_descriptions}</trackShowDescriptions> + #end if + #else if str($track.data_format.data_format_select) == "vcf": <type>${track.data_format.jbstyle.track_style.display}</type> #if str($track.data_format.jbstyle.track_style.display) in ["LinearBasicDisplay", "LinearVariantDisplay"]: <trackShowLabels>${track.data_format.jbstyle.track_style.show_labels}</trackShowLabels> <trackShowDescriptions>${track.data_format.jbstyle.track_style.show_descriptions}</trackShowDescriptions> #end if + #end if #if str($track.data_format.data_format_select) in ["bam", "cram"]: <type>LinearAlignmentsDisplay</type> #end if - #if str($track.data_format.data_format_select) in ["paf"]: - <type>LinearBasicDisplay</type> - #end if - #if str($track.data_format.data_format_select) in ["hic"]: + #if str($track.data_format.data_format_select) in ["hic", "cool", "mcool", "scool"]: <type>LinearHicDisplay</type> #end if </style> #if str($track.data_format.data_format_select) == "bam": <bam> + <bam_index> #for $dataset in $track.data_format.useuri.annotation: - <bam_index>${dataset.metadata.bam_index}</bam_index> + ${dataset.name},${dataset.metadata.bam_index} #end for + </bam_index> </bam> #else if str($track.data_format.data_format_select) == "cram": <cram> + <cram_index> #for $dataset in $track.data_format.useuri.annotation: - <cram_index>${dataset.metadata.cram_index}</cram_index> + ${dataset.name},${dataset.metadata.cram_index} #end for + </cram_index> </cram> #else if str($track.data_format.data_format_select) == "blastxml": <blast> @@ -249,16 +257,29 @@ </gff> #else if str($track.data_format.data_format_select) == "paf": <paf> + #if $track.data_format.pafuseuri.insource == "history": <genome> - #for refgenome in $track.data_format.pafuseuri.refgenomes: - $refgenome.annotation, - #end for + #for $anno in $track.data_format.pafuseuri.annotation: + ${anno}, + #end for </genome> <genome_label> - #for refgenome in $track.data_format.pafuseuri.refgenomes: - $refgenome.annoname, - #end for + #for $anno in $track.data_format.pafuseuri.annotation: + ${anno.name}, + #end for </genome_label> + #else: + <genome> + #for $refgenome in $track.data_format.pafuseuri.refuri: + $refgenome.annotation, + #end for + </genome> + <genome_label> + #for $refgenome in $track.data_format.pafuseuri.refuri: + ${refgenome.annoname}, + #end for + </genome_label> + #end if </paf> #else if str($track.data_format.data_format_select) == "hic": <hic> @@ -377,7 +398,7 @@ name="is_protein" truevalue="true" falsevalue="false" /> - <expand macro="track_styling_feature" /> + <expand macro="track_styling_vgp" /> <expand macro="track_visibility" /> </when> <when value="vcf"> @@ -402,7 +423,7 @@ </when> <when value="false" /> </conditional> - <expand macro="track_styling_feature" /> + <expand macro="track_styling_vgp" /> <expand macro="track_visibility" /> </when> <when value="bam"> @@ -411,7 +432,7 @@ </when> <when value="bed"> <expand macro="input_conditional" label="BED Track Data" format="bed" /> - <expand macro="track_styling_feature" /> + <expand macro="track_styling_vgp" /> <expand macro="track_visibility" /> </when> <when value="cram"> @@ -420,7 +441,7 @@ </when> <when value="maf"> <expand macro="input_conditional" label="MAF Track Data" format="maf" /> - <expand macro="track_styling_feature" /> + <expand macro="track_styling_vgp" /> <expand macro="track_visibility" /> </when> <when value="bigwig"> |
b |
diff -r 5c295cc220ed -r 3b2ff9864995 macros.xml --- a/macros.xml Wed Apr 03 02:56:39 2024 +0000 +++ b/macros.xml Tue Apr 09 00:26:49 2024 +0000 |
[ |
@@ -308,6 +308,18 @@ <param label="Max height" name="max_height" type="integer" value="600" help="Maximum height that the track is permitted to reach in pixels."/> </xml> + <xml name="track_styling_vgp"> + <section name="jbstyle" title="JBrowse Styling Options [Advanced]" expanded="false"> + <param label="Show labels" name="show_labels" type="boolean" checked="false" truevalue="true" falsevalue="false" /> + <param label="Show descriptions" name="show_descriptions" type="boolean" checked="false" truevalue="true" falsevalue="false" /> + <param name="display" type="select" label="Display style" help="How the track will be displayed by default"> + <option value="LinearBasicDisplay" selected="true">LinearBasicDisplay</option> + <option value="LinearPileupDisplay">LinearPileupDisplay - good for dense tracks at scale</option> + <option value="LinearArcDisplay">LinearArcDisplay</option> + </param> + </section> + </xml> + <xml name="track_styling_feature"> <section name="jbstyle" title="JBrowse Styling Options [Advanced]" expanded="false"> <conditional name="track_style"> @@ -555,20 +567,11 @@ <option value="uri">PAF reference comparison genome tabix .gz URI with index files at the corresponding URIs</option> </param> <when value="history"> - <repeat name="refgenomes" title="PAF reference comparison genome used to make the PAF" min="1"> - <param label="@LABEL@" format="@FORMAT@" name="annotation" multiple="True" optional="true" type="data" /> - <param label="Please provide a short name for track display" name="annoname" type="text" - help="Short names take less track space. No spaces allowed here"> - <sanitizer invalid_char="_"> - <valid initial="string.printable" > - <remove value=" " /> - </valid> - </sanitizer> - </param> - </repeat> + <param label="@LABEL@" format="@FORMAT@" name="annotation" type="data" + help="Add all PAF reference comparison genomes used to make the PAF" multiple="true" /> </when> <when value="uri"> - <repeat name="refgenomes" title="PAF reference comparison genome URI" min="1"> + <repeat name="refuri" title="PAF reference comparison genome URI" min="1"> <param label="@LABEL@" name="annotation" type="text" /> <param label="Short name for this reference" name="annoname" type="text" help="Short names take less track space"> <sanitizer invalid_char="_"> |
b |
diff -r 5c295cc220ed -r 3b2ff9864995 test-data/dm3.cool |
b |
Binary file test-data/dm3.cool has changed |
b |
diff -r 5c295cc220ed -r 3b2ff9864995 test-data/dm3.fasta --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/dm3.fasta Tue Apr 09 00:26:49 2024 +0000 |
b |
b'@@ -0,0 +1,401577 @@\n+>NT_037436.4 Drosophila melanogaster chromosome 3L\n+TAGGGAGAAATATGATCGCGTATGCGAGAGTAGTGCCAACATATTGTGCTCTTTGATTTTTTGGCAACCC\n+AAAATGGTGGCGGATGAACGAGATGATAATATATTCAAGTTGCCGCTAATCAGAAATAAATTCATTGCAA\n+CGTTAAATACAGCACAATATATGATCGCGTATGCGAGAGTAGTGCCAACATATTGTGCTAATGAGTGCCT\n+CTCGTTCTCTGTCTTATATTACCGCAAACCCAAAAAGACAATACACGACAGAGAGAGAGAGCAGCGGAGA\n+TATTTAGATTGCCTATTAAATATGATCGCGTATGCGAGAGTAGTGCCAACATATTCTGCTCTCTATATAA\n+TGACTGCCTCTCATTCTGTCTTATTTTACCGCAAACCCAAATCGACAATGCACGACAGAGGAAGCAGAAC\n+AGATATTTAGATTGCCTCTCATTTTCTCTCCCATATTATAGGGAGAAATATGATCGCGTATGCGAGAGTA\n+GTGCCAACATATTGTGCTCTTTGATTTTTTGGCAACCCAAAATGGTGGCGGATGAACGAGATGATAATAT\n+ATTCAAGTTGCCGCTAATCAGAAATAAATTCATTGCAACGTTAAATACAGCACAATATATGATCGCGTAT\n+GCGAGAGTAGTGCCAACATATTGTGCTAATGAGTGCCTCTCGTTCTCTGTCTTATATTACCGCAAACCCA\n+AAAAGACAATACACGACAGAGAGAGAGAGCAGCGGAGATATTTAGATTGCCTATTAAATATGATCGCGTA\n+TGCGAGAGTAGTGCCAACATATTCTGCTCTCTACATAATGACTGCCTCTCATTCTGTCTTATTTTACCGC\n+AAACCCAAATCGACAATGCACGACAGAGGAAGCAGAACAGATATTTAGATTGCCTCTCATTTTCTCTCCC\n+ATATTATAGGGAGAAATATGATCGCGTATGCGAGAGTAGTGCCAACATATTGTGCTCTTTGATTTTTTGG\n+CAACCCAAAATGGTGGCGGATGAACGAGATGATAATATATTCAAGTTGCCGCTAATCAGAAATAAATTCA\n+TTGCAACGTTAAATACAGCACAATATATGATCGCGTATGCGAGAGTAGTGCCAACATATTGTGCTAATGA\n+GTGCCTCTCGTTCTCTGTCTTATATTACCGCAAACCCAAAAAGACAATACACGACAGAGAGAGAGAGCAG\n+CGGAGATATTTAGATTGCCTATTAAATATGATCGCGTATGCGAGAGTAGTGCCAACATATTCTGCTCTCT\n+ATATAATGACTGCCTCTCATTCTGTCTTATTTTACCGCAAACCCAAATCGACAATGCACGACAGAGGAAG\n+CAGAACAGATATTTAGATTGCCTCTCATTTTCTCTCCCATATTATAGGGAGAAATATGATCGCGTATGCG\n+AGAGTAGTGCCAACATATTGTGCTCTTTGATTTTTTGGCAACCCAAAATGGTGGCGGATGAACGAGATGA\n+TAATATATTCAAGTTGCCGCTAATCAGAAATAAATTCATTGCAACGTTAAATACAGCACAATATATGATC\n+GCGTATGCGAGAGTAGTGCCAACATATTGTGCTAATGAGTGCCTCTCGTTCTCTGTCTTATATTACCGCA\n+AACCCAAAAAGACAATACACGACAGAGAGAGAGAGCAGCGGAGATATTTAGATTGCCTATTAAATATGAT\n+CGCGTATGCGAGAGTAGTGCCAACATATTCTGCTCTCTATATAATGACTGCCTCTCATTCTGTCTTATTT\n+TACCGCAAACCCAAATCGACAATGCACGACAGAGGAAGCAGAACAGATATTTAGATTGCCTCTCATTTTC\n+TCTCCCATATTATAGGGAGAAATATGATCGCGTATGCGAGAGTAGTGCCAACATATTGTGCTCTTTGATT\n+TTTTGGCAACCCAAAATGGTGGCGGATGAACGAGATGATAATATATTCAAGTTGCCGCTAATCAGAAATA\n+AATTCATTGCAACGTTAAATACAGCACAATATATGATCGCGTATGCGAGAGTAGTGCCAACATATTGTGC\n+TAATGAGTGCCTCTCGTTCTCTGTCTTATATTACCGCAAACCCAAAAAGACAATACACGACAGAGAGAGA\n+GAGCAGCGGAGATATTTAGATTGCCTATTAAATATGATCGCGTATGCGAGAGTAGTGCCAACATATTCTG\n+CTCTCTATATAATGACTGCCTCTCATTCTGTCTTATTTTACCGCAAACCCAAATCGACAATGCACGACAG\n+AGGAAGCAGAACAGATATTTAGATTGCCTCTCATTTTCTCTCCCATATTATAGGGAGAAATATGATCGCG\n+TATGCGAGAGTAGTGCCAACATATTGTGCTCTTTGATTTTTTGGCAACCCAAAATGGTGGCGGATGAACG\n+AGATGATAATATATTCAAGTTGCCGCTAATCAGAAATAAATTCATTGCAACGTTAAATACAGCACAATAT\n+ATGATCGCGTATGCGAGAGTAGTGCCAACATATTGTGCTAATGAGTGCCTCTCGTTCTCTGTCTTATATT\n+ACCGCAAACCCAAAAAGACAATACACGACAGAGAGAGCAGCGGAGATATTTAGATTGCCTATTAAATATG\n+ATCGCGTATGCGAGAGTAGTGCCAACATATTCTGCTCTCTATATAATGACTGCCTCTCATTCTGTCTTAT\n+TTTACCGCAAACCCAAATCGACAATGCACGACAGAGGAAGCAGAACAGATATTTAGATTGCCTCTCATTT\n+TCTCTCCCATATTATAGGGAGAAATATGATCGCGTATGCGAGAGTAGTGCCAACATATTGTGCTCTTTGA\n+TTTTTTGGCAACCCAAAATGGTGGCGGATGAACGAGATGATAATATATTCAAGTTGCCGCTAATCAGAAA\n+TAAATTCATTGCAACGTTAAATACAGCACAATATATGATCGCGTATGCGAGAGTAGTGCCAACATATTGT\n+GCTAATGAGTGCCTCTCGTTCTCTGTCTTATATTACCGCAAACCCAAAAAGACAATACACGACAGAGAGA\n+GAGAGCAGCGGAGATATTTAGATTGCCTATTAAATATGATCGCGTATGCGAGAGTAGTGCCAACATATTC\n+TGCTCTCTATATAATGACTGCCTCTCATTCTGTCTTATTTTACCGCAAACCCAAATCGACAATGCACGAC\n+AGAGGAAGCAGAACAGATATTTAGATTGCCTCTCATTTTCTCTCCCATATTATAGGGAGAAATATGATCG\n+CGTATGCGAGAGTAGTGCCAACATATTGTGCTCTTTGATTTTTTGGCAACCCAAAATGGTGGCGGATGAA\n+CGAGATGATAATATATTCAAGTTGCCGCTAATCAGAAATAAATTCATTGCAACGTTAAATACAGCACAAT\n+ATATGATCGCGTATGCGAGAGTAGTGCCAACATATTGTGCTAATGAGTGCCTCTCGTTCTCTGTCTTATA\n+TTACCGCAAACCCAAAAAGACAATACACGACAGAGAGAGAGAGCAGCGGAGATATTTAGATTGCCTATTA\n+AATATGATCGCGTATGCGAGAGTAGTGCCAACATATTCTGCTCTCTATATAATGACTGCCTCTCATTCTG\n+TCTTATTTTACCGCAAACCCAAATCGACAATGCACGACAGAGGAAGCAGAACAGATATTTAGATTGCCTC\n+TCATTTTCTCTCCCATATTATAGGGAGAAATATGATCGCGTATGCGAGAGTAGTGCCAACATATTGTGCT\n+CTTTGATTTTTTGGCAACCCAAAATGGTGGCGGATGAACGAGATGATAATATATTCAAGTTGCCGCTAAT\n+CAGAAATAAATTCATTGCAACGTTAAATACAGCACAA'..b'CTAATAAATTAATAACATTAATTTCCCCTGAATTGCAGAAAGTTGGATTCAACTTAAGG\n+AAATGGATTTCCAACAATTCCAAAATATTAACCACTGTGGAGGACACAGGGGACAATAAGGTTCTCAATA\n+TTATCGAAAATGAATGTGTTAAAACTTTAGGACTAAAATGGGAACATCAAAATGATTTATTTAAATTCAG\n+CGTAAATTGTAATGAATCAAAAAATATAAATAAGCGCGTTGTGTTATCAACGCTAGCAAAAATATATGAT\n+CCGTTAGGATGGTTGGCACCAGTCACCGTTTCAGGAAAACTTTTTATTCAAAAACTTTGGATAAATAAAA\n+GTGAATGGGATCAGGAATTATCCATAGAAGATAAAAATTATTGGGAAAAATATAAAGAAAATTTATTATT\n+GTTAAAAAATATTCGAATCCCAAGGTGGATTAATTCAAACAGTTCTTCAGTCATTCAGATTCACGGATTT\n+GCGGACGCCTCCGAAAAAGCATATGCTGCAGTAGTCTATGCTAAAGTAGGACCTCATGTTAATATAATAG\n+CTAGCAAAAGTAGAGTCAACCCTATAAAAAATAGGAAGACAATTCCCAAACTCGAGCTGTGTGCAGCTCA\n+CCTGCTTAGTGAATTAATCCAAAGACTAAAAGGATCAATTGACAATATAATGGAGATCTATGCTTGGAGT\n+GATTCCACGATTACCTTAGCATGGATTAACAGTGGTCAAAGTAAGATCAAATTTATAAGAAGAAGAACGG\n+ATGACATTCGGAAATTAAAAAATACTCAATGGAATCATGTTAAGTCAGAGGATAATCCAGCACATTTAGC\n+ATCCAGGGGAGTGGATTCTAACCAGTTGATCAACTGTGATTTTTGGTGGAAAGGTCCGAAATGGCTAGCC\n+GACCCAAAAGAACTTTGGCCTCGGCAGCAGTCTGTAGAAGAACCTGTCTTAATAAATACGGTATTACAAG\n+ACAAAATAGATGATCCTATTTACGAATTGATAGAAAGGTATTCCAGAAAAACTTATACGTATAATAGCAT\n+ACATAAATAGATTCGTGCAGATGAAAACAAATAATAAAGCCTATTCATCAATTATTTCAGTAAAGGAGAT\n+AAGAATAGCGGAAACAGTTGTTATTAAGAAACAACAAGAATACCAGTTTAGGCAAGAGATAAAGTGCCTT\n+AAAATCAAAAAGGAAATCAAGACAAATAATAAAATATTGTCATTGAATCCATTTTTGGACAAGGATGGGG\n+TTCTAAGAGTTGGAGGAAGATTGCAAAACTCCAATGCAGAATTTAATGTTAAACATCCAATCATTTTAGA\n+AAAATGCCACCTAACAAGCTTATTAATAAAAAATGCTCATAAGGAAACATTGCATGGAGGGATAAACCTT\n+ATGCGAAACTATATCCAAAGAAAGTATTGGATTTTCGGGTTGAAAAATTCGTTGAAAAAGTATTTAAGAG\n+AATGTGTAAAGTGTGCAAGGTATAAACAAAATACAGCTCAGCAAATAATGGGTAACTTGTCAAAATATAG\n+AGTGACGATGACATTCCCGTTTCTTAATACTGGAAGAGATTACGCAGGTCCTTATTATGTTAAATGTTCA\n+AAAAATCGTGGCCAAAAAACATTTAAAGGATACGTTGCCGTATTTGTTTGCATGGCCACCAAAGCCATAC\n+ACTTAGAAATGGTAAGCGATCTAACTTCTGACGCATTTTTAGCAGCACTCAGAAGATTTATTGCTAGACG\n+GGGAAAATGTTCCAATATCTATTCAAACAACGGAACAAATTTTGTAGGAGCTGCAAGAAAATTAGATCAA\n+GAGTTATTTAATGCAATACAAGAAAATATAACGATTGCAGCGCAGCTTGAAAAGGACAGGATTGATTGGC\n+ATTTTATTCCCCCGGCAGGACCTCACTTCGGAGGTATTTGGGAAGCTGGGGTTAAGTCAATGAAATACCA\n+TTTAAAGCGTATAATCGGCGACACAATTTTGACTTACGAAGAAATGTCAACTCTTTTATGTCAAATAAAA\n+GCATGCTTAAATTCAAGGCCATTATACACTATAGTTAGTGAGATGGACCAACAAGAGGTTTTAACACCAG\n+GTCATTTTTTAATTGGAAGACCACCTTTAGAAATAGTCGAACCAATGGAAGATGAAAAAATCGGAAATTT\n+GGATAGGTGGAGACTTATCCAAAAAATGAGGAAAGATATCTGGGTTAAGTGGAAAAGTGAATATTTGCAT\n+ACGCTCCAGCAAAGGAATAAATGGAAAAAGGAAATTCCTAATATAGAAGAAGGGCAAATAGTTTCATTAA\n+AGGATGAGAATTGTCATCCTGCAAGATGGCCTTTAGGAAAGGTGGAAAAGGTCCATAAGGGGAATGATGA\n+TAAGGTCCGGGTGGCTAAAGTAAAGATGCAGGAAGGATATATCACTAGACCCGTTACTAAAATTTGTCCC\n+TTGGAAGGAATAAAGTCTGTTGACAAAAATGAGGCTGACCAGGAGCCAAAAAGGCGAACTAGAGCGACAT\n+CGGGAATGTCCAAGATCGGAATCATCATGGCAATGTTGTTGTTTGTGTTAAGTTGTCAAGTTTCTAGCGC\n+ATTACCTAAAGATATAGCACCAAGATATTCTATAGACAAAATAAATAAAACCTCAGCAATATATCTAGAC\n+CCGCTAGGAGATGTTGAGATTGTGAGTACTTCTTGGAATTTGGAATATTATAAAATGGATCCATATTTTA\n+AAATGTTAACAAAGGGTAATGCGCTTATACAAAGTATGAGGAAAGTTTGCGAAAGACTTCATAGCTTTGA\n+AGAGCAATGTAGTCTAGTCTTAGATAATATGCAAAGGAAGTTGGCCCTGGAATTCTGCCAATGATAATGC\n+ATGATTCAGCCTCTAAAGCCAAAAAAAGTGGCGAACTGCATCTATAAAACAGTAGTCGACTCTAAAAGTT\n+ACTGGGTAGAGTTAGAAAAGAAAAGTAGTTGGTTGTTTAAGGTTCCTGTGAATTCAAAAGTCCGTCTGCA\n+ATGTACTGGCTCTCAAATTGAATTGTTTGATTTGCCTCAGCAAGGAGTTTTAAGCATTGCGCCATATTGT\n+ACGGCAAGAACCGACGATAAAATTATAGTTGCCCACCATAACATTCAGTCCGAAAGTGAAGAATTATTAT\n+CAACACCTTATATAGGAGAAGTTAGTGAAGTGCCGAAGATTATTTGGGATCCGCTGAAACTATCAATATT\n+AAATCATACTGAGGAATTTGAACGATTGAATAATGAAATTAAAAATTGAAAGATTTAGATTTCCATCATA\n+TTTCCGGACATGCTGGATTAATTATTGCTTTAATAATAATGGTAGTATTAATAATATATTTCATACGGAA\n+ATGTGCTGTGCAACAAAGAATGCAAGCCAATAACCTTTGCAGGTCCGTTGCCAGTACTATAAATATCAAT\n+AGTAAATAAAAAATAAAATTATATAACAAAAAAATATATACAGTCCACTATATCGTTGTTTAAGAGAAAA\n+TGTACTTCTACATAGAAAAAGCGAAATGTTTAAAATAAGTTAATTGAGTACAAATTGTTGAATTAAAAAT\n+AATATAAACCATAATTGTAATCCAATAAAATTAAAAGCCAGGAAAACTAGGGCCATTGAATTCTTAGTTG\n+CAAAATAAATGAACATATATCAAATAAATACAGTCCACTACTGTTATAAATGCAACTAATATACTAATGT\n+ACATCTATCTCAGCTTTTCTGGCCCTTTGGCAGAATGTTCACACATGAACACGAATATATTTAAAGACTT\n+ACAATTTTGGGCTCCGTTCATATCTTATGTAAATGAATCGAGAGCGATAAATTATATTTAGGATTTTGTA\n+AGAATAACATATTCTATGTTATTCTATGTTATTCCATGTTATTCTAT\n+\n' |