Repository 'map_peptides_to_bed'
hg clone https://toolshed.g2.bx.psu.edu/repos/galaxyp/map_peptides_to_bed

Changeset 0:51f8f9041724 (2016-01-25)
Next changeset 1:db90662d26f9 (2016-02-22)
Commit message:
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/map_peptides_to_bed commit e04ed4b4960d6109a85c1cc68a2bf4931c8751ef-dirty
added:
map_peptides_to_bed.py
map_peptides_to_bed.xml
test-data/mapped_peptides.bed
test-data/peptides.tsv
test-data/translated_bed_sequences.bed
tool_dependencies.xml
b
diff -r 000000000000 -r 51f8f9041724 map_peptides_to_bed.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/map_peptides_to_bed.py Mon Jan 25 15:32:49 2016 -0500
[
b'@@ -0,0 +1,333 @@\n+#!/usr/bin/env python\n+"""\n+#\n+#------------------------------------------------------------------------------\n+#                         University of Minnesota\n+#         Copyright 2014, Regents of the University of Minnesota\n+#------------------------------------------------------------------------------\n+# Author:\n+#\n+#  James E Johnson\n+#\n+#------------------------------------------------------------------------------\n+"""\n+\n+"""\n+Input: list of protein_accessions, peptide_sequence\n+       GFF3 with fasta \n+Output: GFF3 of peptides\n+\n+Filter: Must cross splice boundary\n+  \n+"""\n+\n+import sys,re,os.path\n+import tempfile\n+import optparse\n+from optparse import OptionParser\n+from Bio.Seq import reverse_complement, transcribe, back_transcribe, translate\n+\n+class BedEntry( object ):\n+  def __init__(self, line):\n+    self.line = line\n+    try:\n+      fields = line.rstrip(\'\\r\\n\').split(\'\\t\')\n+      (chrom,chromStart,chromEnd,name,score,strand,thickStart,thickEnd,itemRgb,blockCount,blockSizes,blockStarts) = fields[0:12]\n+      seq = fields[12] if len(fields) > 12 else None\n+      self.chrom = chrom\n+      self.chromStart = int(chromStart)\n+      self.chromEnd = int(chromEnd)\n+      self.name = name\n+      self.score = int(score)\n+      self.strand = strand\n+      self.thickStart = int(thickStart)\n+      self.thickEnd = int(thickEnd)\n+      self.itemRgb = itemRgb\n+      self.blockCount = int(blockCount)\n+      self.blockSizes = [int(x) for x in blockSizes.split(\',\')]\n+      self.blockStarts = [int(x) for x in blockStarts.split(\',\')]\n+      self.seq = seq\n+    except Exception, e:\n+      print >> sys.stderr, "Unable to read Bed entry" % e\n+      exit(1)\n+  def __str__(self):\n+    return \'%s\\t%d\\t%d\\t%s\\t%d\\t%s\\t%d\\t%d\\t%s\\t%d\\t%s\\t%s%s\' % (\n+      self.chrom, self.chromStart, self.chromEnd, self.name, self.score, self.strand, self.thickStart, self.thickEnd, self.itemRgb, self.blockCount, \n+      \',\'.join([str(x) for x in self.blockSizes]), \n+      \',\'.join([str(x) for x in self.blockStarts]), \n+      \'\\t%s\' % self.seq if self.seq else \'\')\n+  def get_splice_junctions(self): \n+    splice_juncs = []\n+    for i in range(self.blockCount  - 1):\n+      splice_junc = "%s:%d_%d" % (self.chrom, self.chromStart + self.blockSizes[i], self.chromStart + self.blockStarts[i+1])\n+      splice_juncs.append(splice_junc)\n+    return splice_juncs\n+  def get_exon_seqs(self):\n+    exons = []\n+    for i in range(self.blockCount):\n+      # splice_junc = "%s:%d_%d" % (self.chrom, self.chromStart + self.blockSizes[i], self.chromStart + self.blockStarts[i+1])\n+      exons.append(self.seq[self.blockStarts[i]:self.blockStarts[i] + self.blockSizes[i]])\n+    if self.strand == \'-\':  #reverse complement\n+      exons.reverse()\n+      for i,s in enumerate(exons):\n+        exons[i] = reverse_complement(s)\n+    return exons\n+  def get_spliced_seq(self):\n+    seq = \'\'.join(self.get_exon_seqs())\n+    return seq\n+  def get_translation(self,sequence=None):\n+    translation = None\n+    seq = sequence if sequence else self.get_spliced_seq()\n+    if seq:\n+      seqlen = len(seq) / 3 * 3;\n+      if seqlen >= 3:\n+        translation = translate(seq[:seqlen])\n+    return translation\n+  def get_translations(self):\n+    translations = []\n+    seq = self.get_spliced_seq()\n+    if seq:\n+      for i in range(3):\n+        translation = self.get_translation(sequence=seq[i:])\n+        if translation:\n+          translations.append(translation)\n+    return translations\n+  ## (start,end)\n+  def get_subrange(self,tstart,tstop):\n+    chromStart = self.chromStart\n+    chromEnd = self.chromEnd\n+    r = range(self.blockCount)\n+    if self.strand == \'-\':\n+      r.reverse()\n+    bStart = 0\n+    for x in r:\n+      bEnd = bStart + self.blockSizes[x]\n+      ## print >> sys.stderr, "%d chromStart: %d  chromEnd: %s  bStart: %s  bEnd: %d" % (x,chromStart,chromEnd,bStart,bEnd)\n+      if bStart <= tstart < bEnd:\n+        if self.strand == \'+\':\n+          chromStart = self.chromStart +'..b'ue\', default=False, help=\'Add #gffTags to bed output for IGV\'  )\n+  parser.add_option( \'-d\', \'--debug\', dest=\'debug\', action=\'store_true\', default=False, help=\'Turn on wrapper debugging to stderr\'  )\n+  (options, args) = parser.parse_args()\n+  # Input files\n+  if options.input != None:\n+    try:\n+      inputPath = os.path.abspath(options.input)\n+      inputFile = open(inputPath, \'r\')\n+    except Exception, e:\n+      print >> sys.stderr, "failed: %s" % e\n+      exit(2)\n+  else:\n+    inputFile = sys.stdin\n+  inputBed = None\n+  if options.translated_bed != None:\n+    inputBed = open(os.path.abspath(options.translated_bed),\'r\')\n+  peptide_column = options.peptide_column - 1\n+  name_column = options.name_column - 1 if options.name_column else None \n+  start_column = options.start_column - 1 if options.start_column else None \n+  # Read in peptides\n+  # peps[prot_name] = [seq]\n+  prot_peps = dict()\n+  unassigned_peps = set()\n+  try:\n+    for i, line in enumerate( inputFile ):\n+      ## print >> sys.stderr, "%3d\\t%s" % (i,line)\n+      if line.startswith(\'#\'):\n+        continue\n+      fields = line.rstrip(\'\\r\\n\').split(\'\\t\')\n+      ## print >> sys.stderr, "%3d\\t%s" % (i,fields)\n+      if peptide_column < len(fields): \n+        peptide = fields[peptide_column]\n+        prot_name = fields[name_column] if name_column is not None and name_column < len(fields) else None\n+        if prot_name:\n+          offset = fields[start_column] if start_column is not None and start_column < len(fields) else -1\n+          if prot_name not in prot_peps:\n+            prot_peps[prot_name] = dict()\n+          prot_peps[prot_name][peptide] = offset\n+        else:\n+          unassigned_peps.add(peptide)  \n+    if options.debug:\n+      print >> sys.stderr, "prot_peps: %s" % prot_peps\n+      print >> sys.stderr, "unassigned_peps: %s" % unassigned_peps\n+  except Exception, e:\n+    print >> sys.stderr, "failed: Error reading %s - %s" % (options.input if options.input else \'stdin\',e)\n+    exit(1)\n+  # Output files\n+  bed_fh = None\n+  ## gff_fh = None\n+  ## gff_fa_file = None\n+  gff_fa = None\n+  outFile = None\n+  if options.bed:\n+    bed_fh = open(options.bed,\'w\')\n+    bed_fh.write(\'track name="%s" type=bedDetail description="%s" \\n\' % (\'novel_junction_peptides\',\'test\'))\n+    if options.gffTags:\n+      bed_fh.write(\'#gffTags\\n\')\n+  ## if options.gff:\n+  ##   gff_fh = open(options.gff,\'w\')\n+  ##   gff_fh.write("##gff-version 3.2.1\\n")\n+  ##   if options.reference:\n+  ##    gff_fh.write("##genome-build %s %s\\n" % (options.refsource if options.refsource else \'unknown\', options.reference))\n+  try:\n+    for i, line in enumerate( inputBed ):\n+      ## print >> sys.stderr, "%3d:\\t%s" % (i,line)\n+      if line.startswith(\'track\'):\n+        continue\n+      entry = BedEntry(line)\n+      if entry.name in prot_peps:\n+        for (peptide,offset) in prot_peps[entry.name].iteritems():\n+          if offset < 0:\n+            offset = entry.seq.find(peptide)\n+            if options.debug:\n+              print >> sys.stderr, "%s\\t%s\\t%d\\t%s\\n" % (entry.name, peptide,offset,entry.seq)\n+          if offset >= 0:\n+            tstart = offset * 3\n+            tstop = tstart + len(peptide) * 3\n+            if options.debug:\n+              print >> sys.stderr, "%d\\t%d\\t%d" % (offset,tstart,tstop)\n+            (pepStart,pepEnd) = entry.get_subrange(tstart,tstop)\n+            if options.debug:\n+              print >> sys.stderr, "%d\\t%d\\t%d" % (offset,pepStart,pepEnd)\n+            if bed_fh:\n+              entry.thickStart = pepStart\n+              entry.thickEnd = pepEnd\n+              bedfields = str(entry).split(\'\\t\')\n+              if options.gffTags:\n+                bedfields[3] = "ID=%s;Name=%s" % (entry.name,peptide) \n+              bed_fh.write("%s\\t%s\\t%s\\n" % (\'\\t\'.join(bedfields[:12]),peptide,entry.seq))\n+  except Exception, e:\n+    print >> sys.stderr, "failed: Error reading %s - %s" % (options.input if options.input else \'stdin\',e)\n+\n+if __name__ == "__main__" : __main__()\n+\n'
b
diff -r 000000000000 -r 51f8f9041724 map_peptides_to_bed.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/map_peptides_to_bed.xml Mon Jan 25 15:32:49 2016 -0500
[
@@ -0,0 +1,68 @@
+<tool id="map_peptides_to_bed" name="Map peptides to a bed file" version="0.1.0">
+    <requirements>
+        <requirement type="package" version="1.62">biopython</requirement>
+    </requirements>
+    <stdio>
+        <exit_code range="1:" />
+    </stdio>
+    <command interpreter="python"><![CDATA[
+        map_peptides_to_bed.py 
+          --translated_bed="$translated_bed" 
+          --input="$input" 
+          #if $peptide_column:
+            --peptide_column=$peptide_column 
+          #end if
+          #if $name_column:
+            --name_column=$name_column
+          #end if
+          #if $start_column:
+            --start_column=$start_column
+          #end if
+          $gffTags
+          --bed="$mapped_peptides"
+    ]]></command>
+    <inputs>
+        <param name="translated_bed" type="data" format="bed" label="Translated bed with IDs to match in the input" help=""/>
+        <param name="input" type="data" format="tabular" label="Identified Peptides" help=""/>
+        <param name="peptide_column" type="data_column" data_ref="input" label="peptide column" optional="true" 
+               help="Defaults to first column"/>
+        <param name="name_column" type="data_column" data_ref="input" label="protein name column" optional="true" 
+               help="The name in this column must match the name column in the Translate bed"/>
+        <param name="start_column" type="data_column" data_ref="input" label="peptide offset column" optional="true" 
+               help="The offset in AnimoAcids of the peptide from the start of the protein sequence"/>
+        <param name="gffTags" type="boolean" truevalue="--gffTags" falsevalue="" checked="true" label="Use #gffTags in output" help=""/>
+    </inputs>
+    <outputs>
+        <data name="mapped_peptides" format="bed" />
+    </outputs>
+    <tests>
+        <test>
+            <param name="translated_bed" type="data" ftype="bed" value="translated_bed_sequences.bed"/>
+            <param name="input" type="data" ftype="tabular" value="peptides.tsv"/>
+            <param name="peptide_column" value="2"/>
+            <param name="name_column" value="1"/>
+            <output name="mapped_peptides" file="mapped_peptides.bed"/>
+        </test>
+    </tests>
+    <help><![CDATA[
+        Usage: map_peptides_to_bed.py [options]
+
+Options:
+  -h, --help            show this help message and exit
+  -t TRANSLATED_BED, --translated_bed=TRANSLATED_BED
+                        A bed file with added 13th column having a translation
+  -i INPUT, --input=INPUT
+                        Tabular file with peptide_sequence column
+  -p PEPTIDE_COLUMN, --peptide_column=PEPTIDE_COLUMN
+                        column ordinal with peptide sequence
+  -n NAME_COLUMN, --name_column=NAME_COLUMN
+                        column ordinal with protein name
+  -s START_COLUMN, --start_column=START_COLUMN
+                        column with peptide start position in protein
+  -B BED, --bed=BED     Output a bed file with added 13th column having
+                        translation
+  -T, --gffTags         Add #gffTags to bed output for IGV
+  -d, --debug           Turn on wrapper debugging to stderr
+
+    ]]></help>
+</tool>
b
diff -r 000000000000 -r 51f8f9041724 test-data/mapped_peptides.bed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/mapped_peptides.bed Mon Jan 25 15:32:49 2016 -0500
b
@@ -0,0 +1,27 @@
+track name="novel_junction_peptides" type=bedDetail description="test" 
+#gffTags
+15 40902460 40907575 ID=JUNC00019210_2;Name=RNGRNKKLEDNYCEIT 1 + 40902484 40907575 255,0,0 2 35,37 0,5078 RNGRNKKLEDNYCEIT SYENSEKVRNGRNKKLEDNYCEIT
+15 40902460 40907575 ID=JUNC00019210_2;Name=SYENSEKVR 1 + 40902460 40902487 255,0,0 2 35,37 0,5078 SYENSEKVR SYENSEKVRNGRNKKLEDNYCEIT
+15 40902461 40907549 ID=JUNC00019210_3;Name=KIVRKSEMEGI 1 + 40902467 40907543 255,0,0 2 34,11 0,5077 KIVRKSEMEGI HMKIVRKSEMEGIRN
+9 17406 18053 ID=JUNC00000003_1;Name=LDPLAGAVTKTHV 1 - 17421 17460 255,0,0 2 73,26 0,621 LDPLAGAVTKTHV APWTSGPCRYKKYVFLDPLAGAVTKTHVMLGAE
+9 17406 18053 ID=JUNC00000003_1;Name=LDPLAGAVTKTHVMLGAE 1 - 17406 17460 255,0,0 2 73,26 0,621 LDPLAGAVTKTHVMLGAE APWTSGPCRYKKYVFLDPLAGAVTKTHVMLGAE
+9 17406 18053 ID=JUNC00000003_1;Name=APWTSGPCRYKKYVF 1 - 17460 18053 255,0,0 2 73,26 0,621 APWTSGPCRYKKYVF APWTSGPCRYKKYVFLDPLAGAVTKTHVMLGAE
+9 17404 18051 ID=JUNC00000003_3;Name=CLPGPPGWCCNKDPCDAGGRD 1 - 17404 17467 255,0,0 2 75,24 0,623 CLPGPPGWCCNKDPCDAGGRD PLDERALQVQEVCLPGPPGWCCNKDPCDAGGRD
+9 17404 18051 ID=JUNC00000003_3;Name=PLDERALQVQEVCLPG 1 - 17455 18051 255,0,0 2 75,24 0,623 PLDERALQVQEVCLPG PLDERALQVQEVCLPGPPGWCCNKDPCDAGGRD
+8 27369376 27370079 ID=JUNC00000874_2;Name=PTSCNPSDMSHGYVTVKGYHKAKATHRGPWLVA 1 + 27369376 27370079 255,0,0 2 51,48 0,655 PTSCNPSDMSHGYVTVKGYHKAKATHRGPWLVA PTSCNPSDMSHGYVTVKGYHKAKATHRGPWLVA
+8 27369376 27370079 ID=JUNC00000874_2;Name=DMSHGYVTVKGYHKA 1 + 27369397 27370046 255,0,0 2 51,48 0,655 DMSHGYVTVKGYHKA PTSCNPSDMSHGYVTVKGYHKAKATHRGPWLVA
+7 148909514 148910831 ID=JUNC00002152_1;Name=DQQDLADRDIPTDPNSGENKSLSSQHMTFCHGS 1 + 148909514 148910831 255,0,0 2 60,39 0,1278 DQQDLADRDIPTDPNSGENKSLSSQHMTFCHGS DQQDLADRDIPTDPNSGENKSLSSQHMTFCHGS
+7 148909514 148910831 ID=JUNC00002152_1;Name=DLADRDIPTDP 1 + 148909523 148909556 255,0,0 2 60,39 0,1278 DLADRDIPTDP DQQDLADRDIPTDPNSGENKSLSSQHMTFCHGS
+7 148909515 148910811 ID=JUNC00002152_2;Name=IWQTEIFPRI 1 + 148909524 148909554 255,0,0 2 59,19 0,1277 IWQTEIFPRI ISRIWQTEIFPRIPIQVRTRVSHLST
+7 148909515 148910811 ID=JUNC00002152_2;Name=IFPRIPIQVRTRVSHL 1 + 148909539 148910805 255,0,0 2 59,19 0,1277 IFPRIPIQVRTRVSHL ISRIWQTEIFPRIPIQVRTRVSHLST
+6 41766614 41767580 ID=JUNC00002625_1;Name=LKDSGGLAVIIERRLGSMSSLT 1 - 41766614 41767580 255,0,0 2 53,13 0,953 LKDSGGLAVIIERRLGSMSSLT LKDSGGLAVIIERRLGSMSSLT
+6 41766614 41767580 ID=JUNC00002625_1;Name=DSGGLAVIIERR 1 - 41766638 41767574 255,0,0 2 53,13 0,953 DSGGLAVIIERR LKDSGGLAVIIERRLGSMSSLT
+6 41766614 41767580 ID=JUNC00002625_1;Name=GLAVIIERRLGSMSS 1 - 41766620 41766665 255,0,0 2 53,13 0,953 GLAVIIERRLGSMSS LKDSGGLAVIIERRLGSMSSLT
+6 41766612 41767578 ID=JUNC00002625_3;Name=KRFRWSGRNHREKIGVHVVFDQ 1 - 41766612 41767578 255,0,0 2 55,11 0,955 KRFRWSGRNHREKIGVHVVFDQ KRFRWSGRNHREKIGVHVVFDQ
+6 41766612 41767578 ID=JUNC00002625_3;Name=FRWSGR 1 - 41766654 41767572 255,0,0 2 55,11 0,955 FRWSGR KRFRWSGRNHREKIGVHVVFDQ
+6 41766612 41767578 ID=JUNC00002625_3;Name=NHREKIGVHVVFD 1 - 41766615 41766654 255,0,0 2 55,11 0,955 NHREKIGVHVVFD KRFRWSGRNHREKIGVHVVFDQ
+6 84856497 84862316 ID=JUNC00002772_1;Name=LKMKSEAVMNQFENSMRRYL 1 - 84856497 84862316 255,0,0 2 7,53 0,5766 LKMKSEAVMNQFENSMRRYL LKMKSEAVMNQFENSMRRYL
+6 84856497 84862316 ID=JUNC00002772_1;Name=MNQFENSMRRYL 1 - 84856497 84862292 255,0,0 2 7,53 0,5766 MNQFENSMRRYL LKMKSEAVMNQFENSMRRYL
+6 84856497 84862316 ID=JUNC00002772_1;Name=LKMKSEAVMNQFEN 1 - 84862274 84862316 255,0,0 2 7,53 0,5766 LKMKSEAVMNQFEN LKMKSEAVMNQFENSMRRYL
+6 84856497 84862316 ID=JUNC00002772_1;Name=LKMKSEAV 1 - 84862292 84862316 255,0,0 2 7,53 0,5766 LKMKSEAV LKMKSEAVMNQFENSMRRYL
+6 84856497 84862316 ID=JUNC00002772_1;Name=KSEAVMNQFENSMR 1 - 84862265 84862307 255,0,0 2 7,53 0,5766 KSEAVMNQFENSMR LKMKSEAVMNQFENSMRRYL
b
diff -r 000000000000 -r 51f8f9041724 test-data/peptides.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/peptides.tsv Mon Jan 25 15:32:49 2016 -0500
b
@@ -0,0 +1,25 @@
+JUNC00019210_2 RNGRNKKLEDNYCEIT
+JUNC00019210_2 SYENSEKVR
+JUNC00019210_3 KIVRKSEMEGI
+JUNC00000003_1 LDPLAGAVTKTHVMLGAE
+JUNC00000003_1 APWTSGPCRYKKYVF
+JUNC00000003_1 LDPLAGAVTKTHV
+JUNC00000003_3 PLDERALQVQEVCLPG
+JUNC00000003_3 CLPGPPGWCCNKDPCDAGGRD
+JUNC00000874_2 PTSCNPSDMSHGYVTVKGYHKAKATHRGPWLVA
+JUNC00000874_2 DMSHGYVTVKGYHKA
+JUNC00002152_1 DQQDLADRDIPTDPNSGENKSLSSQHMTFCHGS
+JUNC00002152_1 DLADRDIPTDP
+JUNC00002152_2 IWQTEIFPRI
+JUNC00002152_2 IFPRIPIQVRTRVSHL
+JUNC00002625_1 LKDSGGLAVIIERRLGSMSSLT
+JUNC00002625_1 GLAVIIERRLGSMSS
+JUNC00002625_1 DSGGLAVIIERR
+JUNC00002625_3 FRWSGR
+JUNC00002625_3 KRFRWSGRNHREKIGVHVVFDQ
+JUNC00002625_3 NHREKIGVHVVFD
+JUNC00002772_1 LKMKSEAVMNQFENSMRRYL
+JUNC00002772_1 LKMKSEAVMNQFEN
+JUNC00002772_1 LKMKSEAV
+JUNC00002772_1 MNQFENSMRRYL
+JUNC00002772_1 KSEAVMNQFENSMR
b
diff -r 000000000000 -r 51f8f9041724 test-data/translated_bed_sequences.bed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/translated_bed_sequences.bed Mon Jan 25 15:32:49 2016 -0500
b
@@ -0,0 +1,14 @@
+track name="novel_junctioni_translations" description="test" 
+15 40902460 40907575 JUNC00019210_2 1 + 40902460 40907575 255,0,0 2 35,37 0,5078 SYENSEKVRNGRNKKLEDNYCEIT
+15 40902461 40907549 JUNC00019210_3 1 + 40902461 40907549 255,0,0 2 34,11 0,5077 HMKIVRKSEMEGIRN
+9 17406 18053 JUNC00000003_1 1 - 17406 18053 255,0,0 2 73,26 0,621 APWTSGPCRYKKYVFLDPLAGAVTKTHVMLGAE
+9 17438 18052 JUNC00000003_2 1 - 17438 18052 255,0,0 2 41,25 0,589 PPGRAGPAGTRSMSSWTPWLVL
+9 17404 18051 JUNC00000003_3 1 - 17404 18051 255,0,0 2 75,24 0,623 PLDERALQVQEVCLPGPPGWCCNKDPCDAGGRD
+8 27369376 27370079 JUNC00000874_2 1 + 27369376 27370079 255,0,0 2 51,48 0,655 PTSCNPSDMSHGYVTVKGYHKAKATHRGPWLVA
+7 99077597 99079392 JUNC00001897_1 1 + 99077597 99079392 255,0,0 2 64,35 0,1760 HLLSLFFQLGVHICIPNFRNNSVSHCTQLRVLL
+7 99077598 99079360 JUNC00001897_2 1 + 99077598 99079360 255,0,0 2 63,3 0,1759 IYCLYFSNLVCISVYPTSEITV
+7 148909514 148910831 JUNC00002152_1 1 + 148909514 148910831 255,0,0 2 60,39 0,1278 DQQDLADRDIPTDPNSGENKSLSSQHMTFCHGS
+7 148909515 148910811 JUNC00002152_2 1 + 148909515 148910811 255,0,0 2 59,19 0,1277 ISRIWQTEIFPRIPIQVRTRVSHLST
+6 41766614 41767580 JUNC00002625_1 1 - 41766614 41767580 255,0,0 2 53,13 0,953 LKDSGGLAVIIERRLGSMSSLT
+6 41766612 41767578 JUNC00002625_3 1 - 41766612 41767578 255,0,0 2 55,11 0,955 KRFRWSGRNHREKIGVHVVFDQ
+6 84856497 84862316 JUNC00002772_1 1 - 84856497 84862316 255,0,0 2 7,53 0,5766 LKMKSEAVMNQFENSMRRYL
b
diff -r 000000000000 -r 51f8f9041724 tool_dependencies.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tool_dependencies.xml Mon Jan 25 15:32:49 2016 -0500
b
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<tool_dependency>
+    <package name="biopython" version="1.62">
+        <repository changeset_revision="f06c96348778" name="package_biopython_1_62" owner="biopython" toolshed="https://toolshed.g2.bx.psu.edu" />
+    </package>
+</tool_dependency>