Previous changeset 70:5f0ee87daef4 (2024-03-29) Next changeset 72:2bdb748df098 (2024-03-30) |
Commit message:
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit cf208cecf0140ff43d145a44713ab7108057fb8b |
modified:
autogenJB2.py jbrowse2.py macros.xml |
removed:
autogenJB2.xml maf2bed.pl test-data/blastxml/blastn-gene1.xml test-data/blastxml/merlin.gff test-data/index.html test-data/vcf/test.vcf test-data/vcf/test.xml test-data/xmfa.gff |
b |
diff -r 5f0ee87daef4 -r e26a8a6d2d2e autogenJB2.py --- a/autogenJB2.py Fri Mar 29 09:35:57 2024 +0000 +++ b/autogenJB2.py Sat Mar 30 07:15:04 2024 +0000 |
[ |
@@ -76,7 +76,7 @@ for i, x in enumerate(genome_paths) ], ) - logging.warn("#!!! paths=%s, genomes=%s" % (genome_paths, genomes)) + logging.debug("#!!! paths=%s, genomes=%s" % (genome_paths, genomes)) assref_name = jc.process_genomes(genomes[0]) default_session_data = { "visibility": { @@ -203,14 +203,14 @@ trackconf = jc.config_json.get("tracks", []) for gnome in jc.genome_names: trackconf += jc.tracksToAdd[gnome] - logging.warn( + logging.debug( "++++ adding trackconf=%s for gnome %s" % (trackconf, gnome) ) jc.config_json["tracks"] = trackconf assconf = jc.config_json.get("assemblies", []) assconf += jc.assemblies jc.config_json["assemblies"] = assconf - logging.warn("+++assemblies=%s, gnames=%s" % (assconf, jc.genome_names)) + logging.debug("+++assemblies=%s, gnames=%s" % (assconf, jc.genome_names)) jc.write_config() default_session_data.update({"session_name": sessName}) track_conf.update(default_session_data) |
b |
diff -r 5f0ee87daef4 -r e26a8a6d2d2e autogenJB2.xml --- a/autogenJB2.xml Fri Mar 29 09:35:57 2024 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 |
[ |
@@ -1,179 +0,0 @@ - <tool id="autogenjb2" name="autogenjb2" version="2.10.2.0" profile="22.05"> - <description>Track collection to JBrowse2</description> - <macros> - <import>macros.xml</import> - </macros> - <expand macro="edamInc"/> - <xrefs> - <xref type="bio.tools">jbrowse2</xref> - </xrefs> - <expand macro="requirements"/> - <version_command>python '${__tool_directory__}/autogenJB2.py' --version</version_command> - <command detect_errors="aggressive"><![CDATA[ -export JBROWSE2_PATH=\$(dirname \$(which jbrowse))/../opt/jbrowse2 && -python '$__tool_directory__/autogenJB2.py' -#for $key in $autoCollection.keys(): - #if $autoCollection[$key].is_collection: - #set subCol=$autoCollection[$key] - #set pafs=[($subCol[x],$subcol[x].ext,x) for x in $subCol.keys() if $subCol[x].ext == 'paf'] - #if len($pafs) > 0: - --pafmeta '$pafs[0]' - #set refs = [($pafs[0][2],$subCol[x],x) for x in $subCol.keys() if $subCol[x].ext == 'fasta'] - #for $ref in $refs: - --pafreferencemeta '$ref' - #end for - #end if - #else if $autoCollection[$key].ext == 'fasta': - --referencemeta '$autoCollection[$key],$autoCollection[$key].ext,$key' - #else if $autoCollection[$key].ext in ['bed', 'bigwig', 'cool', 'gff', 'gff3', 'hic', 'maf', 'mcool', 'scool', 'vcf'] - --trackmeta '$autoCollection[$key],$autoCollection[$key].ext,$key' - #else if $autoCollection[$key].ext in ['bam',] - --trackmeta '$autoCollection[$key],$autoCollection[$key].ext,$key,$autoCollection[$key].metadata.bam_index' - #else if $autoCollection[$key].ext in ['cram',] - --trackmeta '$autoCollection[$key],$autoCollection[$key].ext,$key,$autoCollection[$key].metadata.cram_index' - #end if -#end for ---outdir '$output.files_path' ---jbrowse2path \${JBROWSE2_PATH} ---sessName "Autogen JBrowse" && - - cp '$output.files_path/index.html' '$output' -## Ugly testing hack since I cannot get <extra_files> to test the files I want to test. Hmph. -#if str($uglyTestingHack) == "enabled": - && cp '$output.files_path/config.json' '$output' -#end if - ]]></command> - <inputs> - <param - label="Collection of files to become tracks - they must have short, informative names" - name="autoCollection" - type="data_collection"> - </param> - <param type="hidden" name="uglyTestingHack" value="" /> - </inputs> - <outputs> - <data format="html" name="output" label="AutoJBrowse2"/> - </outputs> -<tests> - <test> - <param name="uglyTestingHack" value="enabled" /> - <param name="autoCollection"> - <collection type="list"> - <element name="Merlin" value="merlin.fa" ftype="fasta"/> - <element name="test-6.bed" value="bed/test-6.bed" ftype="bed"/> - </collection> - </param> - <output name="output"> - <assert_contents> - <has_text text='"name": "Merlin",'/> - <has_text text='"name": "test-6.bed",'/> - <has_text text='"uri": "Merlin.fa.gz.fai"'/> - </assert_contents> - </output> - </test> -</tests> - <help><![CDATA[ - -Autogenerated JBrowse2 -====================== - -Given a collection of datatypes suited for making JB2 tracks, this tool will create a working JBrowse2 configuration. -A paf track requires a nested collection with the paf file and all the genomes used in creating it. - - -Use and local viewing -===================== - - -A JBrowse2 history item can be opened by viewing it (the "eye" icon). - -The same browser data and setup can also be downloaded as a compressed zip archive by clicking the download ("floppy disk") icon in the history. -This can be shared and viewed without Galaxy. - -A replacement application to serve the browser is required without Galaxy. A local python web server can be started using a script included in each archive, -assuming that Python3 is already working on your desktop - if not you will have to install it first. Unzip the archive (*unzip [filename].zip*) and change -directory to the first level in that zip archive. It contains a file named *jb2_webserver.py* - -With python3 installed, - -*python3 jb2_webserver.py* - -will serve the unarchived JBrowse2 configuration from the same directory as the python script automatically. If a new browser window does not open, -but the script appears to be running, try pointing your web browser to the default of *localhost:8080* - -Overview --------- - -JBrowse is a fast, embeddable genome browser built completely with -JavaScript and HTML5. - -The JBrowse-in-Galaxy (JiG) tool was written to help build complex -JBrowse installations straight from Galaxy. It allows you to build up a JBrowse instance without worrying -about how to run the command line tools to format your data, and which -options need to be supplied and where. - -The JBrowse-in-Galaxy tool has been rejected by `a Galaxy IUC -<https://github.com/galaxyproject/tools-iuc/issues>`__, reviewer. - -Options -------- - -**Reference or Assembly** - -Choose either a built-in or select one from your history. - -Track coordinates and contig names *must* match this reference precisely -or they will not display. - -**Track Groups** represent a set of tracks in a single category. - -Annotation Tracks ------------------ - -GFF3/BED -~~~~~~~~ - -Standard feature tracks. They usually highlight genes, mRNAs and other features of interest along a genomic region. - -When these contain tens of millions of features, such as repeat regions from a VGP assembly, displaying one at a time leads -to extremely slow loading times when a large region is in view, unless the "LinearPileupDisplay" display option is -selected for that track in the styling options section. The default is LinearBasicDisplay, which shows all details and works -well for relatively sparse bed files. A better option is to make a bigwig track using a set of windows based on the -lengths of each assembly or reference contig. - -BAM Pileups -~~~~~~~~~~~ - -We support BAM files and can automatically generate SNP tracks based on -that bam data. - - -BlastXML -~~~~~~~~ - -JiG now supports both blastn and blastp datasets. JiG internally uses a -blastXML to gapped GFF3 tool to convert your blastxml datasets into a -format amenable to visualization in JBrowse. This tool is also -available separately from the IUC on the toolshed. - -**Minimum Gap Size** reflects how long a gap must be before it becomes a -real gap in the processed gff3 file. In the picture above, various sizes -of gaps can be seen. If the minimum gap size was set much higher, say -100nt, many of the smaller gaps would disappear, and the features on -both sides would be merged into one, longer feature. This setting is -inversely proportional to runtime and output file size. *Do not set this -to a low value for large datasets*. By setting this number lower, you -will have extremely large outputs and extremely long runtimes. The -default was configured based off of the author's experience, but the -author only works on small viruses. It is *strongly* recommended that -you filter your blast results before display, e.g. picking out the top -10 hits or so. - -**Protein blast search** option merely informs underlying tools that -they should adjust feature locations by 3x. - - -@ATTRIBUTION@ -]]></help> - <expand macro="citations"/> -</tool> |
b |
diff -r 5f0ee87daef4 -r e26a8a6d2d2e jbrowse2.py --- a/jbrowse2.py Fri Mar 29 09:35:57 2024 +0000 +++ b/jbrowse2.py Sat Mar 30 07:15:04 2024 +0000 |
[ |
@@ -378,7 +378,6 @@ self.assmeta = {} self.giURL = GALAXY_INFRASTRUCTURE_URL self.outdir = outdir - self.genome_firstcontig = None self.jbrowse2path = jbrowse2path os.makedirs(self.outdir, exist_ok=True) self.genome_names = [] @@ -1125,21 +1124,22 @@ gname = gname.split()[0] passnames.append(gname) # trouble from spacey names in command lines avoidance + useuri = pgpaths[i].startswith("http://") or pgpaths[i].startswith( + "https://" + ) + if not useuri: + url = "%s.paf" % (lab) + else: + url = data if gname not in self.genome_names: # ignore if already there - eg for duplicates among pafs. - useuri = pgpaths[i].startswith("http://") or pgpaths[i].startswith( - "https://" - ) asstrack = self.make_assembly(pgpaths[i], gname, useuri) self.genome_names.append(gname) self.tracksToAdd[gname] = [] self.assemblies.append(asstrack) if not useuri: - url = "%s.paf" % (lab) dest = "%s/%s" % (self.outdir, url) self.symlink_or_copy(os.path.realpath(data), dest) - else: - url = data trackDict = { "type": "SyntenyTrack", "trackId": tId, @@ -1582,7 +1582,7 @@ } else: default_session_data["style"][key] = {} - logging.warn("@@@@ no options/style found for %s" % (key)) + logging.debug("@@@@ no options/style found for %s" % (key)) if track.find("options/style_labels"): default_session_data["style_labels"][key] = { @@ -1607,14 +1607,13 @@ } jc.add_general_configuration(general_data) trackconf = jc.config_json.get("tracks", []) - logging.warn("++++++++++++ genome_names=%s" % jc.genome_names) for gnome in jc.genome_names: trackconf += jc.tracksToAdd[gnome] jc.config_json["tracks"] = trackconf assconf = jc.config_json.get("assemblies", []) assconf += jc.assemblies jc.config_json["assemblies"] = assconf - logging.warn("&&&assemblies=%s, gnames=%s" % (assconf, jc.genome_names)) + logging.debug("&&&assemblies=%s, gnames=%s" % (assconf, jc.genome_names)) jc.write_config() jc.add_default_session(default_session_data) # jc.text_index() not sure what broke here. |
b |
diff -r 5f0ee87daef4 -r e26a8a6d2d2e macros.xml --- a/macros.xml Fri Mar 29 09:35:57 2024 +0000 +++ b/macros.xml Sat Mar 30 07:15:04 2024 +0000 |
[ |
@@ -438,7 +438,6 @@ </section> </xml> - <!-- TODO use this --> <xml name="track_menu"> <section name="jbmenu" title="JBrowse Contextual Menu options [Advanced]" expanded="false"> <repeat name="track_menu" title="Track Menu"> @@ -556,7 +555,7 @@ <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"> + <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="Short name for track display" name="annoname" type="text" help="No spaces allowed here"> <sanitizer invalid_char="_"> @@ -568,9 +567,9 @@ </repeat> </when> <when value="uri"> - <repeat name="refgenomes" title="PAF reference comparison genome URI"> + <repeat name="refgenomes" title="PAF reference comparison genome URI" min="1"> <param label="@LABEL@" name="annotation" type="text" /> - <param label="Short name for track display" name="annoname" type="text" > + <param label="Short name for this reference" name="annoname" type="text" help="Short names take less track space"> <sanitizer invalid_char="_"> <valid initial="string.printable" > <remove value="'" /> |
b |
diff -r 5f0ee87daef4 -r e26a8a6d2d2e maf2bed.pl --- a/maf2bed.pl Fri Mar 29 09:35:57 2024 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 |
[ |
@@ -1,48 +0,0 @@ -#!/usr/bin/env perl -# https://unpkg.com/browse/jbrowse-plugin-mafviewer@1.0.6/dist/ -# license is Apache2_license.txt included here -use warnings; -use strict; - -$, = ' '; -$\ = "\n"; -$, = "\t"; - -my $id = 0; -my $buffer = ''; -my $start = 0; -my $end = 0; -my $score = 0; -my $chrom = ''; - -while (<STDIN>) { - chomp; - next if /^$/; - my @line = split('\s+'); - if (/^s\s+$ARGV[0]/) { - $chrom = $line[1]; - $chrom =~ s/$ARGV[0]\.//; - $start = $line[2]; - $end = $line[2] + $line[3]; - s/^s //; - s/ +/:/g; - my $temp = $_; - $buffer = $buffer eq '' ? $temp : "$buffer;$temp"; - } - elsif (/^a/) { - $score = +(s/^a score=//); - if($id > 0) { - print $chrom, $start, $end, "$ARGV[0]_$id", $score, $buffer; - } - $id += 1; - $buffer = ''; - } - - elsif (/^s/) { - s/^s //; - s/ +/:/g; - my $temp = $_; - $buffer = $buffer eq '' ? $temp : "$buffer,$temp"; - } -} -print $chrom, $start, $end, "$ARGV[0]_$id", $score, $buffer; |
b |
diff -r 5f0ee87daef4 -r e26a8a6d2d2e test-data/blastxml/blastn-gene1.xml --- a/test-data/blastxml/blastn-gene1.xml Fri Mar 29 09:35:57 2024 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 |
b |
b'@@ -1,128 +0,0 @@\n-<?xml version="1.0"?>\n-<!DOCTYPE BlastOutput PUBLIC "-//NCBI//NCBI BlastOutput/EN" "http://www.ncbi.nlm.nih.gov/dtd/NCBI_BlastOutput.dtd">\n-<BlastOutput>\n- <BlastOutput_program>blastn</BlastOutput_program>\n- <BlastOutput_version>BLASTN 2.2.28+</BlastOutput_version>\n- <BlastOutput_reference>Stephen F. Altschul, Thomas L. Madden, Alejandro A. Sch&auml;ffer, Jinghui Zhang, Zheng Zhang, Webb Miller, and David J. Lipman (1997), "Gapped BLAST and PSI-BLAST: a new generation of protein database search programs", Nucleic Acids Res. 25:3389-3402.</BlastOutput_reference>\n- <BlastOutput_db>/opt/db/nt_aug2015/nt</BlastOutput_db>\n- <BlastOutput_query-ID>Query_1</BlastOutput_query-ID>\n- <BlastOutput_query-def>Merlin</BlastOutput_query-def>\n- <BlastOutput_query-len>58313</BlastOutput_query-len>\n- <BlastOutput_param>\n- <Parameters>\n- <Parameters_expect>0.001</Parameters_expect>\n- <Parameters_sc-match>2</Parameters_sc-match>\n- <Parameters_sc-mismatch>-3</Parameters_sc-mismatch>\n- <Parameters_gap-open>5</Parameters_gap-open>\n- <Parameters_gap-extend>2</Parameters_gap-extend>\n- <Parameters_filter>L;m;</Parameters_filter>\n- </Parameters>\n- </BlastOutput_param>\n-<BlastOutput_iterations>\n-<Iteration>\n- <Iteration_iter-num>1</Iteration_iter-num>\n- <Iteration_query-ID>Query_1</Iteration_query-ID>\n- <Iteration_query-def>Merlin</Iteration_query-def>\n- <Iteration_query-len>58313</Iteration_query-len>\n-<Iteration_hits>\n-<Hit>\n- <Hit_num>1</Hit_num>\n- <Hit_id>gi|451937967|gb|KC139519.1|</Hit_id>\n- <Hit_def>Salmonella phage FSL SP-030, complete genome</Hit_def>\n- <Hit_accession>KC139519</Hit_accession>\n- <Hit_len>59746</Hit_len>\n- <Hit_hsps>\n- <Hsp>\n- <Hsp_num>1</Hsp_num>\n- <Hsp_bit-score>9779.15</Hsp_bit-score>\n- <Hsp_score>10844</Hsp_score>\n- <Hsp_evalue>0</Hsp_evalue>\n- <Hsp_query-from>35381</Hsp_query-from>\n- <Hsp_query-to>53427</Hsp_query-to>\n- <Hsp_hit-from>22789</Hsp_hit-from>\n- <Hsp_hit-to>4832</Hsp_hit-to>\n- <Hsp_query-frame>1</Hsp_query-frame>\n- <Hsp_hit-frame>-1</Hsp_hit-frame>\n- <Hsp_identity>13209</Hsp_identity>\n- <Hsp_positive>13209</Hsp_positive>\n- <Hsp_gaps>547</Hsp_gaps>\n- <Hsp_align-len>18276</Hsp_align-len>\n- <Hsp_qseq>GCCACCTGCTGACGGTACTGGTCGATTTGCTGCGCCAGTCCGGCAGCCGCACGGTTCGCCTCGTTCAGCAT-CTTCGTCTTCTGCGCCAGGTCCTTGATGGCGTTGCCGCTGGTCGACACTTCGGATGCGAGGGTGTGGACTTGCTGCTGCAGGCCAGATAGCGTCCGGCGCGCAGCGTCTGACGGACTTATGATTTGCTGGATTTTCGACGCCAGTGGCCCCATCTGCGACGTGGTGGTCTGCACGACCCGGCCCAGGGTTGAATACCCTTTTACCGCCGCCAGTGCCTGCTGCGCTTGCTGCTGCAGACCCTGTATGACTTTATTTTGGGCGGCCGCCGCAGGCGCGGTGGCGATGATGTTTTCCTGCTGCTGCAGTACCTTGTTAACGCTCGCCACGCTGTTAACGATACTGGACTGCGCGGCACCGAGCGTTTTTGTCTCAATGCCATATCGTTGCAGCTCTTTCGTTGTACGGCTCACCTGCGCCGCCCGCGACGCCTCGGTGCGCTCTGCACGCTCTACCTGCCGGTTAACACGGGCGAGTTCGGCTTCCTGTTTTTTCGTTACCTTCGCGGCAGAGTCATACGCTTGCTGCAGCTGGGCTTGCTTGGCCCGTAAGTCTTCCGTCTTTTGCGCCGCTTCAACCATCGTGGCGT---TCTGACGTTTATACAGCTCCACAAGGGCATTCAGCTTTAACAGCTGCTGCCCGGCCTGCTCAAGTTTTTTGTACGAGGCTTCCAGCTGACGCGTCGAGACTTCGCCCCGTTCTGCCGCTTTACGCTGGTCGTCCTGCGCCTTCGCCAT-TGCTTCAATCGCGGAGGCCACGGCTTTAAGGGGTTTCTGGCTGAAATCCCTCGCCCGGATCCTTAGTTCGACGTCTTTGCTGTTAGCCATCGCTCAAGCCCTTAATCAGTTTTTTGTAGTGCGGGCCACCTTTCTTCCCGTTCATGACGGAGGC----CAGTAGCGCCTGCAGTAACGTGCTTTCCGTCACCATGTGCATATTCACGCGGCGCCGGGCAATCTTGATTTCAGACCACAGGTACCCCAGCGGGTACCGGCGTGCGTCTGGGTGTCCCTGAGACATCAGGAAGGACACGCCTTCCCGCAGCTCATTGTGAAACCGTATTACTTTTTCCCTTTTGCTGTAGACTCGGGTGTCAGGCCGGCCTTTGTGTCCCTCATCAGG---------TCCATGGCCTTCCGTAGCATCTTTTTTATATCTTCAACGTCCGAGAAGGTCAGGCGGCCAATGGCTTTCAGCGCGTCAATCTGGGCGGTCAGCGGGAGGCG-CTGGGCTTTCTCCAGGTTGGCTTCGTCGTCCGCTGCCAGCGCGATGATATGGGCTACCAGGCCGGGCGCATCGTTAATAAGGCCCATGGCGAATTTGCCCATGGCCACGTAGGAAAGGTCGCTGCCGCCGTGGGTTTC--GTAAATATCAAACAGCCCTTCCAGGTCGTCATAGTGAACGCGGACGATCTTCGAAATGTCCTGGAATGACAGGCCGCGGACCTCGAATGCAACGTCGCCTTTTTTA-GCG-CG---CTTAATGATGATCTCTTCGGTATCCGGGGTGAAATCTGACAGTGACATGGG--GTTTATCCTCTTCGTTGGTTGACGTCGTTAATGTAGCACGTCG--GCAGAAAAGCATAAAAGAAAAGCGC'..b'sp_query-from>\n- <Hsp_query-to>8129</Hsp_query-to>\n- <Hsp_hit-from>52248</Hsp_hit-from>\n- <Hsp_hit-to>51278</Hsp_hit-to>\n- <Hsp_query-frame>1</Hsp_query-frame>\n- <Hsp_hit-frame>-1</Hsp_hit-frame>\n- <Hsp_identity>719</Hsp_identity>\n- <Hsp_positive>719</Hsp_positive>\n- <Hsp_gaps>24</Hsp_gaps>\n- <Hsp_align-len>983</Hsp_align-len>\n- <Hsp_qseq>ATGAAAGTTAAAGGTTTTGAGAAAGTCATCATACTGCATCTCGGCGCGCTCTTTGGCGCCGCAAACGCTGG---CGAGAAGTCTGTAAAGAGTTTCCACCGCACGCTGCTGAACACGCCGAACATGGACGAAATGAGCGTCCATGAATTCGCCGCCGGC-CGTGTGAGCGACCGACTGGCGAAGCACGAAGTGAAAGACCCGATCG--GC----TATAAGACGATTGGCTTTGCGCCTTACGCGGACTACGTGGGCGGCAAGTTCGCCATGGGCATCCCGGGTACTAACGCCATCGTGCTGCAGGCCGAAAAGCGTGAACGCGTGCTGCCCGGGGTCAGCGTGCGCAACGAAGTGACGAAGCGCATGGACGCCTGGCGCGAGAAAGAGATCGAAGGCTGGGAGCCGACCCGGAAAGACTGGGCGCAGCTGAAAGACGATGTCGAAGCCGAAATGCTGAAAACCGCGCCTATCCGCCCGACCCGCTACAATGTGATCATCGCCGTCCCGTACGTCTACGTGTTCACCACCAGCGCCAAGACCGCCGAAGAGGTTAACGCCCTGCTGCGTGCCGCGTTCGGTACCTGGCCAGTGGAACACCTGCTGATCAATGACTTCGTGCTGCGTCAGTCAATGGAGAAGGTCGTACGCGG-CAGCATCGAGGGTATCACTGGCGACGACTTCATCCACATCAAGCACGATGACGGCGATGACGTGAAGTTCAAGGACATTGACATCCATAAGGACGAAGTGGTCCTCGACTACCTGGCGCGGCATTACACGGTTCGGGCGCTGAACATGCGAA-TCGACGAACGCGAGATGCGACCTGGCGTGGGCAACGTGTTCTTCCGCCTGACCGACAAGGCGATCATCTCCGGGATCCACATCGGCGAGGCGGACGTTGACGCCAACTATGAAGCCACCCTGGAGCGCTACAACAATGACAGCGGTACGTTCCTGACCTACATGGCCAACCTGTTCCA</Hsp_qseq>\n- <Hsp_hseq>ATGAAAATCAAGAGTTATGAGAAAGCCATTATCTTGCACCTCGGCGCGCTGTATGACGCGGCCAACGACGGTAACGAGAAG---GTCAAGCCGCTGCACCGCCTGATCCTGAACCTGCCGAACGTTGACGAAGAGGCCGTAACGGCTTTCGCGAAAGGAGCGTTT-AGCGATGCACTCGAAAAGCATGAAGTGTCAGATCCGCCGGAGGCGTCTTACAAGACAATGGGCTTTGCAGCGTACGGCGAAGAGGTTGACAGCAAGTTTGCGCTCGCCATCCCCGGAACAAACGCCATCGTCTTCCAGATCGAAAAGCGCGAGCGAGTGCTGCCCGGCGTTAGCGTACGAAACGAAGTCGTGAAGCGCATGGCCGCGTTGCGCGAGAAAGAGATCGAGGGTTGGGAGCCGAACCGCAAGGATTGGGCGCAGATGAAGGACGACGTGGAAGCGGAAATGCTGAAACACGCGCCTATCCGCCCGTCCCGCGTCAACGTCATCCTGTCCGCCCCGTTCGTGTACGTGTTCACGTCGAGCGCGAAGACGGCAGAAGAGTGCAGCGCGCTGATCCGTACCGCGCTCGGCACATGGCCCGTTGAACACCTCCTGCCGAGCGAGTATGAGCTGCGCCAGTTAATGCAGCGCGCGGTTCTCGGCCAGCA-GGACGGCATCAAGGGCGATGCATTTATCCACCTGAAACACGATGACGGCGACGACGTCAAGATGAAGGACACGGACATCTTCAAAGACGAGGCGGTGGTTGACCTGCTGTCCCGCCACTGGACTGTCCGCGCACTGGATCT-CGAAGTCGA--TACGC--AATGC--CCGGGCATCGACACCGTGTACTTCCGCCTGTCCGACAAAGCCATCCTGTCCGGTATCCACATCGGCGAGGCCGACGTTGATGCGAACTACGACGCCACGCTCGAACGCTACGGCACCGACGGCGGCCAGTTCCTGACCATGATGGCGAACCTGTTCCA</Hsp_hseq>\n- <Hsp_midline>|||||| | || ||| |||||||| ||| || |||| ||||||||||| | || ||| || |||| || ||||||| || ||| | |||||| | | |||||| ||||||| | |||||| | ||| | ||||| || ||| | ||||| ||| | ||||| |||||| ||| ||| | || || ||||| || |||||||| | |||| || | || | | ||||||| || | | |||||| || || ||||||||||| | ||| ||||||||| || || ||||||||||| || ||||| || |||||||| ||||||||||| ||| | |||||||||||||||||| || |||||||||| ||| || || ||||||||| |||| ||||| || ||||| |||||||||||| |||||||||||||||| ||||| ||| || ||| | ||| ||||| ||| ||||||||||| | ||||| ||||| || |||||| | ||| ||| | ||| ||||| |||| || ||||| || |||||||| ||| | || | | |||||| |||| |||| || | || | ||| ||||| || || |||| ||||| | || |||||| | || |||||||||||||| ||||| ||| | ||||||| |||||| || ||||| | ||| | ||| ||| | || || | || || || || ||| | | |||| |||| |||| |||| || ||| | | || ||||| |||||||||| ||||||| || ||| | ||||| ||||||||||||||||| |||||||| || ||||| || ||||| || || |||||| || ||| |||| |||||||||| ||||| |||||||||||</Hsp_midline>\n- </Hsp>\n- </Hit_hsps>\n-</Hit>\n-</Iteration_hits>\n- <Iteration_stat>\n- <Statistics>\n- <Statistics_db-num>31902778</Statistics_db-num>\n- <Statistics_db-len>102365819095</Statistics_db-len>\n- <Statistics_hsp-len>43</Statistics_hsp-len>\n- <Statistics_eff-space>5.88492035908107e+15</Statistics_eff-space>\n- <Statistics_kappa>0.41</Statistics_kappa>\n- <Statistics_lambda>0.625</Statistics_lambda>\n- <Statistics_entropy>0.78</Statistics_entropy>\n- </Statistics>\n- </Iteration_stat>\n-</Iteration>\n-</BlastOutput_iterations>\n-</BlastOutput>\n-\n' |
b |
diff -r 5f0ee87daef4 -r e26a8a6d2d2e test-data/blastxml/merlin.gff --- a/test-data/blastxml/merlin.gff Fri Mar 29 09:35:57 2024 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 |
b |
b'@@ -1,1230 +0,0 @@\n-##gff-version 3\n-##sequence-region Merlin 1 172788\n-Merlin\tGeneMark.hmm\tgene\t2\t691\t-856.563659\t+\t.\tID=Merlin_1;seqid=Merlin\n-Merlin\tGeneMark.hmm\tmRNA\t2\t691\t.\t+\t.\tID=Merlin_1_mRNA;Parent=Merlin_1;seqid=Merlin;color=#00ff00\n-Merlin\tGeneMark.hmm\texon\t2\t691\t.\t+\t.\tID=Merlin_1_exon;Parent=Merlin_1_mRNA;seqid=Merlin\n-Merlin\tGeneMark.hmm\tCDS\t2\t691\t.\t+\t0\tID=Merlin_1_CDS;Parent=Merlin_1_exon;seqid=Merlin\n-Merlin\tGeneMark.hmm\tgene\t752\t1039\t-339.046618\t+\t.\tID=Merlin_2;seqid=Merlin\n-Merlin\tGeneMark.hmm\tmRNA\t752\t1039\t.\t+\t.\tID=Merlin_2_mRNA;Parent=Merlin_2;seqid=Merlin\n-Merlin\tGeneMark.hmm\texon\t752\t1039\t.\t+\t.\tID=Merlin_2_exon;Parent=Merlin_2_mRNA;seqid=Merlin\n-Merlin\tGeneMark.hmm\tCDS\t752\t1039\t.\t+\t0\tID=Merlin_2_CDS;Parent=Merlin_2_exon;seqid=Merlin\n-Merlin\tGeneMark.hmm\tgene\t1067\t2011\t-1229.683915\t-\t.\tID=Merlin_3;seqid=Merlin\n-Merlin\tGeneMark.hmm\tmRNA\t1067\t2011\t.\t-\t.\tID=Merlin_3_mRNA;Parent=Merlin_3;seqid=Merlin\n-Merlin\tGeneMark.hmm\texon\t1067\t2011\t.\t-\t.\tID=Merlin_3_exon;Parent=Merlin_3_mRNA;seqid=Merlin\n-Merlin\tGeneMark.hmm\tCDS\t1067\t2011\t.\t-\t0\tID=Merlin_3_CDS;Parent=Merlin_3_exon;seqid=Merlin\n-Merlin\tGeneMark.hmm\tgene\t2011\t3066\t-1335.034872\t-\t.\tID=Merlin_4;seqid=Merlin\n-Merlin\tGeneMark.hmm\tmRNA\t2011\t3066\t.\t-\t.\tID=Merlin_4_mRNA;Parent=Merlin_4;seqid=Merlin\n-Merlin\tGeneMark.hmm\texon\t2011\t3066\t.\t-\t.\tID=Merlin_4_exon;Parent=Merlin_4_mRNA;seqid=Merlin\n-Merlin\tGeneMark.hmm\tCDS\t2011\t3066\t.\t-\t0\tID=Merlin_4_CDS;Parent=Merlin_4_exon;seqid=Merlin\n-Merlin\tGeneMark.hmm\tgene\t3066\t4796\t-2177.374893\t-\t.\tID=Merlin_5;seqid=Merlin\n-Merlin\tGeneMark.hmm\tmRNA\t3066\t4796\t.\t-\t.\tID=Merlin_5_mRNA;Parent=Merlin_5;seqid=Merlin\n-Merlin\tGeneMark.hmm\texon\t3066\t4796\t.\t-\t.\tID=Merlin_5_exon;Parent=Merlin_5_mRNA;seqid=Merlin\n-Merlin\tGeneMark.hmm\tCDS\t3066\t4796\t.\t-\t0\tID=Merlin_5_CDS;Parent=Merlin_5_exon;seqid=Merlin\n-Merlin\tGeneMark.hmm\tgene\t4793\t5317\t-682.565030\t-\t.\tID=Merlin_6;seqid=Merlin\n-Merlin\tGeneMark.hmm\tmRNA\t4793\t5317\t.\t-\t.\tID=Merlin_6_mRNA;Parent=Merlin_6;seqid=Merlin\n-Merlin\tGeneMark.hmm\texon\t4793\t5317\t.\t-\t.\tID=Merlin_6_exon;Parent=Merlin_6_mRNA;seqid=Merlin\n-Merlin\tGeneMark.hmm\tCDS\t4793\t5317\t.\t-\t0\tID=Merlin_6_CDS;Parent=Merlin_6_exon;seqid=Merlin\n-Merlin\tGeneMark.hmm\tgene\t5289\t6431\t-1457.525863\t-\t.\tID=Merlin_7;seqid=Merlin\n-Merlin\tGeneMark.hmm\tmRNA\t5289\t6431\t.\t-\t.\tID=Merlin_7_mRNA;Parent=Merlin_7;seqid=Merlin\n-Merlin\tGeneMark.hmm\texon\t5289\t6431\t.\t-\t.\tID=Merlin_7_exon;Parent=Merlin_7_mRNA;seqid=Merlin\n-Merlin\tGeneMark.hmm\tCDS\t5289\t6431\t.\t-\t0\tID=Merlin_7_CDS;Parent=Merlin_7_exon;seqid=Merlin\n-Merlin\tGeneMark.hmm\tgene\t6428\t7180\t-968.015933\t-\t.\tID=Merlin_8;seqid=Merlin\n-Merlin\tGeneMark.hmm\tmRNA\t6428\t7180\t.\t-\t.\tID=Merlin_8_mRNA;Parent=Merlin_8;seqid=Merlin\n-Merlin\tGeneMark.hmm\texon\t6428\t7180\t.\t-\t.\tID=Merlin_8_exon;Parent=Merlin_8_mRNA;seqid=Merlin\n-Merlin\tGeneMark.hmm\tCDS\t6428\t7180\t.\t-\t0\tID=Merlin_8_CDS;Parent=Merlin_8_exon;seqid=Merlin\n-Merlin\tGeneMark.hmm\tgene\t7228\t7857\t-809.330137\t+\t.\tID=Merlin_9;seqid=Merlin\n-Merlin\tGeneMark.hmm\tmRNA\t7228\t7857\t.\t+\t.\tID=Merlin_9_mRNA;Parent=Merlin_9;seqid=Merlin\n-Merlin\tGeneMark.hmm\texon\t7228\t7857\t.\t+\t.\tID=Merlin_9_exon;Parent=Merlin_9_mRNA;seqid=Merlin\n-Merlin\tGeneMark.hmm\tCDS\t7228\t7857\t.\t+\t0\tID=Merlin_9_CDS;Parent=Merlin_9_exon;seqid=Merlin\n-Merlin\tGeneMark.hmm\tgene\t7857\t8252\t-515.006678\t+\t.\tID=Merlin_10;seqid=Merlin\n-Merlin\tGeneMark.hmm\tmRNA\t7857\t8252\t.\t+\t.\tID=Merlin_10_mRNA;Parent=Merlin_10;seqid=Merlin\n-Merlin\tGeneMark.hmm\texon\t7857\t8252\t.\t+\t.\tID=Merlin_10_exon;Parent=Merlin_10_mRNA;seqid=Merlin\n-Merlin\tGeneMark.hmm\tCDS\t7857\t8252\t.\t+\t0\tID=Merlin_10_CDS;Parent=Merlin_10_exon;seqid=Merlin\n-Merlin\tGeneMark.hmm\tgene\t8340\t8753\t-522.529341\t+\t.\tID=Merlin_11;seqid=Merlin\n-Merlin\tGeneMark.hmm\tmRNA\t8340\t8753\t.\t+\t.\tID=Merlin_11_mRNA;Parent=Merlin_11;seqid=Merlin\n-Merlin\tGeneMark.hmm\texon\t8340\t8753\t.\t+\t.\tID=Merlin_11_exon;Parent=Merlin_11_mRNA;seqid=Merlin\n-Merlin\tGeneMark.hmm\tCDS\t8340\t8753\t.\t+\t0\tID=Merlin_11_CDS;Parent=Merlin_11_exon;seqid=Merlin\n-Merlin\tGeneMark.hmm\tgene\t8787\t8951\t-212.019038\t+\t.\tID=Merlin_12;seqid=Merlin'..b'rlin\n-Merlin\tGeneMark.hmm\texon\t164715\t165071\t.\t+\t.\tID=Merlin_297_exon;Parent=Merlin_297_mRNA;seqid=Merlin\n-Merlin\tGeneMark.hmm\tCDS\t164715\t165071\t.\t+\t0\tID=Merlin_297_CDS;Parent=Merlin_297_exon;seqid=Merlin\n-Merlin\tGeneMark.hmm\tgene\t165107\t165601\t-618.360781\t+\t.\tID=Merlin_298;seqid=Merlin\n-Merlin\tGeneMark.hmm\tmRNA\t165107\t165601\t.\t+\t.\tID=Merlin_298_mRNA;Parent=Merlin_298;seqid=Merlin\n-Merlin\tGeneMark.hmm\texon\t165107\t165601\t.\t+\t.\tID=Merlin_298_exon;Parent=Merlin_298_mRNA;seqid=Merlin\n-Merlin\tGeneMark.hmm\tCDS\t165107\t165601\t.\t+\t0\tID=Merlin_298_CDS;Parent=Merlin_298_exon;seqid=Merlin\n-Merlin\tGeneMark.hmm\tgene\t165612\t165773\t-191.091430\t+\t.\tID=Merlin_299;seqid=Merlin\n-Merlin\tGeneMark.hmm\tmRNA\t165612\t165773\t.\t+\t.\tID=Merlin_299_mRNA;Parent=Merlin_299;seqid=Merlin\n-Merlin\tGeneMark.hmm\texon\t165612\t165773\t.\t+\t.\tID=Merlin_299_exon;Parent=Merlin_299_mRNA;seqid=Merlin\n-Merlin\tGeneMark.hmm\tCDS\t165612\t165773\t.\t+\t0\tID=Merlin_299_CDS;Parent=Merlin_299_exon;seqid=Merlin\n-Merlin\tGeneMark.hmm\tgene\t165770\t166000\t-285.030914\t+\t.\tID=Merlin_300;seqid=Merlin\n-Merlin\tGeneMark.hmm\tmRNA\t165770\t166000\t.\t+\t.\tID=Merlin_300_mRNA;Parent=Merlin_300;seqid=Merlin\n-Merlin\tGeneMark.hmm\texon\t165770\t166000\t.\t+\t.\tID=Merlin_300_exon;Parent=Merlin_300_mRNA;seqid=Merlin\n-Merlin\tGeneMark.hmm\tCDS\t165770\t166000\t.\t+\t0\tID=Merlin_300_CDS;Parent=Merlin_300_exon;seqid=Merlin\n-Merlin\tGeneMark.hmm\tgene\t165997\t166191\t-241.609251\t+\t.\tID=Merlin_301;seqid=Merlin\n-Merlin\tGeneMark.hmm\tmRNA\t165997\t166191\t.\t+\t.\tID=Merlin_301_mRNA;Parent=Merlin_301;seqid=Merlin\n-Merlin\tGeneMark.hmm\texon\t165997\t166191\t.\t+\t.\tID=Merlin_301_exon;Parent=Merlin_301_mRNA;seqid=Merlin\n-Merlin\tGeneMark.hmm\tCDS\t165997\t166191\t.\t+\t0\tID=Merlin_301_CDS;Parent=Merlin_301_exon;seqid=Merlin\n-Merlin\tGeneMark.hmm\tgene\t166352\t167200\t-1091.167753\t+\t.\tID=Merlin_302;seqid=Merlin\n-Merlin\tGeneMark.hmm\tmRNA\t166352\t167200\t.\t+\t.\tID=Merlin_302_mRNA;Parent=Merlin_302;seqid=Merlin\n-Merlin\tGeneMark.hmm\texon\t166352\t167200\t.\t+\t.\tID=Merlin_302_exon;Parent=Merlin_302_mRNA;seqid=Merlin\n-Merlin\tGeneMark.hmm\tCDS\t166352\t167200\t.\t+\t0\tID=Merlin_302_CDS;Parent=Merlin_302_exon;seqid=Merlin\n-Merlin\tGeneMark.hmm\tgene\t167197\t167433\t-294.645060\t+\t.\tID=Merlin_303;seqid=Merlin\n-Merlin\tGeneMark.hmm\tmRNA\t167197\t167433\t.\t+\t.\tID=Merlin_303_mRNA;Parent=Merlin_303;seqid=Merlin\n-Merlin\tGeneMark.hmm\texon\t167197\t167433\t.\t+\t.\tID=Merlin_303_exon;Parent=Merlin_303_mRNA;seqid=Merlin\n-Merlin\tGeneMark.hmm\tCDS\t167197\t167433\t.\t+\t0\tID=Merlin_303_CDS;Parent=Merlin_303_exon;seqid=Merlin\n-Merlin\tGeneMark.hmm\tgene\t167487\t168944\t-1811.170385\t+\t.\tID=Merlin_304;seqid=Merlin\n-Merlin\tGeneMark.hmm\tmRNA\t167487\t168944\t.\t+\t.\tID=Merlin_304_mRNA;Parent=Merlin_304;seqid=Merlin\n-Merlin\tGeneMark.hmm\texon\t167487\t168944\t.\t+\t.\tID=Merlin_304_exon;Parent=Merlin_304_mRNA;seqid=Merlin\n-Merlin\tGeneMark.hmm\tCDS\t167487\t168944\t.\t+\t0\tID=Merlin_304_CDS;Parent=Merlin_304_exon;seqid=Merlin\n-Merlin\tGeneMark.hmm\tgene\t168941\t169120\t-220.159549\t+\t.\tID=Merlin_305;seqid=Merlin\n-Merlin\tGeneMark.hmm\tmRNA\t168941\t169120\t.\t+\t.\tID=Merlin_305_mRNA;Parent=Merlin_305;seqid=Merlin\n-Merlin\tGeneMark.hmm\texon\t168941\t169120\t.\t+\t.\tID=Merlin_305_exon;Parent=Merlin_305_mRNA;seqid=Merlin\n-Merlin\tGeneMark.hmm\tCDS\t168941\t169120\t.\t+\t0\tID=Merlin_305_CDS;Parent=Merlin_305_exon;seqid=Merlin\n-Merlin\tGeneMark.hmm\tgene\t169175\t171265\t-2617.092758\t+\t.\tID=Merlin_306;seqid=Merlin\n-Merlin\tGeneMark.hmm\tmRNA\t169175\t171265\t.\t+\t.\tID=Merlin_306_mRNA;Parent=Merlin_306;seqid=Merlin\n-Merlin\tGeneMark.hmm\texon\t169175\t171265\t.\t+\t.\tID=Merlin_306_exon;Parent=Merlin_306_mRNA;seqid=Merlin\n-Merlin\tGeneMark.hmm\tCDS\t169175\t171265\t.\t+\t0\tID=Merlin_306_CDS;Parent=Merlin_306_exon;seqid=Merlin\n-Merlin\tGeneMark.hmm\tgene\t171301\t172788\t-1876.322043\t+\t.\tID=Merlin_307;seqid=Merlin\n-Merlin\tGeneMark.hmm\tmRNA\t171301\t172788\t.\t+\t.\tID=Merlin_307_mRNA;Parent=Merlin_307;seqid=Merlin\n-Merlin\tGeneMark.hmm\texon\t171301\t172788\t.\t+\t.\tID=Merlin_307_exon;Parent=Merlin_307_mRNA;seqid=Merlin\n-Merlin\tGeneMark.hmm\tCDS\t171301\t172788\t.\t+\t0\tID=Merlin_307_CDS;Parent=Merlin_307_exon;seqid=Merlin\n' |
b |
diff -r 5f0ee87daef4 -r e26a8a6d2d2e test-data/index.html --- a/test-data/index.html Fri Mar 29 09:35:57 2024 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 |
[ |
@@ -1,112 +0,0 @@ -<!DOCTYPE html> -<html> - <head> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> - <title>JBrowse</title> - <link rel="stylesheet" type="text/css" href="css/genome.css"> -</head> -<body> - - <script type="text/javascript"> - // jshint unused: false - var dojoConfig = { - async: true, - baseUrl: './src', - has: { - 'host-node': false // Prevent dojo from being fooled by Electron - } - }; - // Move Electron's require out before loading Dojo - if(window.process&&process.versions&&process.versions.electron) { - window.electronRequire = require; - delete window.require; - } - </script> - <script type="text/javascript" src="src/dojo/dojo.js"></script> - <script type="text/javascript" src="src/JBrowse/init.js"></script> - <script type="text/javascript"> - window.onerror=function(msg){ - if( document.body ) - document.body.setAttribute("JSError",msg); - } - - // puts the main Browser object in this for convenience. feel - // free to move it into function scope if you want to keep it - // out of the global namespace - var JBrowse; - require(['JBrowse/Browser', 'dojo/io-query', 'dojo/json' ], - function (Browser,ioQuery,JSON) { - // the initial configuration of this JBrowse - // instance - - // NOTE: this initial config is the same as any - // other JBrowse config in any other file. this - // one just sets defaults from URL query params. - // If you are embedding JBrowse in some other app, - // you might as well just set this initial config - // to something like { include: '../my/dynamic/conf.json' }, - // or you could put the entire - // dynamically-generated JBrowse config here. - - // parse the query vars in the page URL - var queryParams = ioQuery.queryToObject( window.location.search.slice(1) ); - - var config = { - containerID: "GenomeBrowser", - - dataRoot: queryParams.data, - queryParams: queryParams, - location: queryParams.loc, - forceTracks: queryParams.tracks, - initialHighlight: queryParams.highlight, - show_nav: queryParams.nav, - show_tracklist: queryParams.tracklist, - show_overview: queryParams.overview, - show_menu: queryParams.menu, - show_tracklabels: queryParams.tracklabels, - highResolutionMode: queryParams.highres, - stores: { url: { type: "JBrowse/Store/SeqFeature/FromConfig", features: [] } }, - makeFullViewURL: function( browser ) { - - // the URL for the 'Full view' link - // in embedded mode should be the current - // view URL, except with 'nav', 'tracklist', - // and 'overview' parameters forced to 1. - - return browser.makeCurrentViewURL({ nav: 1, tracklist: 1, overview: 1 }); - }, - updateBrowserURL: true - }; - - //if there is ?addFeatures in the query params, - //define a store for data from the URL - if( queryParams.addFeatures ) { - config.stores.url.features = JSON.parse( queryParams.addFeatures ); - } - - // if there is ?addTracks in the query params, add - // those track configurations to our initial - // configuration - if( queryParams.addTracks ) { - config.tracks = JSON.parse( queryParams.addTracks ); - } - - // if there is ?addStores in the query params, add - // those store configurations to our initial - // configuration - if( queryParams.addStores ) { - config.stores = JSON.parse( queryParams.addStores ); - } - - // create a JBrowse global variable holding the JBrowse instance - JBrowse = new Browser( config ); - }); - </script> - - </head> - - <body> - <div id="GenomeBrowser" style="height: 100%; width: 100%; padding: 0; border: 0;"></div> - <div style="display: none">JBrowseDefaultMainPage</div> - </body> -</html> |
b |
diff -r 5f0ee87daef4 -r e26a8a6d2d2e test-data/vcf/test.vcf --- a/test-data/vcf/test.vcf Fri Mar 29 09:35:57 2024 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 |
b |
@@ -1,23 +0,0 @@ -##fileformat=VCFv4.0 -##fileDate=20090805 -##source=myImputationProgramV3.1 -##reference=1000GenomesPilot-NCBI36 -##phasing=partial -##INFO=<ID=NS,Number=1,Type=Integer,Description="Number of Samples With Data"> -##INFO=<ID=DP,Number=1,Type=Integer,Description="Total Depth"> -##INFO=<ID=AF,Number=.,Type=Float,Description="Allele Frequency"> -##INFO=<ID=AA,Number=1,Type=String,Description="Ancestral Allele"> -##INFO=<ID=DB,Number=0,Type=Flag,Description="dbSNP membership, build 129"> -##INFO=<ID=H2,Number=0,Type=Flag,Description="HapMap2 membership"> -##FILTER=<ID=q10,Description="Quality below 10"> -##FILTER=<ID=s50,Description="Less than 50% of samples have data"> -##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype"> -##FORMAT=<ID=GQ,Number=1,Type=Integer,Description="Genotype Quality"> -##FORMAT=<ID=DP,Number=1,Type=Integer,Description="Read Depth"> -##FORMAT=<ID=HQ,Number=2,Type=Integer,Description="Haplotype Quality"> -#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT NA00001 NA00002 NA00003 -Merlin 14370 rs6054257 G A 29 PASS NS=3;DP=14;AF=0.5;DB;H2 GT:GQ:DP:HQ 0|0:48:1:51,51 1|0:48:8:51,51 1/1:43:5:.,. -Merlin 17330 . T A 3 q10 NS=3;DP=11;AF=0.017 GT:GQ:DP:HQ 0|0:49:3:58,50 0|1:3:5:65,3 0/0:41:3 -Merlin 1110696 rs6040355 A G,T 67 PASS NS=2;DP=10;AF=0.333,0.667;AA=T;DB GT:GQ:DP:HQ 1|2:21:6:23,27 2|1:2:0:18,2 2/2:35:4 -Merlin 1230237 . T . 47 PASS NS=3;DP=13;AA=T GT:GQ:DP:HQ 0|0:54:7:56,60 0|0:48:4:51,51 0/0:61:2 -Merlin 1234567 microsat1 GTCT G,GTACT 50 PASS NS=3;DP=9;AA=G GT:GQ:DP 0/1:35:4 0/2:17:2 1/1:40:3 |
b |
diff -r 5f0ee87daef4 -r e26a8a6d2d2e test-data/vcf/test.xml --- a/test-data/vcf/test.xml Fri Mar 29 09:35:57 2024 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 |
b |
@@ -1,28 +0,0 @@ -<?xml version="1.0"?> -<root> - <metadata> - <genomes> - <genome>test-data/merlin.fa</genome> - </genomes> - <general> - <defaultLocation></defaultLocation> - <trackPadding>40</trackPadding> - <shareLink>true</shareLink> - <aboutDescription></aboutDescription> - <show_tracklist>true</show_tracklist> - <show_nav>true</show_nav> - <show_overview>false</show_overview> - <show_menu>true</show_menu> - <hideGenomeOptions>false</hideGenomeOptions> - </general> - </metadata> - <tracks> - <track cat="Default" format="vcf"> - <files> - <trackFile path="test-data/vcf/test.vcf" ext="vcf" label="Basic"/> - </files> - <options> - </options> - </track> - </tracks> -</root> |
b |
diff -r 5f0ee87daef4 -r e26a8a6d2d2e test-data/xmfa.gff --- a/test-data/xmfa.gff Fri Mar 29 09:35:57 2024 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 |
b |
b'@@ -1,5918 +0,0 @@\n-##gff-version 3\n-##sequence-region Merlin 1 172788\n-Merlin\tprogressiveMauve\tmatch\t123963\t171642\t.\t-\t.\tID=HM137666;Target=HM137666\n-Merlin\tprogressiveMauve\tmatch_part\t123963\t123982\t80\t+\t.\tParent=HM137666\n-Merlin\tprogressiveMauve\tmatch_part\t123983\t124032\t62\t+\t.\tParent=HM137666\n-Merlin\tprogressiveMauve\tmatch_part\t124033\t124082\t86\t+\t.\tParent=HM137666\n-Merlin\tprogressiveMauve\tmatch_part\t124083\t124132\t72\t+\t.\tParent=HM137666\n-Merlin\tprogressiveMauve\tmatch_part\t124133\t124182\t78\t+\t.\tParent=HM137666\n-Merlin\tprogressiveMauve\tmatch_part\t124183\t124232\t70\t+\t.\tParent=HM137666\n-Merlin\tprogressiveMauve\tmatch_part\t124233\t124282\t48\t+\t.\tParent=HM137666\n-Merlin\tprogressiveMauve\tmatch_part\t124283\t124329\t42.5531914894\t+\t.\tParent=HM137666\n-Merlin\tprogressiveMauve\tmatch_part\t124469\t124494\t73.0769230769\t+\t.\tParent=HM137666\n-Merlin\tprogressiveMauve\tmatch_part\t124495\t124544\t56\t+\t.\tParent=HM137666\n-Merlin\tprogressiveMauve\tmatch_part\t124601\t124650\t56\t+\t.\tParent=HM137666\n-Merlin\tprogressiveMauve\tmatch_part\t124651\t124700\t54\t+\t.\tParent=HM137666\n-Merlin\tprogressiveMauve\tmatch_part\t124701\t124750\t56\t+\t.\tParent=HM137666\n-Merlin\tprogressiveMauve\tmatch_part\t124751\t124796\t56.5217391304\t+\t.\tParent=HM137666\n-Merlin\tprogressiveMauve\tmatch_part\t124797\t124846\t14\t+\t.\tParent=HM137666\n-Merlin\tprogressiveMauve\tmatch_part\t124847\t124868\t27.2727272727\t+\t.\tParent=HM137666\n-Merlin\tprogressiveMauve\tmatch_part\t124869\t124918\t68\t+\t.\tParent=HM137666\n-Merlin\tprogressiveMauve\tmatch_part\t124919\t124964\t45.652173913\t+\t.\tParent=HM137666\n-Merlin\tprogressiveMauve\tmatch_part\t124965\t125009\t55.5555555556\t+\t.\tParent=HM137666\n-Merlin\tprogressiveMauve\tmatch_part\t125010\t125059\t58\t+\t.\tParent=HM137666\n-Merlin\tprogressiveMauve\tmatch_part\t125060\t125077\t33.3333333333\t+\t.\tParent=HM137666\n-Merlin\tprogressiveMauve\tmatch_part\t125078\t125127\t64\t+\t.\tParent=HM137666\n-Merlin\tprogressiveMauve\tmatch_part\t125128\t125177\t26\t+\t.\tParent=HM137666\n-Merlin\tprogressiveMauve\tmatch_part\t125744\t125793\t66\t+\t.\tParent=HM137666\n-Merlin\tprogressiveMauve\tmatch_part\t125794\t125843\t70\t+\t.\tParent=HM137666\n-Merlin\tprogressiveMauve\tmatch_part\t125844\t125893\t64\t+\t.\tParent=HM137666\n-Merlin\tprogressiveMauve\tmatch_part\t125894\t125943\t50\t+\t.\tParent=HM137666\n-Merlin\tprogressiveMauve\tmatch_part\t125944\t125993\t54\t+\t.\tParent=HM137666\n-Merlin\tprogressiveMauve\tmatch_part\t125994\t126043\t52\t+\t.\tParent=HM137666\n-Merlin\tprogressiveMauve\tmatch_part\t126044\t126093\t74\t+\t.\tParent=HM137666\n-Merlin\tprogressiveMauve\tmatch_part\t126094\t126143\t48\t+\t.\tParent=HM137666\n-Merlin\tprogressiveMauve\tmatch_part\t126144\t126193\t56\t+\t.\tParent=HM137666\n-Merlin\tprogressiveMauve\tmatch_part\t126194\t126240\t57.4468085106\t+\t.\tParent=HM137666\n-Merlin\tprogressiveMauve\tmatch_part\t126241\t126290\t64\t+\t.\tParent=HM137666\n-Merlin\tprogressiveMauve\tmatch_part\t126291\t126333\t58.1395348837\t+\t.\tParent=HM137666\n-Merlin\tprogressiveMauve\tmatch_part\t126334\t126378\t71.1111111111\t+\t.\tParent=HM137666\n-Merlin\tprogressiveMauve\tmatch_part\t126379\t126425\t63.829787234\t+\t.\tParent=HM137666\n-Merlin\tprogressiveMauve\tmatch_part\t126426\t126468\t67.4418604651\t+\t.\tParent=HM137666\n-Merlin\tprogressiveMauve\tmatch_part\t126469\t126515\t74.4680851064\t+\t.\tParent=HM137666\n-Merlin\tprogressiveMauve\tmatch_part\t126516\t126565\t60\t+\t.\tParent=HM137666\n-Merlin\tprogressiveMauve\tmatch_part\t126566\t126603\t60.5263157895\t+\t.\tParent=HM137666\n-Merlin\tprogressiveMauve\tmatch_part\t126604\t126653\t50\t+\t.\tParent=HM137666\n-Merlin\tprogressiveMauve\tmatch_part\t126654\t126703\t66\t+\t.\tParent=HM137666\n-Merlin\tprogressiveMauve\tmatch_part\t126704\t126753\t74\t+\t.\tParent=HM137666\n-Merlin\tprogressiveMauve\tmatch_part\t126754\t126803\t70\t+\t.\tParent=HM137666\n-Merlin\tprogressiveMauve\tmatch_part\t126804\t126853\t78\t+\t.\tParent=HM137666\n-Merlin\tprogressiveMauve\tmatch_part\t126854\t126903\t78\t+\t.\tParent=HM137666\n-Merlin\tprogressiveMauve\tmatch_part\t126904\t126953\t66\t+\t.\tParent=HM137666\n-Merlin\tprogressiveMauve\tmatch_part\t126954\t127003\t78\t+\t.\tParent=HM137666\n-Merlin\tprogressiveMauve\tmatch_part\t127004\t127053\t72\t+\t.\tParent=HM137666\n-Merlin\tprogressiveMauve\tmatch_part\t127054\t1271'..b'ogressiveMauve\tmatch_part\t168325\t168374\t84\t+\t.\tParent=NC_000866\n-Merlin\tprogressiveMauve\tmatch_part\t168375\t168424\t84\t+\t.\tParent=NC_000866\n-Merlin\tprogressiveMauve\tmatch_part\t168425\t168474\t78\t+\t.\tParent=NC_000866\n-Merlin\tprogressiveMauve\tmatch_part\t168475\t168524\t82\t+\t.\tParent=NC_000866\n-Merlin\tprogressiveMauve\tmatch_part\t168525\t168574\t68\t+\t.\tParent=NC_000866\n-Merlin\tprogressiveMauve\tmatch_part\t168575\t168624\t70\t+\t.\tParent=NC_000866\n-Merlin\tprogressiveMauve\tmatch_part\t168625\t168674\t66\t+\t.\tParent=NC_000866\n-Merlin\tprogressiveMauve\tmatch_part\t168675\t168724\t40\t+\t.\tParent=NC_000866\n-Merlin\tprogressiveMauve\tmatch_part\t169065\t169092\t60.7142857143\t+\t.\tParent=NC_000866\n-Merlin\tprogressiveMauve\tmatch_part\t169093\t169142\t74\t+\t.\tParent=NC_000866\n-Merlin\tprogressiveMauve\tmatch_part\t169143\t169192\t58\t+\t.\tParent=NC_000866\n-Merlin\tprogressiveMauve\tmatch_part\t169193\t169242\t60\t+\t.\tParent=NC_000866\n-Merlin\tprogressiveMauve\tmatch_part\t169243\t169292\t62\t+\t.\tParent=NC_000866\n-Merlin\tprogressiveMauve\tmatch_part\t169293\t169342\t68\t+\t.\tParent=NC_000866\n-Merlin\tprogressiveMauve\tmatch_part\t169343\t169374\t59.375\t+\t.\tParent=NC_000866\n-Merlin\tprogressiveMauve\tmatch_part\t169375\t169423\t63.2653061224\t+\t.\tParent=NC_000866\n-Merlin\tprogressiveMauve\tmatch_part\t169424\t169473\t70\t+\t.\tParent=NC_000866\n-Merlin\tprogressiveMauve\tmatch_part\t169474\t169523\t70\t+\t.\tParent=NC_000866\n-Merlin\tprogressiveMauve\tmatch_part\t169524\t169573\t54\t+\t.\tParent=NC_000866\n-Merlin\tprogressiveMauve\tmatch_part\t169574\t169623\t54\t+\t.\tParent=NC_000866\n-Merlin\tprogressiveMauve\tmatch_part\t169624\t169673\t40\t+\t.\tParent=NC_000866\n-Merlin\tprogressiveMauve\tmatch_part\t170000\t170040\t68.2926829268\t+\t.\tParent=NC_000866\n-Merlin\tprogressiveMauve\tmatch_part\t170041\t170082\t76.1904761905\t+\t.\tParent=NC_000866\n-Merlin\tprogressiveMauve\tmatch_part\t170083\t170132\t70\t+\t.\tParent=NC_000866\n-Merlin\tprogressiveMauve\tmatch_part\t170133\t170182\t56\t+\t.\tParent=NC_000866\n-Merlin\tprogressiveMauve\tmatch_part\t170183\t170232\t68\t+\t.\tParent=NC_000866\n-Merlin\tprogressiveMauve\tmatch_part\t170233\t170282\t72\t+\t.\tParent=NC_000866\n-Merlin\tprogressiveMauve\tmatch_part\t170283\t170332\t68\t+\t.\tParent=NC_000866\n-Merlin\tprogressiveMauve\tmatch_part\t170333\t170382\t72\t+\t.\tParent=NC_000866\n-Merlin\tprogressiveMauve\tmatch_part\t170383\t170431\t61.2244897959\t+\t.\tParent=NC_000866\n-Merlin\tprogressiveMauve\tmatch_part\t170432\t170473\t52.380952381\t+\t.\tParent=NC_000866\n-Merlin\tprogressiveMauve\tmatch_part\t170474\t170523\t58\t+\t.\tParent=NC_000866\n-Merlin\tprogressiveMauve\tmatch_part\t170524\t170573\t64\t+\t.\tParent=NC_000866\n-Merlin\tprogressiveMauve\tmatch_part\t170574\t170623\t42\t+\t.\tParent=NC_000866\n-Merlin\tprogressiveMauve\tmatch_part\t170824\t170849\t38.4615384615\t+\t.\tParent=NC_000866\n-Merlin\tprogressiveMauve\tmatch_part\t170850\t170898\t63.2653061224\t+\t.\tParent=NC_000866\n-Merlin\tprogressiveMauve\tmatch_part\t170899\t170948\t56\t+\t.\tParent=NC_000866\n-Merlin\tprogressiveMauve\tmatch_part\t170949\t170991\t67.4418604651\t+\t.\tParent=NC_000866\n-Merlin\tprogressiveMauve\tmatch_part\t170992\t171040\t46.9387755102\t+\t.\tParent=NC_000866\n-Merlin\tprogressiveMauve\tmatch_part\t171041\t171090\t52\t+\t.\tParent=NC_000866\n-Merlin\tprogressiveMauve\tmatch_part\t171091\t171123\t69.696969697\t+\t.\tParent=NC_000866\n-Merlin\tprogressiveMauve\tmatch_part\t171124\t171167\t79.5454545455\t+\t.\tParent=NC_000866\n-Merlin\tprogressiveMauve\tmatch_part\t171168\t171217\t78\t+\t.\tParent=NC_000866\n-Merlin\tprogressiveMauve\tmatch_part\t171218\t171264\t57.4468085106\t+\t.\tParent=NC_000866\n-Merlin\tprogressiveMauve\tmatch_part\t171265\t171314\t68\t+\t.\tParent=NC_000866\n-Merlin\tprogressiveMauve\tmatch_part\t171315\t171364\t68\t+\t.\tParent=NC_000866\n-Merlin\tprogressiveMauve\tmatch_part\t171365\t171414\t64\t+\t.\tParent=NC_000866\n-Merlin\tprogressiveMauve\tmatch_part\t171415\t171464\t76\t+\t.\tParent=NC_000866\n-Merlin\tprogressiveMauve\tmatch_part\t171465\t171514\t76\t+\t.\tParent=NC_000866\n-Merlin\tprogressiveMauve\tmatch_part\t171515\t171564\t80\t+\t.\tParent=NC_000866\n-Merlin\tprogressiveMauve\tmatch_part\t171565\t171614\t66\t+\t.\tParent=NC_000866\n-Merlin\tprogressiveMauve\tmatch_part\t171615\t171642\t53.5714285714\t+\t.\tParent=NC_000866\n-###\n' |