Previous changeset 2:b6a0e126dbee (2015-06-23) Next changeset 4:d022577ff9cf (2016-01-29) |
Commit message:
Uploaded v0.4 of JBrowse |
modified:
blastxml_to_gapped_gff3.py gff3_rebase.py jbrowse.py jbrowse.xml macros.xml readme.rst tool_dependencies.xml |
added:
jbrowse-fromdir.xml static/images/bam.png static/images/bigwig.png static/images/blast.png static/images/opacity.png static/images/sections.png static/images/styling.png test-data/bam/154.bam test-data/bam/154.bam.bai test-data/bam/test.xml test-data/blastxml/blast-gene1.xml test-data/blastxml/blast.xml test-data/blastxml/blastn-gene1.xml test-data/blastxml/merlin.gff test-data/blastxml/test.xml test-data/bw/data.bw test-data/bw/test.xml test-data/gencode/test-1.xml test-data/gencode/test.xml test-data/gff3/1.gff test-data/gff3/2.gff test-data/gff3/A.gff test-data/gff3/B.gff test-data/gff3/C.gff test-data/gff3/D.gff test-data/gff3/interpro.gff test-data/gff3/merlin.gff test-data/gff3/test.xml test-data/index.html test-data/vcf/test.vcf test-data/vcf/test.xml |
removed:
test-data/154.bam test-data/154.bam.bai test-data/154.bw test-data/blast.xml test-data/interpro.gff test-data/merlin.gff test-data/test.vcf test.yml |
b |
diff -r b6a0e126dbee -r 7342f467507b blastxml_to_gapped_gff3.py --- a/blastxml_to_gapped_gff3.py Tue Jun 23 12:10:15 2015 -0400 +++ b/blastxml_to_gapped_gff3.py Thu Dec 31 13:58:43 2015 -0500 |
[ |
@@ -28,6 +28,12 @@ blast_records = NCBIXML.parse(blastxml) records = [] for record in blast_records: + # http://www.sequenceontology.org/browser/release_2.4/term/SO:0000343 + match_type = { # Currently we can only handle BLASTN, BLASTP + 'BLASTN': 'nucleotide_match', + 'BLASTP': 'protein_match', + }.get(record.application, 'match') + rec = SeqRecord(Seq("ACTG"), id=record.query) for hit in record.alignments: for hsp in hit.hsps: @@ -67,10 +73,10 @@ if parent_match_end > hsp.query_end: parent_match_end = hsp.query_end + 1 - # The ``protein_match`` feature will hold one or more ``match_part``s + # The ``match`` feature will hold one or more ``match_part``s top_feature = SeqFeature( FeatureLocation(parent_match_start, parent_match_end), - type="protein_match", strand=0, + type=match_type, strand=0, qualifiers=qualifiers ) @@ -87,7 +93,7 @@ if trim: # If trimming, then we start relative to the - # protein_match's start + # match's start match_part_start = parent_match_start + start else: # Otherwise, we have to account for the subject start's location @@ -108,6 +114,7 @@ ) rec.features.append(top_feature) + rec.annotations = {} records.append(rec) return records @@ -252,5 +259,4 @@ args = parser.parse_args() result = blastxml2gff3(**vars(args)) - GFF.write(result, sys.stdout) |
b |
diff -r b6a0e126dbee -r 7342f467507b gff3_rebase.py --- a/gff3_rebase.py Tue Jun 23 12:10:15 2015 -0400 +++ b/gff3_rebase.py Thu Dec 31 13:58:43 2015 -0500 |
[ |
@@ -3,6 +3,7 @@ import logging logging.basicConfig(level=logging.INFO) import argparse +import copy from BCBio import GFF from Bio.SeqFeature import FeatureLocation log = logging.getLogger(__name__) @@ -13,6 +14,70 @@ __email__ = "esr@tamu.edu" +def feature_lambda(feature_list, test, test_kwargs, subfeatures=True): + """Recursively search through features, testing each with a test function, yielding matches. + + GFF3 is a hierachical data structure, so we need to be able to recursively + search through features. E.g. if you're looking for a feature with + ID='bob.42', you can't just do a simple list comprehension with a test + case. You don't know how deeply burried bob.42 will be in the feature tree. This is where feature_lambda steps in. + + :type feature_list: list + :param feature_list: an iterable of features + + :type test: function reference + :param test: a closure with the method signature (feature, **kwargs) where + the kwargs are those passed in the next argument. This + function should return True or False, True if the feature is + to be yielded as part of the main feature_lambda function, or + False if it is to be ignored. This function CAN mutate the + features passed to it (think "apply"). + + :type test_kwargs: dictionary + :param test_kwargs: kwargs to pass to your closure when it is called. + + :type subfeatures: boolean + :param subfeatures: when a feature is matched, should just that feature be + yielded to the caller, or should the entire sub_feature + tree for that feature be included? subfeatures=True is + useful in cases such as searching for a gene feature, + and wanting to know what RBS/Shine_Dalgarno_sequences + are in the sub_feature tree (which can be accomplished + with two feature_lambda calls). subfeatures=False is + useful in cases when you want to process (and possibly + return) the entire feature tree, such as applying a + qualifier to every single feature. + + :rtype: yielded list + :return: Yields a list of matching features. + """ + # Either the top level set of [features] or the subfeature attribute + for feature in feature_list: + if test(feature, **test_kwargs): + if not subfeatures: + feature_copy = copy.deepcopy(feature) + feature_copy.sub_features = [] + yield feature_copy + else: + yield feature + + if hasattr(feature, 'sub_features'): + for x in feature_lambda(feature.sub_features, test, test_kwargs, subfeatures=subfeatures): + yield x + + +def feature_test_qual_value(feature, **kwargs): + """Test qualifier values. + + For every feature, check that at least one value in + feature.quailfiers(kwargs['qualifier']) is in kwargs['attribute_list'] + """ + for attribute_value in feature.qualifiers.get(kwargs['qualifier'], []): + if attribute_value in kwargs['attribute_list']: + return True + return False + + def __get_features(child, interpro=False): child_features = {} for rec in GFF.parse(child): @@ -69,30 +134,35 @@ child_features = __get_features(child, interpro=interpro) for rec in GFF.parse(parent): - # TODO, replace with recursion in case it's matched against a - # non-parent feature. We're cheating a bit here right now... replacement_features = [] - for feature in rec.features: - if feature.id in child_features: - new_subfeatures = child_features[feature.id] - # TODO: update starts - fixed_subfeatures = [] - for x in new_subfeatures: - # Then update the location of the actual feature - __update_feature_location(x, feature, protein2dna) + for feature in feature_lambda( + rec.features, + feature_test_qual_value, + { + 'qualifier': 'ID', + 'attribute_list': child_features.keys(), + }, + subfeatures=False): - if interpro: - for y in ('status', 'Target'): - try: - del x.qualifiers[y] - except: - pass + new_subfeatures = child_features[feature.id] + fixed_subfeatures = [] + for x in new_subfeatures: + # Then update the location of the actual feature + __update_feature_location(x, feature, protein2dna) - fixed_subfeatures.append(x) - replacement_features.extend(fixed_subfeatures) + if interpro: + for y in ('status', 'Target'): + try: + del x.qualifiers[y] + except: + pass + + fixed_subfeatures.append(x) + replacement_features.extend(fixed_subfeatures) # We do this so we don't include the original set of features that we # were rebasing against in our result. rec.features = replacement_features + rec.annotations = {} GFF.write([rec], sys.stdout) |
b |
diff -r b6a0e126dbee -r 7342f467507b jbrowse-fromdir.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jbrowse-fromdir.xml Thu Dec 31 13:58:43 2015 -0500 |
[ |
@@ -0,0 +1,40 @@ +<tool id="jbrowse_to_standalone" name="JBrowse - Data Directory to Standalone" version="0.4"> + <description>upgrades the bare data directory to a full JBrowse instance</description> + <macros> + <import>macros.xml</import> + </macros> + <expand macro="requirements"/> + <expand macro="stdio"/> + <version_command>python jbrowse.py --version</version_command> + <command><![CDATA[ +## Create output directory +mkdir -p $output.files_path && +## Copy in jbrowse +cp -R \${JBROWSE_SOURCE_DIR}/* $output.files_path/ && + +## Copy in data directory +cp -R $input.dataset.extra_files_path/data/ $output.files_path/ && +mv $output.files_path/index.html $output +]]></command> + <inputs> + <param label="JBrowse Data Directory" + name="input" + type="data" + help="Look for datasets with 'JBrowse ... Data Directory' in the name" + format="html" /> + </inputs> + <outputs> + <data format="html" name="output" label="#set $name = $input.name.replace('Data Directory', 'Standalone')# $name"/> + </outputs> + <help><![CDATA[ +Upgrades an existing bare JBrowse "data" directory into a full-fledged JBrowse instance. + +@ATTRIBUTION@ +]]></help> + <tests> + </tests> + <citations> + <citation type="doi">10.1101/gr.094607.109</citation> + </citations> +</tool> + |
b |
diff -r b6a0e126dbee -r 7342f467507b jbrowse.py --- a/jbrowse.py Tue Jun 23 12:10:15 2015 -0400 +++ b/jbrowse.py Thu Dec 31 13:58:43 2015 -0500 |
[ |
b'@@ -1,142 +1,133 @@\n #!/usr/bin/env python\n-from string import Template\n import os\n+import copy\n import argparse\n import subprocess\n import hashlib\n+import struct\n import tempfile\n+import shutil\n import json\n-import yaml\n+from Bio.Data import CodonTable\n+import xml.etree.ElementTree as ET\n import logging\n-logging.basicConfig()\n-log = logging.getLogger(__name__)\n-\n-COLOR_FUNCTION_TEMPLATE = Template("""\n-function(feature, variableName, glyphObject, track) {\n- var score = ${score};\n- ${opacity}\n- return \'rgba(${red}, ${green}, ${blue}, \' + opacity + \')\';\n-}\n-""")\n-\n-BLAST_OPACITY_MATH = """\n-var opacity = 0;\n-if(score == 0.0) {\n- opacity = 1;\n-} else{\n- opacity = (20 - Math.log10(score)) / 180;\n-}\n-"""\n-\n-BREWER_COLOUR_IDX = 0\n-BREWER_COLOUR_SCHEMES = [\n- (228, 26, 28),\n- (55, 126, 184),\n- (77, 175, 74),\n- (152, 78, 163),\n- (255, 127, 0),\n-]\n+from collections import defaultdict\n+logging.basicConfig(level=logging.INFO)\n+log = logging.getLogger(\'jbrowse\')\n \n \n-# score comes from feature._parent.get(\'score\') or feature.get(\'score\')\n-# Opacity math\n+class ColorScaling(object):\n+\n+ COLOR_FUNCTION_TEMPLATE = """\n+ function(feature, variableName, glyphObject, track) {{\n+ var score = {score};\n+ {opacity}\n+ return \'rgba({red}, {green}, {blue}, \' + opacity + \')\';\n+ }}\n+ """\n+\n+ COLOR_FUNCTION_TEMPLATE_QUAL = """\n+ function(feature, variableName, glyphObject, track) {{\n+ var search_up = function self(sf, attr){{\n+ if(sf.get(attr) !== undefined){{\n+ return sf.get(attr);\n+ }}\n+ if(sf.parent() === undefined) {{\n+ return;\n+ }}else{{\n+ return self(sf.parent(), attr);\n+ }}\n+ }};\n \n-TN_TABLE = {\n- \'gff3\': \'--gff\',\n- \'gff\': \'--gff\',\n- \'bed\': \'--bed\',\n- # \'genbank\': \'--gbk\',\n-}\n+ var search_down = function self(sf, attr){{\n+ if(sf.get(attr) !== undefined){{\n+ return sf.get(attr);\n+ }}\n+ if(sf.children() === undefined) {{\n+ return;\n+ }}else{{\n+ var kids = sf.children();\n+ for(var child_idx in kids){{\n+ var x = self(kids[child_idx], attr);\n+ if(x !== undefined){{\n+ return x;\n+ }}\n+ }}\n+ return;\n+ }}\n+ }};\n+\n+ var color = ({user_spec_color} || search_up(feature, \'color\') || search_down(feature, \'color\') || {auto_gen_color});\n+ var score = (search_up(feature, \'score\') || search_down(feature, \'score\'));\n+ {opacity}\n+ var result = /^#?([a-f\\d]{{2}})([a-f\\d]{{2}})([a-f\\d]{{2}})$/i.exec(color);\n+ var red = parseInt(result[1], 16);\n+ var green = parseInt(result[2], 16);\n+ var blue = parseInt(result[3], 16);\n+ if(isNaN(opacity) || opacity < 0){{ opacity = 0; }}\n+ return \'rgba(\' + red + \',\' + green + \',\' + blue + \',\' + opacity + \')\';\n+ }}\n+ """\n \n-INSTALLED_TO = os.path.dirname(os.path.realpath(__file__))\n-\n-\n-class JbrowseConnector(object):\n+ OPACITY_MATH = {\n+ \'linear\': """\n+ var opacity = (score - ({min})) / (({max}) - ({min}));\n+ """,\n+ \'logarithmic\': """\n+ var opacity = (score - ({min})) / (({max}) - ({min}));\n+ opacity = Math.log10(opacity) + Math.log10({max});\n+ """,\n+ \'blast\': """\n+ var opacity = 0;\n+ if(score == 0.0) {\n+ opacity = 1;\n+ } else{\n+ opacity = (20 - Math.log10(score)) / 180;\n+ }\n+ """\n+ }\n \n- def __init__(self, jbrowse, jbrowse_dir, outdir, genome):\n- self.jbrowse = jbrowse\n- self.jbrowse_dir = jbrowse_dir\n- self.outdir = outdir\n- self.genome_path = genome\n+ BREWER_COLOUR_IDX = 0\n+ BREWER_COLOUR_SCHEMES = [\n+ (166, 206, 227),\n+ (31, 120, 180)'..b'tputTrackConfig)\n \n def clone_jbrowse(self, jbrowse_dir, destination):\n+ """Clone a JBrowse directory into a destination directory.\n+ """\n # JBrowse seems to have included some bad symlinks, cp ignores bad symlinks\n # unlike copytree\n- cmd = [\'mkdir\', \'-p\', destination]\n+ cmd = [\'cp\', \'-r\', os.path.join(jbrowse_dir, \'.\'), destination]\n+ log.debug(\' \'.join(cmd))\n subprocess.check_call(cmd)\n- cmd = [\'cp\', \'-r\', jbrowse_dir, destination]\n- subprocess.check_call(cmd)\n- cmd = [\'mkdir\', \'-p\', os.path.join(destination, \'JBrowse-1.11.6\',\n- \'data\', \'raw\')]\n+ cmd = [\'mkdir\', \'-p\', os.path.join(destination, \'data\', \'raw\')]\n+ log.debug(\' \'.join(cmd))\n subprocess.check_call(cmd)\n \n # http://unix.stackexchange.com/a/38691/22785\n # JBrowse releases come with some broken symlinks\n cmd = [\'find\', destination, \'-type\', \'l\', \'-xtype\', \'l\', \'-exec\', \'rm\', "\'{}\'", \'+\']\n+ log.debug(\' \'.join(cmd))\n subprocess.check_call(cmd)\n \n \n if __name__ == \'__main__\':\n parser = argparse.ArgumentParser(description="", epilog="")\n- parser.add_argument(\'genome\', type=file, help=\'Input genome file\')\n- parser.add_argument(\'yaml\', type=file, help=\'Track Configuration\')\n+ parser.add_argument(\'xml\', type=file, help=\'Track Configuration\')\n \n parser.add_argument(\'--jbrowse\', help=\'Folder containing a jbrowse release\')\n parser.add_argument(\'--outdir\', help=\'Output directory\', default=\'out\')\n+ parser.add_argument(\'--standalone\', help=\'Standalone mode includes a copy of JBrowse\', action=\'store_true\')\n args = parser.parse_args()\n \n+ tree = ET.parse(args.xml.name)\n+ root = tree.getroot()\n+\n jc = JbrowseConnector(\n jbrowse=args.jbrowse,\n- jbrowse_dir=os.path.join(args.outdir, \'JBrowse-1.11.6\'),\n outdir=args.outdir,\n- genome=os.path.realpath(args.genome.name),\n+ genomes=[os.path.realpath(x.text) for x in root.findall(\'metadata/genomes/genome\')],\n+ standalone=args.standalone,\n+ gencode=root.find(\'metadata/gencode\').text\n )\n \n- track_data = yaml.load(args.yaml)\n- for track in track_data:\n- path = os.path.realpath(track[\'file\'])\n- extra = track.get(\'options\', {})\n- if \'__unused__\' in extra:\n- del extra[\'__unused__\']\n-\n- for possible_partial_path in (\'bam_index\', \'parent\'):\n- if possible_partial_path in extra:\n- extra[possible_partial_path] = os.path.realpath(\n- extra[possible_partial_path])\n- extra[\'category\'] = track.get(\'category\', \'Default\')\n+ for track in root.findall(\'tracks/track\'):\n+ track_conf = {}\n+ track_conf[\'trackfiles\'] = [\n+ (os.path.realpath(x.attrib[\'path\']), x.attrib[\'ext\'], x.attrib[\'label\'])\n+ for x in track.findall(\'files/trackFile\')\n+ ]\n \n- jc.process_annotations(path, track[\'label\'], track[\'ext\'], **extra)\n-\n- print """\n- <html>\n- <body>\n- <script type="text/javascript">\n- window.location=JBrowse-1.11.6/index.html\n- </script>\n- <a href="JBrowse-1.11.6/index.html">Go to JBrowse</a>\n- <p>Please note that JBrowse functions best on production Galaxy\n- instances. The paste server used in development instances has issues\n- serving the volumes of data regularly involved in JBrowse</p>\n- </body>\n- </html>\n- """\n+ track_conf[\'category\'] = track.attrib[\'cat\']\n+ track_conf[\'format\'] = track.attrib[\'format\']\n+ try:\n+ # Only pertains to gff3 + blastxml. TODO?\n+ track_conf[\'style\'] = {t.tag: t.text for t in track.find(\'options/style\')}\n+ except TypeError, te:\n+ track_conf[\'style\'] = {}\n+ pass\n+ track_conf[\'conf\'] = etree_to_dict(track.find(\'options\'))\n+ jc.process_annotations(track_conf)\n' |
b |
diff -r b6a0e126dbee -r 7342f467507b jbrowse.xml --- a/jbrowse.xml Tue Jun 23 12:10:15 2015 -0400 +++ b/jbrowse.xml Thu Dec 31 13:58:43 2015 -0500 |
[ |
b'@@ -1,4 +1,4 @@\n-<tool id="jbrowse" name="JBrowse" version="0.3">\n+<tool id="jbrowse" name="JBrowse" version="0.4">\n <description>genome browser</description>\n <macros>\n <import>macros.xml</import>\n@@ -6,106 +6,317 @@\n <expand macro="requirements"/>\n <expand macro="stdio"/>\n <version_command>python jbrowse.py --version</version_command>\n- <command interpreter="python"><![CDATA[jbrowse.py\n-$positional_1\n-$trackYaml\n+ <command><![CDATA[\n+mkdir -p $output.files_path &&\n+## Copy the XML file into the directory, mostly for debugging\n+## but nice if users want to reproduce locally\n+cp $trackxml $output.files_path/galaxy.xml &&\n+\n+## Once that\'s done, we run the python script to handle the real work\n+python $__tool_directory__/jbrowse.py\n+$trackxml\n \n --jbrowse \\${JBROWSE_SOURCE_DIR}\n---outdir $default.files_path\n-> $default]]></command>\n+#if str($standalone) == "Complete":\n+ --standalone\n+#end if\n+--outdir $output.files_path;\n+\n+#if str($standalone) == "Complete":\n+ mv $output.files_path/index.html $output;\n+#else:\n+ mv $dummyIndex $output;\n+#end if\n+\n+\n+## Ugly testing hack since I cannot get <extra_files> to test the files I want to test. Hmph.\n+#if str($uglyTestingHack) == "enabled":\n+ mv $trackxml $output\n+#end if\n+]]></command>\n <configfiles>\n- <configfile name="trackYaml">\n----\n-#for $track in $data_tracks:\n- -\n- file: ${track.data_format.annotation}\n- ext: ${track.data_format.annotation.ext}\n- label: "${track.annotation_label}"\n- category: "${track.category}"\n- options:\n- __unused__: "Not used...just to ensure options has at least one key"\n- #if str($track.data_format.data_format_select) == "wiggle":\n- type: ${track.data_format.xyplot}\n- variance_band: ${track.data_format.var_band}\n- #if str($track.data_format.scaling.scale_select) == "auto_local":\n- autoscale: local\n- #else if str($track.data_format.scaling.scale_select) == "auto_global":\n- autoscale: global\n- #else:\n- min: ${track.data_format.scaling.minimum}\n- max: ${track.data_format.scaling.maximum}\n- #end if\n- #else if str($track.data_format.data_format_select) == "pileup":\n- auto_snp: ${track.data_format.auto_snp}\n- bam_index: ${track.data_format.annotation.metadata.bam_index}\n- #else if str($track.data_format.data_format_select) == "blast":\n- parent: ${track.data_format.blast_parent}\n- protein: ${track.data_format.is_protein}\n- min_gap: ${track.data_format.min_gap}\n- match: true\n- #else if str($track.data_format.data_format_select) == "gene_calls":\n- match: ${track.data_format.match_part}\n- #end if\n-#end for\n+ <configfile name="dummyIndex">\n+ <![CDATA[\n+ <html>\n+ <head>\n+ </head>\n+ <body>\n+ <h1>JBrowse Data Directory</h1>\n+ <p>\n+ Hi! This is not a full JBrowse instance. JBrowse v0.4(+?)\n+ started shipping with the ability to produce just the\n+ "data" directory from a JBrowse instance, rather than a\n+ complete, standalone instance. This was intended to be used\n+ with the in-development Apollo integration, but may have other\n+ uses as well.\n+ </p>\n+ <p>\n+ <u>This is not usable on its own</u>. The output dataset may be\n+ used with Apollo, or may be passed through the "JBrowse -\n+ Convert to Standalone" tool in Galaxy to "upgrade" to a full\n+ JBrowse instance.\n+ </p>\n+ </body>\n+ </html>\n+ ]]>\n+ </configfile>\n+ <configfile name="trackxml"><![CDATA[<?xml version="1.0"?>\n+<root>\n+ <metadata>\n+ <gencode>$gencode</gencode>\n+ <genomes>\n+ #for $genome in $genomes:\n+ <genome>$genome</genome>\n+ #end for\n+ </genomes>\n+ </metadata>\n+ <tracks>\n+ '..b'here are no other configuration options exposed for bam\n+files. If you find JBrowse options you wish to see exposed, please let\n+`me <mailto:esr+jig@tamu.edu>`__ know.\n+\n+BlastXML\n+~~~~~~~~\n+\n+.. image:: blast.png\n+\n+JiG now supports both blastn and blastp datasets. JiG internally uses a\n+blastXML to gapped GFF3 tool to convert your blastxml datasets into a\n+format amenable to visualization in JBrowse. This tool is also\n+available separately from the IUC on the toolshed.\n+\n+**Minimum Gap Size** reflects how long a gap must be before it becomes a\n+real gap in the processed gff3 file. In the picture above, various sizes\n+of gaps can be seen. If the minimum gap size was set much higher, say\n+100nt, many of the smaller gaps would disappear, and the features on\n+both sides would be merged into one, longer feature. This setting is\n+inversely proportional to runtime and output file size. *Do not set this\n+to a low value for large datasets*. By setting this number lower, you\n+will have extremely large outputs and extremely long runtimes. The\n+default was configured based off of the author\'s experience, but the\n+author only works on small viruses. It is *strongly* recommended that\n+you filter your blast results before display, e.g. picking out the top\n+10 hits or so.\n+\n+**Protein blast search** option merely informs underlying tools that\n+they should adjust feature locations by 3x.\n+\n+Styling Options\n+^^^^^^^^^^^^^^^\n+\n+Please see the styling options for GFF3 datasets, they are identical.\n+\n+Feature Score Scaling & Coloring Options\n+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n+\n+Please see the score scaling and colouring options for GFF3 datasets,\n+they are identical. Remember to set your score scaling to "blast" method\n+if you do use it.\n+\n+Bigwig XY\n+~~~~~~~~~\n+\n+.. image:: bigwig.png\n+\n+**XYPlot**\n+\n+BigWig tracks can be displayed as a "density" plot which is continuous\n+line which varies in colour, or as an "XYplot." XYplots are preferable\n+for users to visually identify specific features in a bigwig track,\n+however density tracks are more visually compact.\n+\n+**Variance Band** is an option available to XYPlots, and can be seen in\n+the third and fourth tracks in the above picture. This overlays a mean\n+line, and 1 and 2 standard deviation areas.\n+\n+**Track Scaling** is different from colour scaling, instead it\n+configures how the track behaves inside of JBrowse. **Autoscaling\n+globally** means that JBrowse will determine the minimum and maximum for\n+the track, and fix the bounds of the viewport to that. E.g. if your\n+track ranges from 1-1000, and the region you\'re currently zoomed to only\n+goes from 0-50, then the viewport range will still show 1-1000. This is\n+good for global genomic context. However you may wish to consider\n+**autoscaling locally** instead. In the example of a region which varies\n+from 0-50, autoscaling locally would cause the individual track\'s\n+viewport to re-adjust and show just the 0-50 region. If neither of these\n+options are palatable, you may manually hardcode the minimum and\n+maximums for the track to scale to.\n+\n+Colour Options\n+^^^^^^^^^^^^^^\n+\n+BigWig tracks have two colours in JBrowse, a positive and a negative\n+colour.\n+\n+As always you may manually choose a colour, or let JiG choose for you.\n+\n+One of the more interesting options is the **Bicolor pivot**. This\n+option allows you to control the point at which JBrowse switches from\n+the positive colour to the negative. In the above graphic, you can see\n+this has been configured to "mean" for the first two (orange and blue)\n+tracks.\n+\n+VCFs/SNPs\n+~~~~~~~~~\n+\n+These tracks do not support any special configuration.\n+\n+Known Issues\n+------------\n+\n+- More than 30 landmark features cannot be listed in the manual\n+ selector.\n+- Non GFF3 likely has issue with automatically determined min/max\n+ scores. Manually specify minimum and maximum score attributes, or do\n+ not use varied colours based on scores to avoid this issue.\n+\n \n @ATTRIBUTION@\n ]]></help>\n' |
b |
diff -r b6a0e126dbee -r 7342f467507b macros.xml --- a/macros.xml Tue Jun 23 12:10:15 2015 -0400 +++ b/macros.xml Thu Dec 31 13:58:43 2015 -0500 |
[ |
b'@@ -2,11 +2,13 @@\n <macros>\n <xml name="requirements">\n <requirements>\n- <requirement type="package" version="1.11.6">jbrowse</requirement>\n+ <requirement type="package" version="1.12.0">jbrowse</requirement>\n+ <requirement type="package" version="1.12.0">bundle_jbrowse</requirement>\n <requirement type="package" version="2.7">python</requirement>\n- <requirement type="package" version="5.18">perl</requirement>\n+ <requirement type="package" version="5.18.1">perl</requirement>\n+ <requirement type="package" version="1.66">biopython</requirement>\n+ <requirement type="package" version="0.6.2">bcbiogff</requirement>\n <requirement type="package" version="1.2">samtools</requirement>\n- <requirement type="package" version="1.0">bundle_jbrowse</requirement>\n <requirement type="package" version="3.11">pyyaml</requirement>\n <yield/>\n </requirements>\n@@ -23,7 +25,203 @@\n <token name="@ATTRIBUTION@"><![CDATA[\n **Attribution**\n \n-This Galaxy tool relies on the JBrowse, maintained by the GMOD Community\n+This Galaxy tool relies on the JBrowse, maintained by the GMOD Community. The Galaxy wrapper is developed by Eric Rasche\n ]]>\n </token>\n+ <xml name="auto_manual_tk"\n+ token_cond_label="Color"\n+ token_cond_name="color"\n+ token_select_label="Color Specification"\n+ token_select_name="color_select"\n+ token_automatic_label="Automatically selected"\n+ token_manual_label="Manual Color Selection">\n+ <conditional name="@COND_NAME@" label="@COND_LABEL@">\n+ <param type="select" label="@SELECT_LABEL@" name="@SELECT_NAME@">\n+ <option value="automatic" selected="true">@AUTOMATIC_LABEL@</option>\n+ <option value="manual">@MANUAL_LABEL@</option>\n+ </param>\n+ <when value="automatic">\n+ </when>\n+ <when value="manual">\n+ <yield />\n+ </when>\n+ </conditional>\n+ </xml>\n+\n+ <xml name="jb_color"\n+ token_label="JBrowse style.color"\n+ token_name="style_color"\n+ token_value="goldenrod"\n+ token_help="Basic color of features. Most glyphs interpret this as the fill color of the rectangle they draw. Color syntax is the same as that used for CSS"\n+ >\n+ <param label="@LABEL@" type="color" name="@NAME@" value="@VALUE@" help="@HELP@">\n+ <sanitizer>\n+ <valid initial="string.letters,string.digits">\n+ <add value="#" />\n+ </valid>\n+ </sanitizer>\n+ </param>\n+ </xml>\n+\n+ <xml name="auto_color"\n+ token_cond_label="Color"\n+ token_cond_name="color"\n+ token_select_label="Color Selection"\n+ token_select_name="color_select"\n+ token_automatic_label="Automatically selected"\n+ token_manual_label="Manual Color Selection">\n+ <expand macro="auto_manual_tk"\n+ cond_label="@COND_LABEL@"\n+ cond_name="@COND_NAME@"\n+ select_label="@SELECT_LABEL@"\n+ select_name="@SELECT_NAME@"\n+ automatic_label="@AUTOMATIC_LABEL@"\n+ manual_label="@MANUAL_LABEL@">\n+ <expand macro="jb_color" />\n+ <yield />\n+ </expand>\n+ </xml>\n+\n+\n+\n+ <xml name="brewer_scheme">\n+ <param type="select" label="Brewer color Scheme" name="brewer_scheme">\n+ <option value="BrBg">BrBg: Brown - Blue Green</option>\n+ <option value="PiYg">PiYg: Pink - Yellow Green</option>\n+ <option value="PRGn">PRGn: Purple Red - Green</option>\n+ <option value="PuOr">PuOr: Purple - Orange</option>\n+ <option value="RdBu" selected="true">RdBu: Red - Blue</option>\n+ <option value="RdGy">RdGy: Red - Gray</option>\n+ <option value="RdYlBu">RdYlBu: Red - Yellow - Blue</option>\n+ <option value="RdYlGn">RdYlBu: Red - Yellow - Green</option>\n+ <option value="Spectral">Spectral</option>\n+ </param>\n+ </xml>\n+ <xml name="color_selection_minmax">\n+ <section name="jbcolor" title="JBrowse Color Options [Advanced]" expanded="false">\n+ <!-- Abuse auto/manual'..b's sense to request a logarithmic scaling of the color values. Logarithmic is indeed the default for blast. However other analysis methods may produce scores on ranges such as [0, 100] where a linear scale would be more appropriate for color distribution.">\n+ <option value="linear" selected="@SCALING_LIN_SELECT@" >Linear scaling</option>\n+ <option value="logarithmic" selected="" >Logarithmic scaling</option>\n+ <option value="blast" selected="@SCALING_LOG_SELECT@" >Blast scaling</option>\n+ </param>\n+\n+ <!-- Scaling Bounds -->\n+ <conditional name="score_scales" label="Minimum/Maximum values for track scores">\n+ <param type="select" label="How should minimum and maximum values be determined for the scores of the features" name="scale_select">\n+ <option value="automatic" selected="true">Automatically determined</option>\n+ <option value="manual">Manually specify minimum and maximum expected scores for the feature track</option>\n+ </param>\n+ <when value="automatic">\n+ </when>\n+ <when value="manual">\n+ <param label="Minimum expected score" name="minimum" type="integer" value="0" />\n+ <param label="Maximum expected score" name="maximum" type="integer" value="100" />\n+ </when>\n+ </conditional>\n+\n+ <!-- Scale color -->\n+ <conditional name="color_scheme" label="Color Scheme for scored features">\n+ <param type="select" label="JBrowse style.color function\'s color scheme for scored values" name="score_scheme">\n+ <option value="opacity">Opacity (high scores = 1.0 opacity)</option>\n+ <!--<option value="brewer">Brewer Color Schemes</option>-->\n+ </param>\n+ <when value="opacity">\n+ <!-- Single color selection mode -->\n+ <expand macro="auto_color" />\n+ </when>\n+ <!--<when value="brewer">-->\n+ <!--[> Brewer continuum selection <]-->\n+ <!--<expand macro="brewer_scheme" />-->\n+ <!--</when>-->\n+ </conditional>\n+ </when>\n+ </conditional>\n+ </section>\n+ </xml>\n+ <xml name="track_styling"\n+ token_classname="feature"\n+ token_label="name,id"\n+ token_description="note,description"\n+ token_height="100px">\n+ <section name="jbstyle" title="JBrowse Styling Options [Advanced]" expanded="false">\n+ <param label="JBrowse style.className" type="text"\n+ name="style_classname"\n+ value="@CLASSNAME@"\n+ help="Set CSS style.className property"/>\n+ <param label="JBrowse style.label"\n+ type="text"\n+ name="style_label"\n+ value="@LABEL@"\n+ help="Comma-separated list of case-insensitive feature tags to use for showing the feature\'s label. The first one found will be used. Default \'name,id\'" />\n+ <param label="JBrowse style.description"\n+ type="text"\n+ name="style_description"\n+ value="@DESCRIPTION@"\n+ help="Comma-separated list of case-insensitive feature tags to check for the feature\'s long description. The first one found will be used."/>\n+ <param label="JBrowse style.height"\n+ type="text"\n+ name="style_height"\n+ value="@HEIGHT@"\n+ help="Height in pixels of glyphs. Default value varies from glyph to glyph. Note that the \'compact\' displayMode uses style->height * 0.35 so changing style height can adjust the compact visualization."/>\n+ </section>\n+ </xml>\n+\n+ <xml name="input_conditional" token_label="Track Data" token_format="data">\n+ <param label="@LABEL@" format="@FORMAT@" name="annotation" type="data" multiple="True"/>\n+ </xml>\n </macros>\n' |
b |
diff -r b6a0e126dbee -r 7342f467507b readme.rst --- a/readme.rst Tue Jun 23 12:10:15 2015 -0400 +++ b/readme.rst Thu Dec 31 13:58:43 2015 -0500 |
b |
@@ -6,26 +6,31 @@ Thus, it makes an ideal fit with Galaxy, especially for use as a workflow summary. E.g. annotate a genome, then visualise all of the -associated datasets as an interactive HTML page. +associated datasets as an interactive HTML page. This tool MUST be whitelisted +(or ``sanitize_all_html=False``) to function correctly. Installation ============ -It is recommended to install this wrapper via the Galaxy Tool Shed +It is recommended to install this wrapper via the Galaxy Tool Shed. Running Locally =============== The Galaxy tool interface writes out a yaml file which is then used to generate the visualizations. An example used during development/testing can be seen in -`test.yml`. The format is in no way rigorously defined and is likely to change -at any time. +`test-data/*/test.xml`. The format is in no way rigorously defined and is +likely to change at any time! Beware. ;) History ======= -- 0.1 Initial public release -- 0.2 Added support for BAM, Blast, VCF +- 0.4 Support for dataset collections and customisation of tracks including + labelling, colours, styling. Added support for genetic code selection. + Fixed package installation recipe issues. +- 0.3 Added support for BigWig, etc. +- 0.2 Added support for BAM, Blast, VCF. +- 0.1 Initial public release. Wrapper License (MIT/BSD Style) =============================== |
b |
diff -r b6a0e126dbee -r 7342f467507b static/images/bam.png |
b |
Binary file static/images/bam.png has changed |
b |
diff -r b6a0e126dbee -r 7342f467507b static/images/bigwig.png |
b |
Binary file static/images/bigwig.png has changed |
b |
diff -r b6a0e126dbee -r 7342f467507b static/images/blast.png |
b |
Binary file static/images/blast.png has changed |
b |
diff -r b6a0e126dbee -r 7342f467507b static/images/opacity.png |
b |
Binary file static/images/opacity.png has changed |
b |
diff -r b6a0e126dbee -r 7342f467507b static/images/sections.png |
b |
Binary file static/images/sections.png has changed |
b |
diff -r b6a0e126dbee -r 7342f467507b static/images/styling.png |
b |
Binary file static/images/styling.png has changed |
b |
diff -r b6a0e126dbee -r 7342f467507b test-data/154.bam |
b |
Binary file test-data/154.bam has changed |
b |
diff -r b6a0e126dbee -r 7342f467507b test-data/154.bam.bai |
b |
Binary file test-data/154.bam.bai has changed |
b |
diff -r b6a0e126dbee -r 7342f467507b test-data/154.bw |
b |
Binary file test-data/154.bw has changed |
b |
diff -r b6a0e126dbee -r 7342f467507b test-data/bam/154.bam |
b |
Binary file test-data/bam/154.bam has changed |
b |
diff -r b6a0e126dbee -r 7342f467507b test-data/bam/154.bam.bai |
b |
Binary file test-data/bam/154.bam.bai has changed |
b |
diff -r b6a0e126dbee -r 7342f467507b test-data/bam/test.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/bam/test.xml Thu Dec 31 13:58:43 2015 -0500 |
b |
@@ -0,0 +1,37 @@ +<?xml version="1.0"?> +<root> + <metadata> + <gencode>11</gencode> + <genomes> + <genome>test-data/merlin.fa</genome> + </genomes> + </metadata> + <tracks> + <track cat="Default" format="pileup"> + <files> + <trackFile path="test-data/bam/154.bam" ext="bam" label="Basic"/> + </files> + <options> + <pileup> + <auto_snp>false</auto_snp> + <bam_indices> + <bam_index>test-data/bam/154.bam.bai</bam_index> + </bam_indices> + </pileup> + </options> + </track> + <track cat="Default" format="pileup"> + <files> + <trackFile path="test-data/bam/154.bam" ext="bam" label="Auto-SNP"/> + </files> + <options> + <pileup> + <auto_snp>true</auto_snp> + <bam_indices> + <bam_index>test-data/bam/154.bam.bai</bam_index> + </bam_indices> + </pileup> + </options> + </track> + </tracks> +</root> |
b |
diff -r b6a0e126dbee -r 7342f467507b test-data/blast.xml --- a/test-data/blast.xml Tue Jun 23 12:10:15 2015 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 |
[ |
b'@@ -1,4514 +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>blastp</BlastOutput_program>\n- <BlastOutput_version>BLASTP 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>/usr/local/syncdb/community/nr/nr</BlastOutput_db>\n- <BlastOutput_query-ID>Query_1</BlastOutput_query-ID>\n- <BlastOutput_query-def>Merlin_1</BlastOutput_query-def>\n- <BlastOutput_query-len>229</BlastOutput_query-len>\n- <BlastOutput_param>\n- <Parameters>\n- <Parameters_matrix>BLOSUM62</Parameters_matrix>\n- <Parameters_expect>0.001</Parameters_expect>\n- <Parameters_gap-open>11</Parameters_gap-open>\n- <Parameters_gap-extend>1</Parameters_gap-extend>\n- <Parameters_filter>F</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_1</Iteration_query-def>\n- <Iteration_query-len>229</Iteration_query-len>\n-<Iteration_hits>\n-<Hit>\n- <Hit_num>1</Hit_num>\n- <Hit_id>gi|422934611|ref|YP_007004572.1|</Hit_id>\n- <Hit_def>hypothetical protein [Enterobacteria phage ime09] >gi|339791394|gb|AEK12451.1| hypothetical protein [Enterobacteria phage ime09]</Hit_def>\n- <Hit_accession>YP_007004572</Hit_accession>\n- <Hit_len>685</Hit_len>\n- <Hit_hsps>\n- <Hsp>\n- <Hsp_num>1</Hsp_num>\n- <Hsp_bit-score>197.593</Hsp_bit-score>\n- <Hsp_score>501</Hsp_score>\n- <Hsp_evalue>3.74548e-55</Hsp_evalue>\n- <Hsp_query-from>2</Hsp_query-from>\n- <Hsp_query-to>229</Hsp_query-to>\n- <Hsp_hit-from>474</Hsp_hit-from>\n- <Hsp_hit-to>684</Hsp_hit-to>\n- <Hsp_query-frame>0</Hsp_query-frame>\n- <Hsp_hit-frame>0</Hsp_hit-frame>\n- <Hsp_identity>106</Hsp_identity>\n- <Hsp_positive>154</Hsp_positive>\n- <Hsp_gaps>21</Hsp_gaps>\n- <Hsp_align-len>230</Hsp_align-len>\n- <Hsp_qseq>LDKGTLLYRGQKLDLPTFEHNAENKLFYFRNYVSTSLKPLIFGEFGRMFMALDDDTTIYTAETPDDYNRFANPEDIIDIGATQKDSFDDNNNDGTSINIGKQVNLGFVISGAENVRVIVPGSLTEYPEEAEVILPRGTLLKINKITTQVDKRS--NKFMVEGSIVPPSEQIDESVEIYDGDLFMETGEVVKLSGFMQFVNESAYDEEQNQMAAEILSGFLDIDDMPRKFR</Hsp_qseq>\n- <Hsp_hseq>LPPGTTLYRGQEVTFKTLRHNIENKMFYFKNFVSTSLKPNIFGEHGKNYMALDDSGAVFSGEGEGS----VDAEDLMHMGSHSAYANED-----------AETSVGMVIKGAERIKVIVPGHLSGFPSEAEVILPRGILLKINKVSTYMMKETAYNKYLIEGTIVPPSEQLEESV--YDGDHLMETGEVRPMAGFNQFLVEES--KEEENEVSQILASLVNINGMSKKFK</Hsp_hseq>\n- <Hsp_midline>L GT LYRGQ++ T HN ENK+FYF+N+VSTSLKP IFGE G+ +MALDD +++ E + ED++ +G+ + +D + ++G VI GAE ++VIVPG L+ +P EAEVILPRG LLKINK++T + K + NK+++EG+IVPPSEQ++ESV YDGD METGEV ++GF QF+ E + +E+ ++IL+ ++I+ M +KF+</Hsp_midline>\n- </Hsp>\n- </Hit_hsps>\n-</Hit>\n-<Hit>\n- <Hit_num>2</Hit_num>\n- <Hit_id>gi|330858714|ref|YP_004415089.1|</Hit_id>\n- <Hit_def>hypothetical protein Shfl2p198 [Shigella phage Shfl2] >gi|327397648|gb|AEA73150.1| hypothetical protein Shfl2p198 [Shigella phage Shfl2]</Hit_def>\n- <Hit_accession>YP_004415089</Hit_accession>\n- <Hit_len>685</Hit_len>\n- <Hit_hsps>\n- <Hsp>\n- <Hsp_num>1</Hsp_num>\n- <Hsp_bit-score>197.593</Hsp_bit-score>\n- <Hsp_score>501</Hsp_score>\n- <Hsp_evalue>4.31042e-55</Hsp_evalue>\n- <Hsp_query-from>2</Hsp_query-from>\n- <Hsp_query-to>229</Hsp_query-to>\n- <Hsp_hit-from>474</Hsp_hit-from>\n- <Hsp_hit-to>684</Hsp_hit-to>\n- <Hsp_query-frame>0</Hsp_query-frame>\n- <Hsp_hit-frame>0</Hsp_hit-frame>\n- <Hsp_identity>106</Hsp_identity>\n- <Hsp_positive>154</Hsp_positive>\n- <Hsp_gaps>21</Hsp_gap'..b'e>0</Hsp_hit-frame>\n- <Hsp_identity>150</Hsp_identity>\n- <Hsp_positive>268</Hsp_positive>\n- <Hsp_gaps>53</Hsp_gaps>\n- <Hsp_align-len>553</Hsp_align-len>\n- <Hsp_qseq>DVQSANELVAEVIEEKGNNL------IDSVDNVAEGTELAAEASERTTESIKTLTGVASTISDKLSKLASMLESKVQA--VEQKVQESGASASTGLSVIEDKLPDPDEPESPGLPERILPPLDDNNNLPDEDFFPPVPQEPENNKKDQKKDDKKPTDMLGD-LLKTTKGGFKATISITDKISSMLFKYTVTALAEAAKMAAMLFALVLGIDLLRIHFKYWTDKFMSNFDEFSAEAGEWGGLLQSIFGMLGDIKKFWEAGDWSGLAVAIVKGLADVIYNLSEIMSLGISKISASILDALGFENAATTIRGSALEGFQERTGNSLSEDDQKALAKYQSKRIEEGPGIIDKAGEFKTRAFDWVLGRENKIDSTQASDRDQETQNLKAMAPEKR---EETLIKQNEARAAVQRLEKYIGDVDPENPTNMQSLEKAYNSAKKSISDSAISDQPA---------TKKELDKRFQRVESKYQKLKEDNTPKPAA---PATSEDNQRVQNIQKAENAKE--QSKKSTGDMNVANTQVNNV-NNSKTIHQVQTVTATPAPGV</Hsp_qseq>\n- <Hsp_hseq>DSLAAQELIAETVEQGNNELRQIKANTASLHDTAAATELGAESTEMSNTILREISETGKQTFSKLSEFAERLKGSFSADDVEQTPIRAASSSDQAIQIINEENPEPENPLVG-----YLRTISEDIKFLRENKNEPSDPKDPDVVPDDKDDLKTMIDRIGDQIVKSVDSGFKRTVNIADSISSTLFKYTITAALNFAKMAALVLSLIIAFDVLSRHFSHWTQMFQEQYAEFKETLGSFGTPFENLTGIVTDLVNYFKSDEYLKMFVRLAEGAADQMIYIVNMMMVGLAKLGAAILRALGADDKADTLEASAISVATKTVGYTPSEEEEATIGRVRKRQAQE---------EAEQSEASWWEKKKREWDG-----KPIETDEEKAVRERKKSIAENTTAEQFGKHDALSQKIQHVGVTAEKNETSNELLGKHRELLEKRASDVEQAKQSGEITTESYKQLKVEIEKQREFLDAHEQKL-----LKPKASIKPAPEPEIGVVGSIAKEEKRVEASQTAKQEAASNY-NTNANIVKNNNQTLVQAPR-TSSPGPGI</Hsp_hseq>\n- <Hsp_midline>D +A EL+AE +E+ N L S+ + A TEL AE++E + ++ ++ KLS+ A L+ A VEQ + +S+ + +I ++ P+P+ P L + ++ E+ P + + D K D K D +GD ++K+ GFK T++I D ISS LFKYT+TA AKMAA++ +L++ D+L HF +WT F + EF G +G +++ G++ D+ ++++ ++ + V + +G AD + + +M +G++K+ A+IL ALG ++ A T+ SA+ + G + SE+++ + + + ++ +E E + W ++ + D + ET KA+ K+ E T +Q A+ + +++G +N T+ + L K +K SD + Q K E++K+ + +++ QKL KP A PA + V +I K E E Q+ K N NT N V NN++T+ Q T++P PG+</Hsp_midline>\n- </Hsp>\n- </Hit_hsps>\n-</Hit>\n-<Hit>\n- <Hit_num>43</Hit_num>\n- <Hit_id>gi|398313739|emb|CCI89086.1|</Hit_id>\n- <Hit_def>phage baseplate hub [Yersinia phage phiD1]</Hit_def>\n- <Hit_accession>CCI89086</Hit_accession>\n- <Hit_len>191</Hit_len>\n- <Hit_hsps>\n- <Hsp>\n- <Hsp_num>1</Hsp_num>\n- <Hsp_bit-score>79.7221</Hsp_bit-score>\n- <Hsp_score>195</Hsp_score>\n- <Hsp_evalue>1.49556e-13</Hsp_evalue>\n- <Hsp_query-from>2</Hsp_query-from>\n- <Hsp_query-to>189</Hsp_query-to>\n- <Hsp_hit-from>3</Hsp_hit-from>\n- <Hsp_hit-to>187</Hsp_hit-to>\n- <Hsp_query-frame>0</Hsp_query-frame>\n- <Hsp_hit-frame>0</Hsp_hit-frame>\n- <Hsp_identity>69</Hsp_identity>\n- <Hsp_positive>102</Hsp_positive>\n- <Hsp_gaps>17</Hsp_gaps>\n- <Hsp_align-len>195</Hsp_align-len>\n- <Hsp_qseq>KSENMSTMRRRKVIADSKGERDAASTASDQVDSLELIGLKLDDVQSANELVAEVIEEKGNNLIDSVDNV-------AEGTELAAEASERTTESIKTLTGVASTISDKLSKLASMLESKVQAVEQKVQESGASASTGLSVIEDKLPDPDEPESPGLPERILPPLDDNNNLPDEDFFPPVPQEPENNKKDQKKDDKK</Hsp_qseq>\n- <Hsp_hseq>KPQEMQTMRR-KVISDNKPTQEAAKSASNTLSGLNDISTKLDDTQAASELIAQTVEEKSNEIVGAIGNVESAVSDTTAGSELIAETVEIGNNINKE---IGESLGSKLDKLTSLLEQKIQTA--GIQQTGTXLATVESAIPVKVVEDDTDRXXVLXYRXLKQLIMILTLI---FSLPLSQLSQ-SKNHQKKNRKK</Hsp_hseq>\n- <Hsp_midline>K + M TMRR KVI+D+K ++AA +AS+ + L I KLDD Q+A+EL+A+ +EEK N ++ ++ NV G+EL AE E K + ++ KL KL S+LE K+Q +Q++G +T S I K+ + D L R L L L F P+ Q + +K QKK+ KK</Hsp_midline>\n- </Hsp>\n- </Hit_hsps>\n-</Hit>\n-</Iteration_hits>\n- <Iteration_stat>\n- <Statistics>\n- <Statistics_db-num>48094830</Statistics_db-num>\n- <Statistics_db-len>17186091396</Statistics_db-len>\n- <Statistics_hsp-len>153</Statistics_hsp-len>\n- <Statistics_eff-space>4157067357738</Statistics_eff-space>\n- <Statistics_kappa>0.041</Statistics_kappa>\n- <Statistics_lambda>0.267</Statistics_lambda>\n- <Statistics_entropy>0.14</Statistics_entropy>\n- </Statistics>\n- </Iteration_stat>\n-</Iteration>\n-</BlastOutput_iterations>\n-</BlastOutput>\n-\n' |
b |
diff -r b6a0e126dbee -r 7342f467507b test-data/blastxml/blast-gene1.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/blastxml/blast-gene1.xml Thu Dec 31 13:58:43 2015 -0500 |
[ |
@@ -0,0 +1,126 @@ +<?xml version="1.0"?> +<!DOCTYPE BlastOutput PUBLIC "-//NCBI//NCBI BlastOutput/EN" "http://www.ncbi.nlm.nih.gov/dtd/NCBI_BlastOutput.dtd"> +<BlastOutput> + <BlastOutput_program>blastp</BlastOutput_program> + <BlastOutput_version>BLASTP 2.2.28+</BlastOutput_version> + <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> + <BlastOutput_db>/usr/local/syncdb/community/nr/nr</BlastOutput_db> + <BlastOutput_query-ID>Query_1</BlastOutput_query-ID> + <BlastOutput_query-def>Merlin_1</BlastOutput_query-def> + <BlastOutput_query-len>229</BlastOutput_query-len> + <BlastOutput_param> + <Parameters> + <Parameters_matrix>BLOSUM62</Parameters_matrix> + <Parameters_expect>0.001</Parameters_expect> + <Parameters_gap-open>11</Parameters_gap-open> + <Parameters_gap-extend>1</Parameters_gap-extend> + <Parameters_filter>F</Parameters_filter> + </Parameters> + </BlastOutput_param> +<BlastOutput_iterations> +<Iteration> + <Iteration_iter-num>1</Iteration_iter-num> + <Iteration_query-ID>Query_1</Iteration_query-ID> + <Iteration_query-def>Merlin_1</Iteration_query-def> + <Iteration_query-len>229</Iteration_query-len> +<Iteration_hits> +<Hit> + <Hit_num>1</Hit_num> + <Hit_id>gi|422934611|ref|YP_007004572.1|</Hit_id> + <Hit_def>hypothetical protein [Enterobacteria phage ime09] >gi|339791394|gb|AEK12451.1| hypothetical protein [Enterobacteria phage ime09]</Hit_def> + <Hit_accession>YP_007004572</Hit_accession> + <Hit_len>685</Hit_len> + <Hit_hsps> + <Hsp> + <Hsp_num>1</Hsp_num> + <Hsp_bit-score>197.593</Hsp_bit-score> + <Hsp_score>501</Hsp_score> + <Hsp_evalue>3.74548e-55</Hsp_evalue> + <Hsp_query-from>2</Hsp_query-from> + <Hsp_query-to>229</Hsp_query-to> + <Hsp_hit-from>474</Hsp_hit-from> + <Hsp_hit-to>684</Hsp_hit-to> + <Hsp_query-frame>0</Hsp_query-frame> + <Hsp_hit-frame>0</Hsp_hit-frame> + <Hsp_identity>106</Hsp_identity> + <Hsp_positive>154</Hsp_positive> + <Hsp_gaps>21</Hsp_gaps> + <Hsp_align-len>230</Hsp_align-len> + <Hsp_qseq>LDKGTLLYRGQKLDLPTFEHNAENKLFYFRNYVSTSLKPLIFGEFGRMFMALDDDTTIYTAETPDDYNRFANPEDIIDIGATQKDSFDDNNNDGTSINIGKQVNLGFVISGAENVRVIVPGSLTEYPEEAEVILPRGTLLKINKITTQVDKRS--NKFMVEGSIVPPSEQIDESVEIYDGDLFMETGEVVKLSGFMQFVNESAYDEEQNQMAAEILSGFLDIDDMPRKFR</Hsp_qseq> + <Hsp_hseq>LPPGTTLYRGQEVTFKTLRHNIENKMFYFKNFVSTSLKPNIFGEHGKNYMALDDSGAVFSGEGEGS----VDAEDLMHMGSHSAYANED-----------AETSVGMVIKGAERIKVIVPGHLSGFPSEAEVILPRGILLKINKVSTYMMKETAYNKYLIEGTIVPPSEQLEESV--YDGDHLMETGEVRPMAGFNQFLVEES--KEEENEVSQILASLVNINGMSKKFK</Hsp_hseq> + <Hsp_midline>L GT LYRGQ++ T HN ENK+FYF+N+VSTSLKP IFGE G+ +MALDD +++ E + ED++ +G+ + +D + ++G VI GAE ++VIVPG L+ +P EAEVILPRG LLKINK++T + K + NK+++EG+IVPPSEQ++ESV YDGD METGEV ++GF QF+ E + +E+ ++IL+ ++I+ M +KF+</Hsp_midline> + </Hsp> + </Hit_hsps> +</Hit> +<Hit> + <Hit_num>2</Hit_num> + <Hit_id>gi|330858714|ref|YP_004415089.1|</Hit_id> + <Hit_def>hypothetical protein Shfl2p198 [Shigella phage Shfl2] >gi|327397648|gb|AEA73150.1| hypothetical protein Shfl2p198 [Shigella phage Shfl2]</Hit_def> + <Hit_accession>YP_004415089</Hit_accession> + <Hit_len>685</Hit_len> + <Hit_hsps> + <Hsp> + <Hsp_num>1</Hsp_num> + <Hsp_bit-score>197.593</Hsp_bit-score> + <Hsp_score>501</Hsp_score> + <Hsp_evalue>4.31042e-55</Hsp_evalue> + <Hsp_query-from>2</Hsp_query-from> + <Hsp_query-to>229</Hsp_query-to> + <Hsp_hit-from>474</Hsp_hit-from> + <Hsp_hit-to>684</Hsp_hit-to> + <Hsp_query-frame>0</Hsp_query-frame> + <Hsp_hit-frame>0</Hsp_hit-frame> + <Hsp_identity>106</Hsp_identity> + <Hsp_positive>154</Hsp_positive> + <Hsp_gaps>21</Hsp_gaps> + <Hsp_align-len>230</Hsp_align-len> + <Hsp_qseq>LDKGTLLYRGQKLDLPTFEHNAENKLFYFRNYVSTSLKPLIFGEFGRMFMALDDDTTIYTAETPDDYNRFANPEDIIDIGATQKDSFDDNNNDGTSINIGKQVNLGFVISGAENVRVIVPGSLTEYPEEAEVILPRGTLLKINKITTQVDKRS--NKFMVEGSIVPPSEQIDESVEIYDGDLFMETGEVVKLSGFMQFVNESAYDEEQNQMAAEILSGFLDIDDMPRKFR</Hsp_qseq> + <Hsp_hseq>LPPGTTLYRGQEVTFKTLRHNIENKMFYFKNFVSTSLKPNIFGEHGKNYMALDDSGAVFSGEGEGS----VDAEDLMHMGSHSAYANED-----------AETSVGMVIKGAERIKVIVPGHLSGFPSEAEVILPRGILLKINKVSTYMMKETAYNKYLIEGTIVPPSEQLEESV--YDGDHLMETGEVRPMAGFNQFLVEES--KEEENEVSQILASLVNINGMSKKFK</Hsp_hseq> + <Hsp_midline>L GT LYRGQ++ T HN ENK+FYF+N+VSTSLKP IFGE G+ +MALDD +++ E + ED++ +G+ + +D + ++G VI GAE ++VIVPG L+ +P EAEVILPRG LLKINK++T + K + NK+++EG+IVPPSEQ++ESV YDGD METGEV ++GF QF+ E + +E+ ++IL+ ++I+ M +KF+</Hsp_midline> + </Hsp> + </Hit_hsps> +</Hit> +<Hit> + <Hit_num>3</Hit_num> + <Hit_id>gi|228861509|ref|YP_002854530.1|</Hit_id> + <Hit_def>alt.-2 hypothetical protein [Enterobacteria phage RB14] >gi|227438525|gb|ACP30838.1| alt.-2 hypothetical protein [Enterobacteria phage RB14]</Hit_def> + <Hit_accession>YP_002854530</Hit_accession> + <Hit_len>685</Hit_len> + <Hit_hsps> + <Hsp> + <Hsp_num>1</Hsp_num> + <Hsp_bit-score>197.593</Hsp_bit-score> + <Hsp_score>501</Hsp_score> + <Hsp_evalue>4.35388e-55</Hsp_evalue> + <Hsp_query-from>2</Hsp_query-from> + <Hsp_query-to>229</Hsp_query-to> + <Hsp_hit-from>474</Hsp_hit-from> + <Hsp_hit-to>684</Hsp_hit-to> + <Hsp_query-frame>0</Hsp_query-frame> + <Hsp_hit-frame>0</Hsp_hit-frame> + <Hsp_identity>108</Hsp_identity> + <Hsp_positive>152</Hsp_positive> + <Hsp_gaps>21</Hsp_gaps> + <Hsp_align-len>230</Hsp_align-len> + <Hsp_qseq>LDKGTLLYRGQKLDLPTFEHNAENKLFYFRNYVSTSLKPLIFGEFGRMFMALDDDTTIYTAETPDDYNRFANPEDIIDIGATQKDSFDDNNNDGTSINIGKQVNLGFVISGAENVRVIVPGSLTEYPEEAEVILPRGTLLKINKITTQVDKRS--NKFMVEGSIVPPSEQIDESVEIYDGDLFMETGEVVKLSGFMQFVNESAYDEEQNQMAAEILSGFLDIDDMPRKFR</Hsp_qseq> + <Hsp_hseq>LPPGTTLYRGQEVTFKTLRHNIENKMFYFKNFVSTSLKPNIFGEHGKNYMALDDSGAVFSGEGEGS----VDAEDLMHMGS-----------HSTYANEDAETSVGMVIKGAERVKVIVPGHLSGFPSEAEVILPRGILLKINKVSTYFMKETAYNKYLIEGTIVPPSEQLEESV--YDGDHLMETGEVRPMAGFNQFLVEES--KEEENEVSQILASLVNINGMSKKFK</Hsp_hseq> + <Hsp_midline>L GT LYRGQ++ T HN ENK+FYF+N+VSTSLKP IFGE G+ +MALDD +++ E + ED++ +G+ T N + ++G VI GAE V+VIVPG L+ +P EAEVILPRG LLKINK++T K + NK+++EG+IVPPSEQ++ESV YDGD METGEV ++GF QF+ E + +E+ ++IL+ ++I+ M +KF+</Hsp_midline> + </Hsp> + </Hit_hsps> +</Hit> +</Iteration_hits> + <Iteration_stat> + <Statistics> + <Statistics_db-num>48094830</Statistics_db-num> + <Statistics_db-len>17186091396</Statistics_db-len> + <Statistics_hsp-len>143</Statistics_hsp-len> + <Statistics_eff-space>886533640716</Statistics_eff-space> + <Statistics_kappa>0.041</Statistics_kappa> + <Statistics_lambda>0.267</Statistics_lambda> + <Statistics_entropy>0.14</Statistics_entropy> + </Statistics> + </Iteration_stat> +</Iteration> +</BlastOutput_iterations> +</BlastOutput> + |
b |
diff -r b6a0e126dbee -r 7342f467507b test-data/blastxml/blast.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/blastxml/blast.xml Thu Dec 31 13:58:43 2015 -0500 |
[ |
b'@@ -0,0 +1,2862 @@\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>blastp</BlastOutput_program>\n+ <BlastOutput_version>BLASTP 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>/usr/local/syncdb/community/nr/nr</BlastOutput_db>\n+ <BlastOutput_query-ID>Query_1</BlastOutput_query-ID>\n+ <BlastOutput_query-def>Merlin_1</BlastOutput_query-def>\n+ <BlastOutput_query-len>229</BlastOutput_query-len>\n+ <BlastOutput_param>\n+ <Parameters>\n+ <Parameters_matrix>BLOSUM62</Parameters_matrix>\n+ <Parameters_expect>0.001</Parameters_expect>\n+ <Parameters_gap-open>11</Parameters_gap-open>\n+ <Parameters_gap-extend>1</Parameters_gap-extend>\n+ <Parameters_filter>F</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_1</Iteration_query-def>\n+ <Iteration_query-len>229</Iteration_query-len>\n+<Iteration_hits>\n+<Hit>\n+ <Hit_num>1</Hit_num>\n+ <Hit_id>gi|422934611|ref|YP_007004572.1|</Hit_id>\n+ <Hit_def>hypothetical protein [Enterobacteria phage ime09] >gi|339791394|gb|AEK12451.1| hypothetical protein [Enterobacteria phage ime09]</Hit_def>\n+ <Hit_accession>YP_007004572</Hit_accession>\n+ <Hit_len>685</Hit_len>\n+ <Hit_hsps>\n+ <Hsp>\n+ <Hsp_num>1</Hsp_num>\n+ <Hsp_bit-score>197.593</Hsp_bit-score>\n+ <Hsp_score>501</Hsp_score>\n+ <Hsp_evalue>3.74548e-55</Hsp_evalue>\n+ <Hsp_query-from>2</Hsp_query-from>\n+ <Hsp_query-to>229</Hsp_query-to>\n+ <Hsp_hit-from>474</Hsp_hit-from>\n+ <Hsp_hit-to>684</Hsp_hit-to>\n+ <Hsp_query-frame>0</Hsp_query-frame>\n+ <Hsp_hit-frame>0</Hsp_hit-frame>\n+ <Hsp_identity>106</Hsp_identity>\n+ <Hsp_positive>154</Hsp_positive>\n+ <Hsp_gaps>21</Hsp_gaps>\n+ <Hsp_align-len>230</Hsp_align-len>\n+ <Hsp_qseq>LDKGTLLYRGQKLDLPTFEHNAENKLFYFRNYVSTSLKPLIFGEFGRMFMALDDDTTIYTAETPDDYNRFANPEDIIDIGATQKDSFDDNNNDGTSINIGKQVNLGFVISGAENVRVIVPGSLTEYPEEAEVILPRGTLLKINKITTQVDKRS--NKFMVEGSIVPPSEQIDESVEIYDGDLFMETGEVVKLSGFMQFVNESAYDEEQNQMAAEILSGFLDIDDMPRKFR</Hsp_qseq>\n+ <Hsp_hseq>LPPGTTLYRGQEVTFKTLRHNIENKMFYFKNFVSTSLKPNIFGEHGKNYMALDDSGAVFSGEGEGS----VDAEDLMHMGSHSAYANED-----------AETSVGMVIKGAERIKVIVPGHLSGFPSEAEVILPRGILLKINKVSTYMMKETAYNKYLIEGTIVPPSEQLEESV--YDGDHLMETGEVRPMAGFNQFLVEES--KEEENEVSQILASLVNINGMSKKFK</Hsp_hseq>\n+ <Hsp_midline>L GT LYRGQ++ T HN ENK+FYF+N+VSTSLKP IFGE G+ +MALDD +++ E + ED++ +G+ + +D + ++G VI GAE ++VIVPG L+ +P EAEVILPRG LLKINK++T + K + NK+++EG+IVPPSEQ++ESV YDGD METGEV ++GF QF+ E + +E+ ++IL+ ++I+ M +KF+</Hsp_midline>\n+ </Hsp>\n+ </Hit_hsps>\n+</Hit>\n+<Hit>\n+ <Hit_num>2</Hit_num>\n+ <Hit_id>gi|330858714|ref|YP_004415089.1|</Hit_id>\n+ <Hit_def>hypothetical protein Shfl2p198 [Shigella phage Shfl2] >gi|327397648|gb|AEA73150.1| hypothetical protein Shfl2p198 [Shigella phage Shfl2]</Hit_def>\n+ <Hit_accession>YP_004415089</Hit_accession>\n+ <Hit_len>685</Hit_len>\n+ <Hit_hsps>\n+ <Hsp>\n+ <Hsp_num>1</Hsp_num>\n+ <Hsp_bit-score>197.593</Hsp_bit-score>\n+ <Hsp_score>501</Hsp_score>\n+ <Hsp_evalue>4.31042e-55</Hsp_evalue>\n+ <Hsp_query-from>2</Hsp_query-from>\n+ <Hsp_query-to>229</Hsp_query-to>\n+ <Hsp_hit-from>474</Hsp_hit-from>\n+ <Hsp_hit-to>684</Hsp_hit-to>\n+ <Hsp_query-frame>0</Hsp_query-frame>\n+ <Hsp_hit-frame>0</Hsp_hit-frame>\n+ <Hsp_identity>106</Hsp_identity>\n+ <Hsp_positive>154</Hsp_positive>\n+ <Hsp_gaps>21</Hsp_gap'..b'e>0</Hsp_hit-frame>\n+ <Hsp_identity>150</Hsp_identity>\n+ <Hsp_positive>268</Hsp_positive>\n+ <Hsp_gaps>53</Hsp_gaps>\n+ <Hsp_align-len>553</Hsp_align-len>\n+ <Hsp_qseq>DVQSANELVAEVIEEKGNNL------IDSVDNVAEGTELAAEASERTTESIKTLTGVASTISDKLSKLASMLESKVQA--VEQKVQESGASASTGLSVIEDKLPDPDEPESPGLPERILPPLDDNNNLPDEDFFPPVPQEPENNKKDQKKDDKKPTDMLGD-LLKTTKGGFKATISITDKISSMLFKYTVTALAEAAKMAAMLFALVLGIDLLRIHFKYWTDKFMSNFDEFSAEAGEWGGLLQSIFGMLGDIKKFWEAGDWSGLAVAIVKGLADVIYNLSEIMSLGISKISASILDALGFENAATTIRGSALEGFQERTGNSLSEDDQKALAKYQSKRIEEGPGIIDKAGEFKTRAFDWVLGRENKIDSTQASDRDQETQNLKAMAPEKR---EETLIKQNEARAAVQRLEKYIGDVDPENPTNMQSLEKAYNSAKKSISDSAISDQPA---------TKKELDKRFQRVESKYQKLKEDNTPKPAA---PATSEDNQRVQNIQKAENAKE--QSKKSTGDMNVANTQVNNV-NNSKTIHQVQTVTATPAPGV</Hsp_qseq>\n+ <Hsp_hseq>DSLAAQELIAETVEQGNNELRQIKANTASLHDTAAATELGAESTEMSNTILREISETGKQTFSKLSEFAERLKGSFSADDVEQTPIRAASSSDQAIQIINEENPEPENPLVG-----YLRTISEDIKFLRENKNEPSDPKDPDVVPDDKDDLKTMIDRIGDQIVKSVDSGFKRTVNIADSISSTLFKYTITAALNFAKMAALVLSLIIAFDVLSRHFSHWTQMFQEQYAEFKETLGSFGTPFENLTGIVTDLVNYFKSDEYLKMFVRLAEGAADQMIYIVNMMMVGLAKLGAAILRALGADDKADTLEASAISVATKTVGYTPSEEEEATIGRVRKRQAQE---------EAEQSEASWWEKKKREWDG-----KPIETDEEKAVRERKKSIAENTTAEQFGKHDALSQKIQHVGVTAEKNETSNELLGKHRELLEKRASDVEQAKQSGEITTESYKQLKVEIEKQREFLDAHEQKL-----LKPKASIKPAPEPEIGVVGSIAKEEKRVEASQTAKQEAASNY-NTNANIVKNNNQTLVQAPR-TSSPGPGI</Hsp_hseq>\n+ <Hsp_midline>D +A EL+AE +E+ N L S+ + A TEL AE++E + ++ ++ KLS+ A L+ A VEQ + +S+ + +I ++ P+P+ P L + ++ E+ P + + D K D K D +GD ++K+ GFK T++I D ISS LFKYT+TA AKMAA++ +L++ D+L HF +WT F + EF G +G +++ G++ D+ ++++ ++ + V + +G AD + + +M +G++K+ A+IL ALG ++ A T+ SA+ + G + SE+++ + + + ++ +E E + W ++ + D + ET KA+ K+ E T +Q A+ + +++G +N T+ + L K +K SD + Q K E++K+ + +++ QKL KP A PA + V +I K E E Q+ K N NT N V NN++T+ Q T++P PG+</Hsp_midline>\n+ </Hsp>\n+ </Hit_hsps>\n+</Hit>\n+<Hit>\n+ <Hit_num>43</Hit_num>\n+ <Hit_id>gi|398313739|emb|CCI89086.1|</Hit_id>\n+ <Hit_def>phage baseplate hub [Yersinia phage phiD1]</Hit_def>\n+ <Hit_accession>CCI89086</Hit_accession>\n+ <Hit_len>191</Hit_len>\n+ <Hit_hsps>\n+ <Hsp>\n+ <Hsp_num>1</Hsp_num>\n+ <Hsp_bit-score>79.7221</Hsp_bit-score>\n+ <Hsp_score>195</Hsp_score>\n+ <Hsp_evalue>1.49556e-13</Hsp_evalue>\n+ <Hsp_query-from>2</Hsp_query-from>\n+ <Hsp_query-to>189</Hsp_query-to>\n+ <Hsp_hit-from>3</Hsp_hit-from>\n+ <Hsp_hit-to>187</Hsp_hit-to>\n+ <Hsp_query-frame>0</Hsp_query-frame>\n+ <Hsp_hit-frame>0</Hsp_hit-frame>\n+ <Hsp_identity>69</Hsp_identity>\n+ <Hsp_positive>102</Hsp_positive>\n+ <Hsp_gaps>17</Hsp_gaps>\n+ <Hsp_align-len>195</Hsp_align-len>\n+ <Hsp_qseq>KSENMSTMRRRKVIADSKGERDAASTASDQVDSLELIGLKLDDVQSANELVAEVIEEKGNNLIDSVDNV-------AEGTELAAEASERTTESIKTLTGVASTISDKLSKLASMLESKVQAVEQKVQESGASASTGLSVIEDKLPDPDEPESPGLPERILPPLDDNNNLPDEDFFPPVPQEPENNKKDQKKDDKK</Hsp_qseq>\n+ <Hsp_hseq>KPQEMQTMRR-KVISDNKPTQEAAKSASNTLSGLNDISTKLDDTQAASELIAQTVEEKSNEIVGAIGNVESAVSDTTAGSELIAETVEIGNNINKE---IGESLGSKLDKLTSLLEQKIQTA--GIQQTGTXLATVESAIPVKVVEDDTDRXXVLXYRXLKQLIMILTLI---FSLPLSQLSQ-SKNHQKKNRKK</Hsp_hseq>\n+ <Hsp_midline>K + M TMRR KVI+D+K ++AA +AS+ + L I KLDD Q+A+EL+A+ +EEK N ++ ++ NV G+EL AE E K + ++ KL KL S+LE K+Q +Q++G +T S I K+ + D L R L L L F P+ Q + +K QKK+ KK</Hsp_midline>\n+ </Hsp>\n+ </Hit_hsps>\n+</Hit>\n+</Iteration_hits>\n+ <Iteration_stat>\n+ <Statistics>\n+ <Statistics_db-num>48094830</Statistics_db-num>\n+ <Statistics_db-len>17186091396</Statistics_db-len>\n+ <Statistics_hsp-len>153</Statistics_hsp-len>\n+ <Statistics_eff-space>4157067357738</Statistics_eff-space>\n+ <Statistics_kappa>0.041</Statistics_kappa>\n+ <Statistics_lambda>0.267</Statistics_lambda>\n+ <Statistics_entropy>0.14</Statistics_entropy>\n+ </Statistics>\n+ </Iteration_stat>\n+</Iteration>\n+</BlastOutput_iterations>\n+</BlastOutput>\n+\n' |
b |
diff -r b6a0e126dbee -r 7342f467507b test-data/blastxml/blastn-gene1.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/blastxml/blastn-gene1.xml Thu Dec 31 13:58:43 2015 -0500 |
b |
b'@@ -0,0 +1,128 @@\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 b6a0e126dbee -r 7342f467507b test-data/blastxml/merlin.gff --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/blastxml/merlin.gff Thu Dec 31 13:58:43 2015 -0500 |
b |
b'@@ -0,0 +1,1230 @@\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 b6a0e126dbee -r 7342f467507b test-data/blastxml/test.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/blastxml/test.xml Thu Dec 31 13:58:43 2015 -0500 |
b |
@@ -0,0 +1,128 @@ +<?xml version="1.0"?> +<root> + <metadata> + <gencode>11</gencode> + <genomes> + <genome>test-data/merlin.fa</genome> + </genomes> + </metadata> + <tracks> + <track cat="Blah" format="blast"> + <files> + <trackFile path="test-data/blastxml/blast.xml" ext="blastxml" label="BlastP"/> + </files> + + <options> + <style> + <className>feature</className> + <description></description> + <label>Description</label> + <height>400px</height> + </style> + <blast> + <parent>test-data/blastxml/merlin.gff</parent> + <protein>true</protein> + <min_gap>10</min_gap> + </blast> + <scaling> + <method>score</method> + <algo>blast</algo> + <scales> + <type>__auto__</type> + </scales> + <scheme> + <type>opacity</type> + <color>__auto__</color> + </scheme> + </scaling> + </options> + </track> + <track cat="Blah" format="blast"> + <files> + <trackFile path="test-data/blastxml/blast.xml" ext="blastxml" label="BlastP, min_gap=3"/> + </files> + + <options> + <style> + <className>feature</className> + <description></description> + <label>Description</label> + <height>400px</height> + </style> + <blast> + <parent>test-data/blastxml/merlin.gff</parent> + <protein>true</protein> + <min_gap>3</min_gap> + </blast> + <scaling> + <method>score</method> + <algo>blast</algo> + <scales> + <type>__auto__</type> + </scales> + <scheme> + <type>opacity</type> + <color>__auto__</color> + </scheme> + </scaling> + </options> + </track> + + <track cat="Blah" format="blast"> + <files> + <trackFile path="test-data/blastxml/blast-gene1.xml" ext="blastxml" label="Non protein match/matchpart"/> + </files> + + <options> + <style> + <className>feature</className> + <description></description> + <label>Description</label> + <height>400px</height> + </style> + <blast> + <parent>test-data/blastxml/merlin.gff</parent> + <min_gap>3</min_gap> + </blast> + <scaling> + <method>ignore</method> + <algo>linear</algo> + <scheme> + <type>opacity</type> + <color>__auto__</color> + </scheme> + </scaling> + </options> + </track> + + <track cat="Blah" format="blast"> + <files> + <trackFile path="test-data/blastxml/blastn-gene1.xml" ext="blastxml" label="Non protein match/matchpart, no parent"/> + </files> + + <options> + <style> + <className>feature</className> + <description></description> + <label>Description</label> + <height>400px</height> + </style> + <blast> + <min_gap>40</min_gap> + </blast> + <scaling> + <method>score</method> + <algo>blast</algo> + <scales> + <type>__auto__</type> + </scales> + <scheme> + <type>opacity</type> + <color>__auto__</color> + </scheme> + </scaling> + </options> + </track> + + </tracks> +</root> |
b |
diff -r b6a0e126dbee -r 7342f467507b test-data/bw/data.bw |
b |
Binary file test-data/bw/data.bw has changed |
b |
diff -r b6a0e126dbee -r 7342f467507b test-data/bw/test.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/bw/test.xml Thu Dec 31 13:58:43 2015 -0500 |
b |
@@ -0,0 +1,132 @@ +<?xml version="1.0"?> +<root> + <metadata> + <gencode>11</gencode> + <genomes> + <genome>test-data/merlin.fa</genome> + </genomes> + </metadata> + <tracks> + <track cat="Scaling" format="wiggle"> + <files> + <trackFile path="test-data/bw/data.bw" ext="bigwig" label="Auto Global"/> + </files> + + <options> + <wiggle> + <type>JBrowse/View/Track/Wiggle/XYPlot</type> + <variance_band>true</variance_band> + <autoscale>global</autoscale> + <color_pos>__auto__</color_pos> + <color_neg>__auto__</color_neg> + <bicolor_pivot>zero</bicolor_pivot> + </wiggle> + </options> + </track> + <track cat="Scaling" format="wiggle"> + <files> + <trackFile path="test-data/bw/data.bw" ext="bigwig" label="Auto Local"/> + </files> + + <options> + <wiggle> + <type>JBrowse/View/Track/Wiggle/XYPlot</type> + <variance_band>true</variance_band> + <autoscale>local</autoscale> + <color_pos>__auto__</color_pos> + <color_neg>__auto__</color_neg> + <bicolor_pivot>zero</bicolor_pivot> + </wiggle> + </options> + </track> + <track cat="Scaling" format="wiggle"> + <files> + <trackFile path="test-data/bw/data.bw" ext="bigwig" label="Manual"/> + </files> + + <options> + <wiggle> + <type>JBrowse/View/Track/Wiggle/XYPlot</type> + <variance_band>false</variance_band> + <autoscale>fixed</autoscale> + <min>20</min> + <max>60</max> + <color_pos>__auto__</color_pos> + <color_neg>__auto__</color_neg> + <bicolor_pivot>zero</bicolor_pivot> + </wiggle> + </options> + </track> + + + <track cat="Colouring" format="wiggle"> + <files> + <trackFile path="test-data/bw/data.bw" ext="bigwig" label="Auto A"/> + <trackFile path="test-data/bw/data.bw" ext="bigwig" label="Auto B"/> + </files> + + <options> + <wiggle> + <type>JBrowse/View/Track/Wiggle/XYPlot</type> + <variance_band>false</variance_band> + <autoscale>local</autoscale> + + <color_pos>__auto__</color_pos> + <color_neg>__auto__</color_neg> + <bicolor_pivot>mean</bicolor_pivot> + </wiggle> + </options> + </track> + <track cat="Colouring" format="wiggle"> + <files> + <trackFile path="test-data/bw/data.bw" ext="bigwig" label="Manual"/> + </files> + + <options> + <wiggle> + <type>JBrowse/View/Track/Wiggle/XYPlot</type> + <variance_band>false</variance_band> + <autoscale>local</autoscale> + + <color_pos>#0000ff</color_pos> + <color_neg>#ff0000</color_neg> + <bicolor_pivot>mean</bicolor_pivot> + </wiggle> + </options> + </track> + <track cat="Colouring" format="wiggle"> + <files> + <trackFile path="test-data/bw/data.bw" ext="bigwig" label="Manual - Inverted"/> + </files> + + <options> + <wiggle> + <type>JBrowse/View/Track/Wiggle/XYPlot</type> + <variance_band>false</variance_band> + <autoscale>local</autoscale> + + <color_pos>#ff0000</color_pos> + <color_neg>#0000ff</color_neg> + <bicolor_pivot>mean</bicolor_pivot> + </wiggle> + </options> + </track> + <track cat="Colouring" format="wiggle"> + <files> + <trackFile path="test-data/bw/data.bw" ext="bigwig" label="Nonstandard Pivot"/> + </files> + + <options> + <wiggle> + <type>JBrowse/View/Track/Wiggle/XYPlot</type> + <variance_band>false</variance_band> + <autoscale>local</autoscale> + + <color_pos>#0000ff</color_pos> + <color_neg>#ff0000</color_neg> + <bicolor_pivot>100</bicolor_pivot> + </wiggle> + </options> + </track> + </tracks> +</root> |
b |
diff -r b6a0e126dbee -r 7342f467507b test-data/gencode/test-1.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/gencode/test-1.xml Thu Dec 31 13:58:43 2015 -0500 |
b |
@@ -0,0 +1,11 @@ +<?xml version="1.0"?> +<root> + <metadata> + <gencode>1</gencode> + <genomes> + <genome>test-data/merlin.fa</genome> + </genomes> + </metadata> + <tracks> + </tracks> +</root> |
b |
diff -r b6a0e126dbee -r 7342f467507b test-data/gencode/test.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/gencode/test.xml Thu Dec 31 13:58:43 2015 -0500 |
b |
@@ -0,0 +1,11 @@ +<?xml version="1.0"?> +<root> + <metadata> + <gencode>11</gencode> + <genomes> + <genome>test-data/merlin.fa</genome> + </genomes> + </metadata> + <tracks> + </tracks> +</root> |
b |
diff -r b6a0e126dbee -r 7342f467507b test-data/gff3/1.gff --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/gff3/1.gff Thu Dec 31 13:58:43 2015 -0500 |
b |
@@ -0,0 +1,46 @@ +##gff-version 3 +##sequence-region Merlin 1 172788 +Merlin GeneMark.hmm gene 10 30 . + . ID=Merlin_1;seqid=Merlin +Merlin GeneMark.hmm mRNA 14 30 . + . ID=Merlin_1_mRNA;Parent=Merlin_1 +Merlin GeneMark.hmm CDS 14 20 1000 + 0 ID=Merlin_1_CDS ;Parent=Merlin_1_mRNA +Merlin GeneMark.hmm CDS 24 30 500 + 0 ID=Merlin_1_CDS ;Parent=Merlin_1_mRNA + +Merlin GeneMark.hmm gene 14 30 . + . ID=Merlin_2;seqid=Merlin;color=#00ff00 +Merlin GeneMark.hmm mRNA 14 30 . + . ID=Merlin_2_mRNA;seqid=Merlin;color=#00ff00;Parent=Merlin_2 +Merlin GeneMark.hmm CDS 14 20 500 + 0 ID=Merlin_2_CDS ;Parent=Merlin_2_mRNA;color=#0000ff +Merlin GeneMark.hmm CDS 24 30 750 + 0 ID=Merlin_2_CDS ;Parent=Merlin_2_mRNA;color=#00ff00 + +Merlin GeneMark.hmm gene 10 30 . + . ID=Merlin_3;seqid=Merlin +Merlin GeneMark.hmm mRNA 14 30 . + . ID=Merlin_3A_mRNA;Parent=Merlin_3;color=#0000ff +Merlin GeneMark.hmm CDS 14 18 1000 + 0 ID=Merlin_3A_CDS ;Parent=Merlin_3A_mRNA;color=#0000ff +Merlin GeneMark.hmm CDS 20 30 800 + 0 ID=Merlin_3A_CDS ;Parent=Merlin_3A_mRNA;color=#0000ff +Merlin GeneMark.hmm mRNA 14 30 . + . ID=Merlin_3B_mRNA;Parent=Merlin_3;color=#0000ff +Merlin GeneMark.hmm CDS 14 22 400 + 0 ID=Merlin_3B_CDS ;Parent=Merlin_3B_mRNA;color=#0000ff +Merlin GeneMark.hmm CDS 24 30 1000 + 0 ID=Merlin_3B_CDS ;Parent=Merlin_3B_mRNA;color=#0000ff + + + +Merlin exonerate gene 1740 2300 . + . Name=Apple3;Note=Gene with two splicing models;ID=1 +Merlin exonerate mRNA 1740 2300 . + . Name=Apple3-a;Note=mRNA A with both CDSs and UTRs;ID=1A;Parent=1; +Merlin exonerate UTR 1740 1799 . + . Parent=1A +Merlin exonerate CDS 1900 2080 . + 0 Parent=1A +Merlin exonerate CDS 2100 2120 . + 2 Parent=1A +Merlin exonerate UTR 2120 2300 . + . Parent=1A +Merlin exonerate mRNA 1740 2300 . + . Name=Apple3-b;Note=mRNA B with both CDSs and UTRs;ID=1B;Parent=1; +Merlin exonerate UTR 1740 1799 . + . Parent=1B +Merlin exonerate CDS 1800 1880 . + 0 Parent=1B +Merlin exonerate CDS 1900 1950 . + 1 Parent=1B +Merlin exonerate CDS 2100 2120 . + 2 Parent=1B +Merlin exonerate UTR 2120 2300 . + . Parent=1B + + + +# { +# "baseUrl": "http://localhost:8000/out/data/" +# "compress": 0, +# "label": "Transcript", +# "storeClass": "JBrowse/Store/SeqFeature/NCList", +# "trackType": "JBrowse/View/Track/CanvasFeatures", +# "type": "JBrowse/View/Track/CanvasFeatures", +# "urlTemplate": "tracks/42ff9cb16c0509f0abb4a76ce14077bc_0/{refseq}/trackData.json", +# } |
b |
diff -r b6a0e126dbee -r 7342f467507b test-data/gff3/2.gff --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/gff3/2.gff Thu Dec 31 13:58:43 2015 -0500 |
b |
@@ -0,0 +1,6 @@ +##gff-version 3 +##sequence-region Merlin 1 172788 + +Merlin . cDNA_match 1200 9000 . . . ID=cDNA00001 +Merlin . match_part 1200 3200 2.2e-30 + . ID=match00002;Parent=cDNA00001;Target=Merlin 5 506;Gap=M301 D1499 M201 +Merlin . match_part 7000 9000 7.4e-32 - . ID=match00003;Parent=cDNA00001;Target=Merlin 1 502;Gap=M101 D1499 M401 |
b |
diff -r b6a0e126dbee -r 7342f467507b test-data/gff3/A.gff --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/gff3/A.gff Thu Dec 31 13:58:43 2015 -0500 |
b |
@@ -0,0 +1,46 @@ +##gff-version 3 +##sequence-region Merlin 1 172788 +Merlin GeneMark.hmm gene 10 30 . + . ID=Merlin_1;seqid=Merlin +Merlin GeneMark.hmm mRNA 14 30 . + . ID=Merlin_1_mRNA;Parent=Merlin_1 +Merlin GeneMark.hmm CDS 14 20 1000 + 0 ID=Merlin_1_CDS ;Parent=Merlin_1_mRNA +Merlin GeneMark.hmm CDS 24 30 500 + 0 ID=Merlin_1_CDS ;Parent=Merlin_1_mRNA + +Merlin GeneMark.hmm gene 14 30 . + . ID=Merlin_2;seqid=Merlin;color=#00ff00 +Merlin GeneMark.hmm mRNA 14 30 . + . ID=Merlin_2_mRNA;seqid=Merlin;color=#00ff00;Parent=Merlin_2 +Merlin GeneMark.hmm CDS 14 20 500 + 0 ID=Merlin_2_CDS ;Parent=Merlin_2_mRNA;color=#0000ff +Merlin GeneMark.hmm CDS 24 30 750 + 0 ID=Merlin_2_CDS ;Parent=Merlin_2_mRNA;color=#00ff00 + +Merlin GeneMark.hmm gene 10 30 . + . ID=Merlin_3;seqid=Merlin +Merlin GeneMark.hmm mRNA 14 30 . + . ID=Merlin_3A_mRNA;Parent=Merlin_3;color=#0000ff +Merlin GeneMark.hmm CDS 14 18 1000 + 0 ID=Merlin_3A_CDS ;Parent=Merlin_3A_mRNA;color=#0000ff +Merlin GeneMark.hmm CDS 20 30 800 + 0 ID=Merlin_3A_CDS ;Parent=Merlin_3A_mRNA;color=#0000ff +Merlin GeneMark.hmm mRNA 14 30 . + . ID=Merlin_3B_mRNA;Parent=Merlin_3;color=#0000ff +Merlin GeneMark.hmm CDS 14 22 400 + 0 ID=Merlin_3B_CDS ;Parent=Merlin_3B_mRNA;color=#0000ff +Merlin GeneMark.hmm CDS 24 30 1000 + 0 ID=Merlin_3B_CDS ;Parent=Merlin_3B_mRNA;color=#0000ff + + + +Merlin exonerate gene 1740 2300 . + . Name=Apple3;Note=Gene with two splicing models;ID=1 +Merlin exonerate mRNA 1740 2300 . + . Name=Apple3-a;Note=mRNA A with both CDSs and UTRs;ID=1A;Parent=1; +Merlin exonerate UTR 1740 1799 . + . Parent=1A +Merlin exonerate CDS 1900 2080 . + 0 Parent=1A +Merlin exonerate CDS 2100 2120 . + 2 Parent=1A +Merlin exonerate UTR 2120 2300 . + . Parent=1A +Merlin exonerate mRNA 1740 2300 . + . Name=Apple3-b;Note=mRNA B with both CDSs and UTRs;ID=1B;Parent=1; +Merlin exonerate UTR 1740 1799 . + . Parent=1B +Merlin exonerate CDS 1800 1880 . + 0 Parent=1B +Merlin exonerate CDS 1900 1950 . + 1 Parent=1B +Merlin exonerate CDS 2100 2120 . + 2 Parent=1B +Merlin exonerate UTR 2120 2300 . + . Parent=1B + + + +# { +# "baseUrl": "http://localhost:8000/out/data/" +# "compress": 0, +# "label": "Transcript", +# "storeClass": "JBrowse/Store/SeqFeature/NCList", +# "trackType": "JBrowse/View/Track/CanvasFeatures", +# "type": "JBrowse/View/Track/CanvasFeatures", +# "urlTemplate": "tracks/42ff9cb16c0509f0abb4a76ce14077bc_0/{refseq}/trackData.json", +# } |
b |
diff -r b6a0e126dbee -r 7342f467507b test-data/gff3/B.gff --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/gff3/B.gff Thu Dec 31 13:58:43 2015 -0500 |
b |
@@ -0,0 +1,46 @@ +##gff-version 3 +##sequence-region Merlin 1 172788 +Merlin GeneMark.hmm gene 10 30 . + . ID=Merlin_1;seqid=Merlin +Merlin GeneMark.hmm mRNA 14 30 . + . ID=Merlin_1_mRNA;Parent=Merlin_1 +Merlin GeneMark.hmm CDS 14 20 1000 + 0 ID=Merlin_1_CDS ;Parent=Merlin_1_mRNA +Merlin GeneMark.hmm CDS 24 30 500 + 0 ID=Merlin_1_CDS ;Parent=Merlin_1_mRNA + +Merlin GeneMark.hmm gene 14 30 . + . ID=Merlin_2;seqid=Merlin;color=#00ff00 +Merlin GeneMark.hmm mRNA 14 30 . + . ID=Merlin_2_mRNA;seqid=Merlin;color=#00ff00;Parent=Merlin_2 +Merlin GeneMark.hmm CDS 14 20 500 + 0 ID=Merlin_2_CDS ;Parent=Merlin_2_mRNA;color=#0000ff +Merlin GeneMark.hmm CDS 24 30 750 + 0 ID=Merlin_2_CDS ;Parent=Merlin_2_mRNA;color=#00ff00 + +Merlin GeneMark.hmm gene 10 30 . + . ID=Merlin_3;seqid=Merlin +Merlin GeneMark.hmm mRNA 14 30 . + . ID=Merlin_3A_mRNA;Parent=Merlin_3;color=#0000ff +Merlin GeneMark.hmm CDS 14 18 1000 + 0 ID=Merlin_3A_CDS ;Parent=Merlin_3A_mRNA;color=#0000ff +Merlin GeneMark.hmm CDS 20 30 800 + 0 ID=Merlin_3A_CDS ;Parent=Merlin_3A_mRNA;color=#0000ff +Merlin GeneMark.hmm mRNA 14 30 . + . ID=Merlin_3B_mRNA;Parent=Merlin_3;color=#0000ff +Merlin GeneMark.hmm CDS 14 22 400 + 0 ID=Merlin_3B_CDS ;Parent=Merlin_3B_mRNA;color=#0000ff +Merlin GeneMark.hmm CDS 24 30 1000 + 0 ID=Merlin_3B_CDS ;Parent=Merlin_3B_mRNA;color=#0000ff + + + +Merlin exonerate gene 1740 2300 . + . Name=Apple3;Note=Gene with two splicing models;ID=1 +Merlin exonerate mRNA 1740 2300 . + . Name=Apple3-a;Note=mRNA A with both CDSs and UTRs;ID=1A;Parent=1; +Merlin exonerate UTR 1740 1799 . + . Parent=1A +Merlin exonerate CDS 1900 2080 . + 0 Parent=1A +Merlin exonerate CDS 2100 2120 . + 2 Parent=1A +Merlin exonerate UTR 2120 2300 . + . Parent=1A +Merlin exonerate mRNA 1740 2300 . + . Name=Apple3-b;Note=mRNA B with both CDSs and UTRs;ID=1B;Parent=1; +Merlin exonerate UTR 1740 1799 . + . Parent=1B +Merlin exonerate CDS 1800 1880 . + 0 Parent=1B +Merlin exonerate CDS 1900 1950 . + 1 Parent=1B +Merlin exonerate CDS 2100 2120 . + 2 Parent=1B +Merlin exonerate UTR 2120 2300 . + . Parent=1B + + + +# { +# "baseUrl": "http://localhost:8000/out/data/" +# "compress": 0, +# "label": "Transcript", +# "storeClass": "JBrowse/Store/SeqFeature/NCList", +# "trackType": "JBrowse/View/Track/CanvasFeatures", +# "type": "JBrowse/View/Track/CanvasFeatures", +# "urlTemplate": "tracks/42ff9cb16c0509f0abb4a76ce14077bc_0/{refseq}/trackData.json", +# } |
b |
diff -r b6a0e126dbee -r 7342f467507b test-data/gff3/C.gff --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/gff3/C.gff Thu Dec 31 13:58:43 2015 -0500 |
b |
@@ -0,0 +1,46 @@ +##gff-version 3 +##sequence-region Merlin 1 172788 +Merlin GeneMark.hmm gene 10 30 . + . ID=Merlin_1;seqid=Merlin +Merlin GeneMark.hmm mRNA 14 30 . + . ID=Merlin_1_mRNA;Parent=Merlin_1 +Merlin GeneMark.hmm CDS 14 20 1000 + 0 ID=Merlin_1_CDS ;Parent=Merlin_1_mRNA +Merlin GeneMark.hmm CDS 24 30 500 + 0 ID=Merlin_1_CDS ;Parent=Merlin_1_mRNA + +Merlin GeneMark.hmm gene 14 30 . + . ID=Merlin_2;seqid=Merlin;color=#00ff00 +Merlin GeneMark.hmm mRNA 14 30 . + . ID=Merlin_2_mRNA;seqid=Merlin;color=#00ff00;Parent=Merlin_2 +Merlin GeneMark.hmm CDS 14 20 500 + 0 ID=Merlin_2_CDS ;Parent=Merlin_2_mRNA;color=#0000ff +Merlin GeneMark.hmm CDS 24 30 750 + 0 ID=Merlin_2_CDS ;Parent=Merlin_2_mRNA;color=#00ff00 + +Merlin GeneMark.hmm gene 10 30 . + . ID=Merlin_3;seqid=Merlin +Merlin GeneMark.hmm mRNA 14 30 . + . ID=Merlin_3A_mRNA;Parent=Merlin_3;color=#0000ff +Merlin GeneMark.hmm CDS 14 18 1000 + 0 ID=Merlin_3A_CDS ;Parent=Merlin_3A_mRNA;color=#0000ff +Merlin GeneMark.hmm CDS 20 30 800 + 0 ID=Merlin_3A_CDS ;Parent=Merlin_3A_mRNA;color=#0000ff +Merlin GeneMark.hmm mRNA 14 30 . + . ID=Merlin_3B_mRNA;Parent=Merlin_3;color=#0000ff +Merlin GeneMark.hmm CDS 14 22 400 + 0 ID=Merlin_3B_CDS ;Parent=Merlin_3B_mRNA;color=#0000ff +Merlin GeneMark.hmm CDS 24 30 1000 + 0 ID=Merlin_3B_CDS ;Parent=Merlin_3B_mRNA;color=#0000ff + + + +Merlin exonerate gene 1740 2300 . + . Name=Apple3;Note=Gene with two splicing models;ID=1 +Merlin exonerate mRNA 1740 2300 . + . Name=Apple3-a;Note=mRNA A with both CDSs and UTRs;ID=1A;Parent=1; +Merlin exonerate UTR 1740 1799 . + . Parent=1A +Merlin exonerate CDS 1900 2080 . + 0 Parent=1A +Merlin exonerate CDS 2100 2120 . + 2 Parent=1A +Merlin exonerate UTR 2120 2300 . + . Parent=1A +Merlin exonerate mRNA 1740 2300 . + . Name=Apple3-b;Note=mRNA B with both CDSs and UTRs;ID=1B;Parent=1; +Merlin exonerate UTR 1740 1799 . + . Parent=1B +Merlin exonerate CDS 1800 1880 . + 0 Parent=1B +Merlin exonerate CDS 1900 1950 . + 1 Parent=1B +Merlin exonerate CDS 2100 2120 . + 2 Parent=1B +Merlin exonerate UTR 2120 2300 . + . Parent=1B + + + +# { +# "baseUrl": "http://localhost:8000/out/data/" +# "compress": 0, +# "label": "Transcript", +# "storeClass": "JBrowse/Store/SeqFeature/NCList", +# "trackType": "JBrowse/View/Track/CanvasFeatures", +# "type": "JBrowse/View/Track/CanvasFeatures", +# "urlTemplate": "tracks/42ff9cb16c0509f0abb4a76ce14077bc_0/{refseq}/trackData.json", +# } |
b |
diff -r b6a0e126dbee -r 7342f467507b test-data/gff3/D.gff --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/gff3/D.gff Thu Dec 31 13:58:43 2015 -0500 |
b |
@@ -0,0 +1,46 @@ +##gff-version 3 +##sequence-region Merlin 1 172788 +Merlin GeneMark.hmm gene 10 30 . + . ID=Merlin_1;seqid=Merlin +Merlin GeneMark.hmm mRNA 14 30 . + . ID=Merlin_1_mRNA;Parent=Merlin_1 +Merlin GeneMark.hmm CDS 14 20 1000 + 0 ID=Merlin_1_CDS ;Parent=Merlin_1_mRNA +Merlin GeneMark.hmm CDS 24 30 500 + 0 ID=Merlin_1_CDS ;Parent=Merlin_1_mRNA + +Merlin GeneMark.hmm gene 14 30 . + . ID=Merlin_2;seqid=Merlin;color=#00ff00 +Merlin GeneMark.hmm mRNA 14 30 . + . ID=Merlin_2_mRNA;seqid=Merlin;color=#00ff00;Parent=Merlin_2 +Merlin GeneMark.hmm CDS 14 20 500 + 0 ID=Merlin_2_CDS ;Parent=Merlin_2_mRNA;color=#0000ff +Merlin GeneMark.hmm CDS 24 30 750 + 0 ID=Merlin_2_CDS ;Parent=Merlin_2_mRNA;color=#00ff00 + +Merlin GeneMark.hmm gene 10 30 . + . ID=Merlin_3;seqid=Merlin +Merlin GeneMark.hmm mRNA 14 30 . + . ID=Merlin_3A_mRNA;Parent=Merlin_3;color=#0000ff +Merlin GeneMark.hmm CDS 14 18 1000 + 0 ID=Merlin_3A_CDS ;Parent=Merlin_3A_mRNA;color=#0000ff +Merlin GeneMark.hmm CDS 20 30 800 + 0 ID=Merlin_3A_CDS ;Parent=Merlin_3A_mRNA;color=#0000ff +Merlin GeneMark.hmm mRNA 14 30 . + . ID=Merlin_3B_mRNA;Parent=Merlin_3;color=#0000ff +Merlin GeneMark.hmm CDS 14 22 400 + 0 ID=Merlin_3B_CDS ;Parent=Merlin_3B_mRNA;color=#0000ff +Merlin GeneMark.hmm CDS 24 30 1000 + 0 ID=Merlin_3B_CDS ;Parent=Merlin_3B_mRNA;color=#0000ff + + + +Merlin exonerate gene 1740 2300 . + . Name=Apple3;Note=Gene with two splicing models;ID=1 +Merlin exonerate mRNA 1740 2300 . + . Name=Apple3-a;Note=mRNA A with both CDSs and UTRs;ID=1A;Parent=1; +Merlin exonerate UTR 1740 1799 . + . Parent=1A +Merlin exonerate CDS 1900 2080 . + 0 Parent=1A +Merlin exonerate CDS 2100 2120 . + 2 Parent=1A +Merlin exonerate UTR 2120 2300 . + . Parent=1A +Merlin exonerate mRNA 1740 2300 . + . Name=Apple3-b;Note=mRNA B with both CDSs and UTRs;ID=1B;Parent=1; +Merlin exonerate UTR 1740 1799 . + . Parent=1B +Merlin exonerate CDS 1800 1880 . + 0 Parent=1B +Merlin exonerate CDS 1900 1950 . + 1 Parent=1B +Merlin exonerate CDS 2100 2120 . + 2 Parent=1B +Merlin exonerate UTR 2120 2300 . + . Parent=1B + + + +# { +# "baseUrl": "http://localhost:8000/out/data/" +# "compress": 0, +# "label": "Transcript", +# "storeClass": "JBrowse/Store/SeqFeature/NCList", +# "trackType": "JBrowse/View/Track/CanvasFeatures", +# "type": "JBrowse/View/Track/CanvasFeatures", +# "urlTemplate": "tracks/42ff9cb16c0509f0abb4a76ce14077bc_0/{refseq}/trackData.json", +# } |
b |
diff -r b6a0e126dbee -r 7342f467507b test-data/gff3/interpro.gff --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/gff3/interpro.gff Thu Dec 31 13:58:43 2015 -0500 |
b |
b'@@ -0,0 +1,558 @@\n+##gff-version 3\n+##sequence-region Merlin 1 172788\n+Merlin\tannotation\tremark\t1\t172788\t.\t.\t.\tgff-version=3;sequence-region=%28%27Merlin%27%2C 0%2C 172788%29\n+Merlin\tfeature\tpolypeptide\t1\t229\t.\t+\t.\tID=Merlin_1;md5=4d58b2b569c2fe52e2945e3f6e380c48\n+Merlin\tGene3D\tprotein_match\t2\t50\t2.9E-21\t+\t.\tID=match%2477_2_50;Name=G3DSA:3.90.176.10;Target=Merlin_1 2 50;date=23-02-2015;status=T\n+Merlin\tGene3D\tprotein_match\t106\t165\t2.9E-21\t+\t.\tID=match%2477_106_165;Name=G3DSA:3.90.176.10;Target=Merlin_1 106 165;date=23-02-2015;status=T\n+Merlin\tPfam\tprotein_match\t7\t162\t1.9E-12\t+\t.\tDbxref=InterPro:IPR003540;ID=match%2478_7_162;Name=PF03496;Ontology_term=GO:0005576%22%2C%22GO:0009405;Target=Merlin_1 7 162;date=23-02-2015;signature_desc=ADP-ribosyltransferase exoenzyme;status=T\n+Merlin\tSUPERFAMILY\tprotein_match\t2\t48\t.\t+\t.\tID=match%2479_2_48;Name=SSF56399;Target=Merlin_1 2 48;date=23-02-2015;status=T\n+Merlin\tSUPERFAMILY\tprotein_match\t104\t164\t.\t+\t.\tID=match%2479_104_164;Name=SSF56399;Target=Merlin_1 104 164;date=23-02-2015;status=T\n+Merlin\tfeature\tpolypeptide\t1698\t2011\t.\t-\t.\tID=Merlin_3;md5=6b220b99a5d2dd40f55bb664a8dbdfb3\n+Merlin\tPfam\tprotein_match\t1912\t2011\t1.5E-8\t-\t.\tDbxref=InterPro:IPR010667;ID=match%24113_149_248;Name=PF06841;Ontology_term=GO:0005198;Target=Merlin_3 149 248;date=23-02-2015;signature_desc=T4-like virus tail tube protein gp19;status=T\n+Merlin\tfeature\tpolypeptide\t2716\t3066\t.\t-\t.\tID=Merlin_4;md5=bdb226d471fe35e28ce6a9ed4649a1f8\n+Merlin\tPfam\tprotein_match\t2725\t3066\t1.6E-150\t-\t.\tDbxref=InterPro:IPR024389;ID=match%24361_4_345;Name=PF11091;Target=Merlin_4 4 345;date=23-02-2015;signature_desc=Tail-tube assembly protein;status=T\n+Merlin\tfeature\tpolypeptide\t5144\t5317\t.\t-\t.\tID=Merlin_6;md5=c61e0e2dba259054b9c93fd931056fdd\n+Merlin\tPfam\tprotein_match\t5166\t5317\t1.5E-59\t-\t.\tDbxref=InterPro:IPR024342;ID=match%24360_21_172;Name=PF11110;Target=Merlin_6 21 172;date=23-02-2015;signature_desc=Baseplate hub distal subunit;status=T\n+Merlin\tfeature\tpolypeptide\t6052\t6431\t.\t-\t.\tID=Merlin_7;md5=b51a60ffef9f07b672e0d12d26d27bbc\n+Merlin\tSUPERFAMILY\tprotein_match\t6256\t6431\t.\t-\t.\tID=match%24227_199_374;Name=SSF69279;Target=Merlin_7 199 374;date=23-02-2015;status=T\n+Merlin\tSUPERFAMILY\tprotein_match\t6238\t6431\t.\t-\t.\tID=match%24228_5_198;Name=SSF69279;Target=Merlin_7 5 198;date=23-02-2015;status=T\n+Merlin\tPfam\tprotein_match\t6237\t6431\t4.3E-96\t-\t.\tDbxref=InterPro:IPR015181;ID=match%24229_4_198;Name=PF09097;Target=Merlin_7 4 198;date=23-02-2015;signature_desc=Baseplate structural protein,domain 1;status=T\n+Merlin\tGene3D\tprotein_match\t6320\t6431\t1.4E-54\t-\t.\tID=match%24230_3_114;Name=G3DSA:2.40.10.10;Target=Merlin_7 3 114;date=23-02-2015;status=T\n+Merlin\tPfam\tprotein_match\t6263\t6431\t3.9E-83\t-\t.\tDbxref=InterPro:IPR015180;ID=match%24231_201_369;Name=PF09096;Target=Merlin_7 201 369;date=23-02-2015;signature_desc=Baseplate structural protein,domain 2;status=T\n+Merlin\tfeature\tpolypeptide\t6931\t7180\t.\t-\t.\tID=Merlin_8;md5=78306f53371e5e47b051cad8a16b86e5\n+Merlin\tPfam\tprotein_match\t6985\t7180\t9.8E-56\t-\t.\tDbxref=InterPro:IPR024364;ID=match%24348_5_200;Name=PF12322;Target=Merlin_8 5 200;date=23-02-2015;signature_desc=T4 bacteriophage base plate protein;status=T\n+Merlin\tfeature\tpolypeptide\t7227\t7435\t.\t+\t.\tID=Merlin_9;md5=5ced4f78a57bd34e165ccf7b43ed3ef1\n+Merlin\tPfam\tprotein_match\t7231\t7433\t6.3E-63\t+\t.\tDbxref=InterPro:IPR024364;ID=match%24164_5_207;Name=PF12322;Target=Merlin_9 5 207;date=23-02-2015;signature_desc=T4 bacteriophage base plate protein;status=T\n+Merlin\tfeature\tpolypeptide\t7856\t7970\t.\t+\t.\tID=Merlin_10;md5=b0c491c633f373b9340ede7359636469\n+Merlin\tPfam\tprotein_match\t7863\t7956\t1.6E-17\t+\t.\tDbxref=InterPro:IPR007048;ID=match%2416_8_101;Name=PF04965;Target=Merlin_10 8 101;date=23-02-2015;signature_desc=Gene 25-like lysozyme;status=T\n+Merlin\tSUPERFAMILY\tprotein_match\t7862\t7957\t.\t+\t.\tID=match%2417_7_102;Name=SSF160719;Target=Merlin_10 7 102;date=23-02-2015;status=T\n+Merlin\tGene3D\tprotein_match\t7857\t7959\t9.3E-27\t+\t.\tDbxref=InterPro:IPR015801;ID=match%2418_2_104;N'..b'Pro:IPR023214;ID=match%24167_7_211;Name=SSF56784;Target=Merlin_302 7 211;date=23-02-2015;status=T\n+Merlin\tGene3D\tprotein_match\t166428\t166561\t5.5E-6\t+\t.\tDbxref=InterPro:IPR023214;ID=match%24168_78_211;Name=G3DSA:3.40.50.1000;Target=Merlin_302 78 211;date=23-02-2015;status=T\n+Merlin\tGene3D\tprotein_match\t166359\t166371\t5.5E-6\t+\t.\tDbxref=InterPro:IPR023214;ID=match%24168_9_21;Name=G3DSA:3.40.50.1000;Target=Merlin_302 9 21;date=23-02-2015;status=T\n+Merlin\tfeature\tpolypeptide\t167486\t167970\t.\t+\t.\tID=Merlin_304;md5=283a418fea20ac001bffdcbf72299ca8\n+Merlin\tSUPERFAMILY\tprotein_match\t167619\t167850\t.\t+\t.\tID=match%24122_134_365;Name=SSF56091;Target=Merlin_304 134 365;date=23-02-2015;status=T\n+Merlin\tGene3D\tprotein_match\t167834\t167952\t5.9E-8\t+\t.\tDbxref=InterPro:IPR012340;ID=match%24123_349_467;Name=G3DSA:2.40.50.140;Target=Merlin_304 349 467;date=23-02-2015;status=T\n+Merlin\tProSitePatterns\tprotein_match\t167827\t167850\t.\t+\t.\tDbxref=InterPro:IPR016059%22%2C%22Reactome:REACT_216;ID=match%24124_342_365;Name=PS00333;Ontology_term=GO:0003909%22%2C%22GO:0051103;Target=Merlin_304 342 365;date=23-02-2015;signature_desc=ATP-dependent DNA ligase signature 2.;status=T\n+Merlin\tPfam\tprotein_match\t167620\t167850\t9.0E-28\t+\t.\tDbxref=InterPro:IPR012310%22%2C%22Reactome:REACT_216;ID=match%24125_135_365;Name=PF01068;Ontology_term=GO:0003910%22%2C%22GO:0005524%22%2C%22GO:0006281%22%2C%22GO:0006310;Target=Merlin_304 135 365;date=23-02-2015;signature_desc=ATP dependent DNA ligase domain;status=T\n+Merlin\tProSitePatterns\tprotein_match\t167642\t167650\t.\t+\t.\tDbxref=InterPro:IPR016059%22%2C%22Reactome:REACT_216;ID=match%24126_157_165;Name=PS00697;Ontology_term=GO:0003909%22%2C%22GO:0051103;Target=Merlin_304 157 165;date=23-02-2015;signature_desc=ATP-dependent DNA ligase AMP-binding site.;status=T\n+Merlin\tGene3D\tprotein_match\t167803\t167833\t8.5E-8\t+\t.\tID=match%24127_318_348;Name=G3DSA:3.30.1490.70;Target=Merlin_304 318 348;date=23-02-2015;status=T\n+Merlin\tGene3D\tprotein_match\t167621\t167646\t8.5E-8\t+\t.\tID=match%24127_136_161;Name=G3DSA:3.30.1490.70;Target=Merlin_304 136 161;date=23-02-2015;status=T\n+Merlin\tSUPERFAMILY\tprotein_match\t167823\t167930\t.\t+\t.\tDbxref=InterPro:IPR012340;ID=match%24128_338_445;Name=SSF50249;Target=Merlin_304 338 445;date=23-02-2015;status=T\n+Merlin\tGene3D\tprotein_match\t167661\t167794\t1.2E-4\t+\t.\tID=match%24129_176_309;Name=G3DSA:3.30.470.30;Target=Merlin_304 176 309;date=23-02-2015;status=T\n+Merlin\tfeature\tpolypeptide\t169174\t169869\t.\t+\t.\tID=Merlin_306;md5=3f61e1cb18fb135a3dc061968bcd879c\n+Merlin\tSUPERFAMILY\tprotein_match\t169736\t169781\t.\t+\t.\tID=match%24253_563_608;Name=SSF56399;Target=Merlin_306 563 608;date=23-02-2015;status=T\n+Merlin\tSUPERFAMILY\tprotein_match\t169590\t169696\t.\t+\t.\tID=match%24253_417_523;Name=SSF56399;Target=Merlin_306 417 523;date=23-02-2015;status=T\n+Merlin\tPfam\tprotein_match\t169589\t169781\t1.6E-22\t+\t.\tDbxref=InterPro:IPR003540;ID=match%24254_416_608;Name=PF03496;Ontology_term=GO:0005576%22%2C%22GO:0009405;Target=Merlin_306 416 608;date=23-02-2015;signature_desc=ADP-ribosyltransferase exoenzyme;status=T\n+Merlin\tGene3D\tprotein_match\t169597\t169698\t2.1E-28\t+\t.\tID=match%24255_424_525;Name=G3DSA:3.90.176.10;Target=Merlin_306 424 525;date=23-02-2015;status=T\n+Merlin\tGene3D\tprotein_match\t169738\t169784\t2.1E-28\t+\t.\tID=match%24255_565_611;Name=G3DSA:3.90.176.10;Target=Merlin_306 565 611;date=23-02-2015;status=T\n+Merlin\tfeature\tpolypeptide\t171300\t171794\t.\t+\t.\tID=Merlin_307;md5=0f4b8b0843334ccf18e5a4a7cbdf67b2\n+Merlin\tSUPERFAMILY\tprotein_match\t171723\t171792\t.\t+\t.\tID=match%24339_424_493;Name=SSF56399;Target=Merlin_307 424 493;date=23-02-2015;status=T\n+Merlin\tGene3D\tprotein_match\t171722\t171791\t5.2E-11\t+\t.\tID=match%24340_423_492;Name=G3DSA:3.90.176.10;Target=Merlin_307 423 492;date=23-02-2015;status=T\n+Merlin\tPfam\tprotein_match\t171723\t171791\t2.0E-9\t+\t.\tDbxref=InterPro:IPR003540;ID=match%24341_424_492;Name=PF03496;Ontology_term=GO:0005576%22%2C%22GO:0009405;Target=Merlin_307 424 492;date=23-02-2015;signature_desc=ADP-ribosyltransferase exoenzyme;status=T\n' |
b |
diff -r b6a0e126dbee -r 7342f467507b test-data/gff3/merlin.gff --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/gff3/merlin.gff Thu Dec 31 13:58:43 2015 -0500 |
b |
b'@@ -0,0 +1,1230 @@\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 b6a0e126dbee -r 7342f467507b test-data/gff3/test.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/gff3/test.xml Thu Dec 31 13:58:43 2015 -0500 |
b |
@@ -0,0 +1,218 @@ +<?xml version="1.0"?> +<root> + <metadata> + <gencode>11</gencode> + <genomes> + <genome>test-data/merlin.fa</genome> + </genomes> + </metadata> + <tracks> + <track cat="Auto Coloured" format="gene_calls"> + <files> + <trackFile path="test-data/gff3/1.gff" ext="gff3" label="A"/> + <trackFile path="test-data/gff3/1.gff" ext="gff3" label="B"/> + <trackFile path="test-data/gff3/1.gff" ext="gff3" label="C"/> + <trackFile path="test-data/gff3/1.gff" ext="gff3" label="D"/> + </files> + + <options> + <style> + <className>feature</className> + <description>feature</description> + <label>name,id</label> + <height>100px</height> + </style> + <gff> + </gff> + <scaling> + <method>ignore</method> + <scheme> + <color>__auto__</color> + </scheme> + </scaling> + </options> + </track> + <track cat="Ignore Scale" format="gene_calls"> + <files> + <trackFile path="test-data/gff3/1.gff" ext="gff3" label="Fixed Colour"/> + </files> + + <options> + <style> + <className>feature</className> + <description>feature</description> + <label>name,id</label> + <height>100px</height> + </style> + <gff> + </gff> + <scaling> + <method>ignore</method> + <scheme> + <color>#ff00ff</color> + </scheme> + </scaling> + </options> + </track> + <track cat="Scaled Colour" format="gene_calls"> + <files> + <trackFile path="test-data/gff3/1.gff" ext="gff3" label="Linear, Auto-bounds"/> + </files> + + <options> + <style> + <className>feature</className> + <description>feature</description> + <label>name,id</label> + <height>100px</height> + </style> + <gff> + </gff> + <scaling> + <method>score</method> + <algo>linear</algo> + <scales> + <type>__auto__</type> + </scales> + <scheme> + <type>opacity</type> + <color>__auto__</color> + </scheme> + </scaling> + </options> + </track> + <track cat="Scaled Colour" format="gene_calls"> + <files> + <trackFile path="test-data/gff3/1.gff" ext="gff3" label="Linear, Auto-bounds, Fixed Color"/> + </files> + + <options> + <style> + <className>feature</className> + <description>feature</description> + <label>name,id</label> + <height>100px</height> + </style> + <gff> + </gff> + <scaling> + <method>score</method> + <algo>linear</algo> + <scales> + <type>__auto__</type> + </scales> + <scheme> + <type>opacity</type> + <color>#0000ff</color> + </scheme> + </scaling> + </options> + </track> + <track cat="Scaled Colour" format="gene_calls"> + <files> + <trackFile path="test-data/gff3/1.gff" ext="gff3" label="Linear, Manual Bounds"/> + </files> + + <options> + <style> + <className>feature</className> + <description>feature</description> + <label>name,id</label> + <height>100px</height> + </style> + <gff> + </gff> + <scaling> + <method>score</method> + <algo>linear</algo> + <scales> + <type>manual</type> + <min>0</min> + <max>1000</max> + </scales> + <scheme> + <type>opacity</type> + <color>__auto__</color> + </scheme> + </scaling> + </options> + </track> + <track cat="Scaled Colour" format="gene_calls"> + <files> + <trackFile path="test-data/gff3/1.gff" ext="gff3" label="Linear, Manual Bounds, Fixed Color"/> + </files> + + <options> + <style> + <className>feature</className> + <description>feature</description> + <label>name,id</label> + <height>100px</height> + </style> + <gff> + </gff> + <scaling> + <method>score</method> + <algo>linear</algo> + <scales> + <type>manual</type> + <min>0</min> + <max>1000</max> + </scales> + <scheme> + <type>opacity</type> + <color>#ff0000</color> + </scheme> + </scaling> + </options> + </track> + + + <track cat="Realistic" format="gene_calls"> + <files> + <trackFile path="test-data/gff3/interpro.gff" ext="gff3" label="Interpro data"/> + </files> + + <options> + <style> + <className>feature</className> + <description>feature</description> + <label>name,id</label> + <height>100px</height> + </style> + <gff> + </gff> + <scaling> + <method>ignore</method> + <scheme> + <color>__auto__</color> + </scheme> + </scaling> + </options> + </track> + <track cat="Realistic" format="gene_calls"> + <files> + <trackFile path="test-data/gff3/2.gff" ext="gff3" label="Match/Match Part"/> + </files> + + <options> + <style> + <className>feature</className> + <description>feature</description> + <label>name,id</label> + <height>100px</height> + </style> + <gff> + <match>cDNA_match</match> + </gff> + <scaling> + <method>ignore</method> + <scheme> + <type>opacity</type> + <color>__auto__</color> + </scheme> + </scaling> + </options> + </track> + </tracks> +</root> |
b |
diff -r b6a0e126dbee -r 7342f467507b test-data/index.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/index.html Thu Dec 31 13:58:43 2015 -0500 |
[ |
@@ -0,0 +1,112 @@ +<!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 b6a0e126dbee -r 7342f467507b test-data/interpro.gff --- a/test-data/interpro.gff Tue Jun 23 12:10:15 2015 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 |
b |
b'@@ -1,558 +0,0 @@\n-##gff-version 3\n-##sequence-region Merlin 1 172788\n-Merlin\tannotation\tremark\t1\t172788\t.\t.\t.\tgff-version=3;sequence-region=%28%27Merlin%27%2C 0%2C 172788%29\n-Merlin\tfeature\tpolypeptide\t1\t229\t.\t+\t.\tID=Merlin_1;md5=4d58b2b569c2fe52e2945e3f6e380c48\n-Merlin\tGene3D\tprotein_match\t2\t50\t2.9E-21\t+\t.\tID=match%2477_2_50;Name=G3DSA:3.90.176.10;Target=Merlin_1 2 50;date=23-02-2015;status=T\n-Merlin\tGene3D\tprotein_match\t106\t165\t2.9E-21\t+\t.\tID=match%2477_106_165;Name=G3DSA:3.90.176.10;Target=Merlin_1 106 165;date=23-02-2015;status=T\n-Merlin\tPfam\tprotein_match\t7\t162\t1.9E-12\t+\t.\tDbxref=InterPro:IPR003540;ID=match%2478_7_162;Name=PF03496;Ontology_term=GO:0005576%22%2C%22GO:0009405;Target=Merlin_1 7 162;date=23-02-2015;signature_desc=ADP-ribosyltransferase exoenzyme;status=T\n-Merlin\tSUPERFAMILY\tprotein_match\t2\t48\t.\t+\t.\tID=match%2479_2_48;Name=SSF56399;Target=Merlin_1 2 48;date=23-02-2015;status=T\n-Merlin\tSUPERFAMILY\tprotein_match\t104\t164\t.\t+\t.\tID=match%2479_104_164;Name=SSF56399;Target=Merlin_1 104 164;date=23-02-2015;status=T\n-Merlin\tfeature\tpolypeptide\t1698\t2011\t.\t-\t.\tID=Merlin_3;md5=6b220b99a5d2dd40f55bb664a8dbdfb3\n-Merlin\tPfam\tprotein_match\t1912\t2011\t1.5E-8\t-\t.\tDbxref=InterPro:IPR010667;ID=match%24113_149_248;Name=PF06841;Ontology_term=GO:0005198;Target=Merlin_3 149 248;date=23-02-2015;signature_desc=T4-like virus tail tube protein gp19;status=T\n-Merlin\tfeature\tpolypeptide\t2716\t3066\t.\t-\t.\tID=Merlin_4;md5=bdb226d471fe35e28ce6a9ed4649a1f8\n-Merlin\tPfam\tprotein_match\t2725\t3066\t1.6E-150\t-\t.\tDbxref=InterPro:IPR024389;ID=match%24361_4_345;Name=PF11091;Target=Merlin_4 4 345;date=23-02-2015;signature_desc=Tail-tube assembly protein;status=T\n-Merlin\tfeature\tpolypeptide\t5144\t5317\t.\t-\t.\tID=Merlin_6;md5=c61e0e2dba259054b9c93fd931056fdd\n-Merlin\tPfam\tprotein_match\t5166\t5317\t1.5E-59\t-\t.\tDbxref=InterPro:IPR024342;ID=match%24360_21_172;Name=PF11110;Target=Merlin_6 21 172;date=23-02-2015;signature_desc=Baseplate hub distal subunit;status=T\n-Merlin\tfeature\tpolypeptide\t6052\t6431\t.\t-\t.\tID=Merlin_7;md5=b51a60ffef9f07b672e0d12d26d27bbc\n-Merlin\tSUPERFAMILY\tprotein_match\t6256\t6431\t.\t-\t.\tID=match%24227_199_374;Name=SSF69279;Target=Merlin_7 199 374;date=23-02-2015;status=T\n-Merlin\tSUPERFAMILY\tprotein_match\t6238\t6431\t.\t-\t.\tID=match%24228_5_198;Name=SSF69279;Target=Merlin_7 5 198;date=23-02-2015;status=T\n-Merlin\tPfam\tprotein_match\t6237\t6431\t4.3E-96\t-\t.\tDbxref=InterPro:IPR015181;ID=match%24229_4_198;Name=PF09097;Target=Merlin_7 4 198;date=23-02-2015;signature_desc=Baseplate structural protein,domain 1;status=T\n-Merlin\tGene3D\tprotein_match\t6320\t6431\t1.4E-54\t-\t.\tID=match%24230_3_114;Name=G3DSA:2.40.10.10;Target=Merlin_7 3 114;date=23-02-2015;status=T\n-Merlin\tPfam\tprotein_match\t6263\t6431\t3.9E-83\t-\t.\tDbxref=InterPro:IPR015180;ID=match%24231_201_369;Name=PF09096;Target=Merlin_7 201 369;date=23-02-2015;signature_desc=Baseplate structural protein,domain 2;status=T\n-Merlin\tfeature\tpolypeptide\t6931\t7180\t.\t-\t.\tID=Merlin_8;md5=78306f53371e5e47b051cad8a16b86e5\n-Merlin\tPfam\tprotein_match\t6985\t7180\t9.8E-56\t-\t.\tDbxref=InterPro:IPR024364;ID=match%24348_5_200;Name=PF12322;Target=Merlin_8 5 200;date=23-02-2015;signature_desc=T4 bacteriophage base plate protein;status=T\n-Merlin\tfeature\tpolypeptide\t7227\t7435\t.\t+\t.\tID=Merlin_9;md5=5ced4f78a57bd34e165ccf7b43ed3ef1\n-Merlin\tPfam\tprotein_match\t7231\t7433\t6.3E-63\t+\t.\tDbxref=InterPro:IPR024364;ID=match%24164_5_207;Name=PF12322;Target=Merlin_9 5 207;date=23-02-2015;signature_desc=T4 bacteriophage base plate protein;status=T\n-Merlin\tfeature\tpolypeptide\t7856\t7970\t.\t+\t.\tID=Merlin_10;md5=b0c491c633f373b9340ede7359636469\n-Merlin\tPfam\tprotein_match\t7863\t7956\t1.6E-17\t+\t.\tDbxref=InterPro:IPR007048;ID=match%2416_8_101;Name=PF04965;Target=Merlin_10 8 101;date=23-02-2015;signature_desc=Gene 25-like lysozyme;status=T\n-Merlin\tSUPERFAMILY\tprotein_match\t7862\t7957\t.\t+\t.\tID=match%2417_7_102;Name=SSF160719;Target=Merlin_10 7 102;date=23-02-2015;status=T\n-Merlin\tGene3D\tprotein_match\t7857\t7959\t9.3E-27\t+\t.\tDbxref=InterPro:IPR015801;ID=match%2418_2_104;N'..b'Pro:IPR023214;ID=match%24167_7_211;Name=SSF56784;Target=Merlin_302 7 211;date=23-02-2015;status=T\n-Merlin\tGene3D\tprotein_match\t166428\t166561\t5.5E-6\t+\t.\tDbxref=InterPro:IPR023214;ID=match%24168_78_211;Name=G3DSA:3.40.50.1000;Target=Merlin_302 78 211;date=23-02-2015;status=T\n-Merlin\tGene3D\tprotein_match\t166359\t166371\t5.5E-6\t+\t.\tDbxref=InterPro:IPR023214;ID=match%24168_9_21;Name=G3DSA:3.40.50.1000;Target=Merlin_302 9 21;date=23-02-2015;status=T\n-Merlin\tfeature\tpolypeptide\t167486\t167970\t.\t+\t.\tID=Merlin_304;md5=283a418fea20ac001bffdcbf72299ca8\n-Merlin\tSUPERFAMILY\tprotein_match\t167619\t167850\t.\t+\t.\tID=match%24122_134_365;Name=SSF56091;Target=Merlin_304 134 365;date=23-02-2015;status=T\n-Merlin\tGene3D\tprotein_match\t167834\t167952\t5.9E-8\t+\t.\tDbxref=InterPro:IPR012340;ID=match%24123_349_467;Name=G3DSA:2.40.50.140;Target=Merlin_304 349 467;date=23-02-2015;status=T\n-Merlin\tProSitePatterns\tprotein_match\t167827\t167850\t.\t+\t.\tDbxref=InterPro:IPR016059%22%2C%22Reactome:REACT_216;ID=match%24124_342_365;Name=PS00333;Ontology_term=GO:0003909%22%2C%22GO:0051103;Target=Merlin_304 342 365;date=23-02-2015;signature_desc=ATP-dependent DNA ligase signature 2.;status=T\n-Merlin\tPfam\tprotein_match\t167620\t167850\t9.0E-28\t+\t.\tDbxref=InterPro:IPR012310%22%2C%22Reactome:REACT_216;ID=match%24125_135_365;Name=PF01068;Ontology_term=GO:0003910%22%2C%22GO:0005524%22%2C%22GO:0006281%22%2C%22GO:0006310;Target=Merlin_304 135 365;date=23-02-2015;signature_desc=ATP dependent DNA ligase domain;status=T\n-Merlin\tProSitePatterns\tprotein_match\t167642\t167650\t.\t+\t.\tDbxref=InterPro:IPR016059%22%2C%22Reactome:REACT_216;ID=match%24126_157_165;Name=PS00697;Ontology_term=GO:0003909%22%2C%22GO:0051103;Target=Merlin_304 157 165;date=23-02-2015;signature_desc=ATP-dependent DNA ligase AMP-binding site.;status=T\n-Merlin\tGene3D\tprotein_match\t167803\t167833\t8.5E-8\t+\t.\tID=match%24127_318_348;Name=G3DSA:3.30.1490.70;Target=Merlin_304 318 348;date=23-02-2015;status=T\n-Merlin\tGene3D\tprotein_match\t167621\t167646\t8.5E-8\t+\t.\tID=match%24127_136_161;Name=G3DSA:3.30.1490.70;Target=Merlin_304 136 161;date=23-02-2015;status=T\n-Merlin\tSUPERFAMILY\tprotein_match\t167823\t167930\t.\t+\t.\tDbxref=InterPro:IPR012340;ID=match%24128_338_445;Name=SSF50249;Target=Merlin_304 338 445;date=23-02-2015;status=T\n-Merlin\tGene3D\tprotein_match\t167661\t167794\t1.2E-4\t+\t.\tID=match%24129_176_309;Name=G3DSA:3.30.470.30;Target=Merlin_304 176 309;date=23-02-2015;status=T\n-Merlin\tfeature\tpolypeptide\t169174\t169869\t.\t+\t.\tID=Merlin_306;md5=3f61e1cb18fb135a3dc061968bcd879c\n-Merlin\tSUPERFAMILY\tprotein_match\t169736\t169781\t.\t+\t.\tID=match%24253_563_608;Name=SSF56399;Target=Merlin_306 563 608;date=23-02-2015;status=T\n-Merlin\tSUPERFAMILY\tprotein_match\t169590\t169696\t.\t+\t.\tID=match%24253_417_523;Name=SSF56399;Target=Merlin_306 417 523;date=23-02-2015;status=T\n-Merlin\tPfam\tprotein_match\t169589\t169781\t1.6E-22\t+\t.\tDbxref=InterPro:IPR003540;ID=match%24254_416_608;Name=PF03496;Ontology_term=GO:0005576%22%2C%22GO:0009405;Target=Merlin_306 416 608;date=23-02-2015;signature_desc=ADP-ribosyltransferase exoenzyme;status=T\n-Merlin\tGene3D\tprotein_match\t169597\t169698\t2.1E-28\t+\t.\tID=match%24255_424_525;Name=G3DSA:3.90.176.10;Target=Merlin_306 424 525;date=23-02-2015;status=T\n-Merlin\tGene3D\tprotein_match\t169738\t169784\t2.1E-28\t+\t.\tID=match%24255_565_611;Name=G3DSA:3.90.176.10;Target=Merlin_306 565 611;date=23-02-2015;status=T\n-Merlin\tfeature\tpolypeptide\t171300\t171794\t.\t+\t.\tID=Merlin_307;md5=0f4b8b0843334ccf18e5a4a7cbdf67b2\n-Merlin\tSUPERFAMILY\tprotein_match\t171723\t171792\t.\t+\t.\tID=match%24339_424_493;Name=SSF56399;Target=Merlin_307 424 493;date=23-02-2015;status=T\n-Merlin\tGene3D\tprotein_match\t171722\t171791\t5.2E-11\t+\t.\tID=match%24340_423_492;Name=G3DSA:3.90.176.10;Target=Merlin_307 423 492;date=23-02-2015;status=T\n-Merlin\tPfam\tprotein_match\t171723\t171791\t2.0E-9\t+\t.\tDbxref=InterPro:IPR003540;ID=match%24341_424_492;Name=PF03496;Ontology_term=GO:0005576%22%2C%22GO:0009405;Target=Merlin_307 424 492;date=23-02-2015;signature_desc=ADP-ribosyltransferase exoenzyme;status=T\n' |
b |
diff -r b6a0e126dbee -r 7342f467507b test-data/merlin.gff --- a/test-data/merlin.gff Tue Jun 23 12:10:15 2015 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 |
b |
b'@@ -1,1231 +0,0 @@\n-##gff-version 3\n-##sequence-region Merlin 1 172788\n-Merlin\tannotation\tremark\t1\t172788\t.\t.\t.\tgff-version=3;sequence-region=%28%27Merlin%27%2C 0%2C 172788%29\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\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'..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 b6a0e126dbee -r 7342f467507b test-data/test.vcf --- a/test-data/test.vcf Tue Jun 23 12:10:15 2015 -0400 +++ /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 b6a0e126dbee -r 7342f467507b test-data/vcf/test.vcf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/vcf/test.vcf Thu Dec 31 13:58:43 2015 -0500 |
b |
@@ -0,0 +1,23 @@ +##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 b6a0e126dbee -r 7342f467507b test-data/vcf/test.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/vcf/test.xml Thu Dec 31 13:58:43 2015 -0500 |
b |
@@ -0,0 +1,18 @@ +<?xml version="1.0"?> +<root> + <metadata> + <gencode>11</gencode> + <genomes> + <genome>test-data/merlin.fa</genome> + </genomes> + </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 b6a0e126dbee -r 7342f467507b test.yml --- a/test.yml Tue Jun 23 12:10:15 2015 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 |
b |
@@ -1,54 +0,0 @@ ---- - - - file: test-data/154.bam - ext: bam - label: Sequencing Data - category: "Sequencing Data" - options: - __unused__: "Not used...just to ensure options has at least one key" - auto_snp: true - bam_index: test-data/154.bam.bai - - - file: test-data/merlin.gff - ext: gff3 - label: "Gene Calls" - category: "Default" - options: - __unused__: "Not used...just to ensure options has at least one key" - match: false - - - file: test-data/154.bw - ext: bigwig - label: "Bigwig Test" - category: "Sequencing Data" - options: - __unused__: "Not used...just to ensure options has at least one key" - type: JBrowse/View/Track/Wiggle/XYPlot - variance_band: true - autoscale: local - - - file: test-data/test.vcf - ext: vcf - label: "Variant Test" - category: "Sequencing Data" - options: - __unused__: "Not used...just to ensure options has at least one key" - - - file: test-data/blast.xml - ext: blastxml - label: "BlastP Hits" - category: "Comparative Genomics" - options: - __unused__: "Not used...just to ensure options has at least one key" - parent: test-data/merlin.gff - protein: true - min_gap: 10 - match: true - - - file: test-data/xmfa.gff - ext: gff3 - label: "Progressive Mauve comparison" - category: "Comparative Genomics" - options: - __unused__: "Not used...just to ensure options has at least one key" - match: true |
b |
diff -r b6a0e126dbee -r 7342f467507b tool_dependencies.xml --- a/tool_dependencies.xml Tue Jun 23 12:10:15 2015 -0400 +++ b/tool_dependencies.xml Thu Dec 31 13:58:43 2015 -0500 |
b |
@@ -1,21 +1,27 @@ <?xml version="1.0"?> <tool_dependency> - <package name="jbrowse" version="1.11.6"> - <repository changeset_revision="d5ab749c9e97" name="package_jbrowse_1_11_6" owner="iuc" toolshed="https://toolshed.g2.bx.psu.edu" /> + <package name="jbrowse" version="1.12.0"> + <repository changeset_revision="22be3ae5599d" name="package_jbrowse_1_12_0" owner="iuc" toolshed="https://toolshed.g2.bx.psu.edu" /> + </package> + <package name="bundle_jbrowse" version="1.12.0"> + <repository changeset_revision="52153ec17769" name="package_perl_bundle_jbrowse_1_12_0" owner="iuc" toolshed="https://toolshed.g2.bx.psu.edu" /> </package> <package name="python" version="2.7"> - <repository changeset_revision="44bb4258922f" name="package_python_2_7" owner="iuc" toolshed="https://toolshed.g2.bx.psu.edu" /> + <repository changeset_revision="8b09fe018cac" name="package_python_2_7" owner="iuc" toolshed="https://toolshed.g2.bx.psu.edu" /> + </package> + <package name="biopython" version="1.66"> + <repository changeset_revision="8433ee4531ff" name="package_biopython_1_66" owner="biopython" toolshed="https://toolshed.g2.bx.psu.edu" /> </package> - <package name="perl" version="5.18"> - <repository changeset_revision="114b6af405fa" name="package_perl_5_18" owner="iuc" toolshed="https://toolshed.g2.bx.psu.edu" /> + <package name="bcbiogff" version="0.6.2"> + <repository changeset_revision="b584674413b1" name="package_python_2_7_bcbiogff_0_6_2" owner="iuc" toolshed="https://toolshed.g2.bx.psu.edu" /> + </package> + <package name="perl" version="5.18.1"> + <repository changeset_revision="8b3509930a44" name="package_perl_5_18" owner="iuc" toolshed="https://toolshed.g2.bx.psu.edu" /> </package> <package name="samtools" version="1.2"> - <repository changeset_revision="6eea04363026" name="package_samtools_1_2" owner="iuc" toolshed="https://toolshed.g2.bx.psu.edu" /> - </package> - <package name="bundle_jbrowse" version="1.0"> - <repository changeset_revision="361f7cf7a442" name="package_perl_bundle_jbrowse_1_0" owner="iuc" toolshed="https://toolshed.g2.bx.psu.edu" /> + <repository changeset_revision="f6ae3ba3f3c1" name="package_samtools_1_2" owner="iuc" toolshed="https://toolshed.g2.bx.psu.edu" /> </package> <package name="pyyaml" version="3.11"> - <repository changeset_revision="195682051d7c" name="package_python_2_7_pyyaml_3_11" owner="iuc" toolshed="https://toolshed.g2.bx.psu.edu" /> + <repository changeset_revision="99267d131c05" name="package_python_2_7_pyyaml_3_11" owner="iuc" toolshed="https://toolshed.g2.bx.psu.edu" /> </package> </tool_dependency> |