mirror of
https://github.com/biopython/biopython.git
synced 2025-10-20 21:53:47 +08:00
Add a parser for Exonerate cigar and vulgar output to Bio.Align
(#3943)
* starting * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * update * bugfix * black * flake * black * bow suggestions
This commit is contained in:
@ -1788,7 +1788,7 @@ class Alignment:
|
||||
if coordinates[0, 0] > coordinates[0, -1]: # mapped to reverse strand
|
||||
coordinates = coordinates.copy()
|
||||
coordinates[0, :] = n1 - coordinates[0, :]
|
||||
seq2 = reverse_complement(seq2, inplace=False)
|
||||
seq1 = reverse_complement(seq1, inplace=False)
|
||||
if coordinates[1, 0] > coordinates[1, -1]: # mapped to reverse strand
|
||||
coordinates = coordinates.copy()
|
||||
coordinates[1, :] = n2 - coordinates[1, :]
|
||||
|
649
Bio/Align/exonerate.py
Normal file
649
Bio/Align/exonerate.py
Normal file
@ -0,0 +1,649 @@
|
||||
# Copyright 2022 by Michiel de Hoon. All rights reserved.
|
||||
#
|
||||
# This file is part of the Biopython distribution and governed by your
|
||||
# choice of the "Biopython License Agreement" or the "BSD 3-Clause License".
|
||||
# Please see the LICENSE file that should have been included as part of this
|
||||
# package.
|
||||
"""Bio.Align support for Exonerate output format.
|
||||
|
||||
This module provides support for Exonerate outputs. Exonerate is a generic
|
||||
tool for pairwise sequence comparison that allows you to align sequences using
|
||||
several different models.
|
||||
|
||||
Bio.Align.exonerate was tested on the following Exonerate versions and models:
|
||||
|
||||
- version: 2.2
|
||||
- models:
|
||||
- affine:local - cdna2genome
|
||||
- coding2coding - est2genome
|
||||
- genome2genome - ner
|
||||
- protein2dna - protein2genome
|
||||
- ungapped - ungapped:translated
|
||||
|
||||
Although model testing were not exhaustive, ExonerateIO should be able to cope
|
||||
with all Exonerate models. Please file a bug report if you stumble upon an
|
||||
unparsable file.
|
||||
|
||||
More information on Exonerate is available on its home page at
|
||||
www.ebi.ac.uk/~guy/exonerate/
|
||||
|
||||
You are expected to use this module via the Bio.Align functions.
|
||||
"""
|
||||
import numpy
|
||||
|
||||
|
||||
from Bio.Align import Alignment
|
||||
from Bio.Align import interfaces
|
||||
from Bio.Seq import Seq
|
||||
from Bio.SeqRecord import SeqRecord
|
||||
from Bio import BiopythonExperimentalWarning
|
||||
|
||||
import warnings
|
||||
|
||||
warnings.warn(
|
||||
"Bio.Align.exonerate is an experimental module which may undergo "
|
||||
"significant changes prior to its future official release.",
|
||||
BiopythonExperimentalWarning,
|
||||
)
|
||||
|
||||
|
||||
class AlignmentWriter(interfaces.AlignmentWriter):
|
||||
"""Alignment file writer for the Exonerate cigar and vulgar file format."""
|
||||
|
||||
def __init__(self, target, fmt="vulgar"):
|
||||
"""Create an AlignmentWriter object.
|
||||
|
||||
Arguments:
|
||||
- target - output stream or file name
|
||||
- fmt - write alignments in the vulgar (Verbose Useful Labelled
|
||||
Gapped Alignment Report) format (fmt="vulgar") or in
|
||||
the cigar (Compact Idiosyncratic Gapped Alignment Report)
|
||||
format (fmt="cigar").
|
||||
Default value is 'vulgar'.
|
||||
|
||||
"""
|
||||
super().__init__(target, mode="w")
|
||||
if fmt == "vulgar":
|
||||
self.format_alignment = self._format_alignment_vulgar
|
||||
elif fmt == "cigar":
|
||||
self.format_alignment = self._format_alignment_cigar
|
||||
else:
|
||||
raise ValueError(
|
||||
"argument fmt should be 'vulgar' or 'cigar' (received %s)" % fmt
|
||||
)
|
||||
|
||||
def write_header(self, alignments):
|
||||
"""Write the header."""
|
||||
try:
|
||||
commandline = alignments.commandline
|
||||
except AttributeError:
|
||||
commandline = ""
|
||||
try:
|
||||
hostname = alignments.hostname
|
||||
except AttributeError:
|
||||
hostname = ""
|
||||
self.stream.write(f"Command line: [{commandline}]\n")
|
||||
self.stream.write(f"Hostname: [{hostname}]\n")
|
||||
|
||||
def write_footer(self):
|
||||
"""Write the footer."""
|
||||
self.stream.write("-- completed exonerate analysis\n")
|
||||
|
||||
def _format_alignment_cigar(self, alignment):
|
||||
"""Return a string with a single alignment formatted as a cigar line."""
|
||||
if not isinstance(alignment, Alignment):
|
||||
raise TypeError("Expected an Alignment object")
|
||||
coordinates = alignment.coordinates
|
||||
target_start = coordinates[0, 0]
|
||||
target_end = coordinates[0, -1]
|
||||
query_start = coordinates[1, 0]
|
||||
query_end = coordinates[1, -1]
|
||||
steps = coordinates[:, 1:] - coordinates[:, :-1]
|
||||
query = alignment.query
|
||||
target = alignment.target
|
||||
try:
|
||||
query_id = query.id
|
||||
except AttributeError:
|
||||
query_id = "query"
|
||||
try:
|
||||
target_id = target.id
|
||||
except AttributeError:
|
||||
target_id = "target"
|
||||
try:
|
||||
target_molecule_type = target.annotations["molecule_type"]
|
||||
except (AttributeError, KeyError):
|
||||
target_molecule_type = None
|
||||
if target_molecule_type == "protein":
|
||||
target_strand = "."
|
||||
elif target_start <= target_end:
|
||||
target_strand = "+"
|
||||
elif target_start > target_end:
|
||||
target_strand = "-"
|
||||
steps[0, :] = -steps[0, :]
|
||||
try:
|
||||
query_molecule_type = query.annotations["molecule_type"]
|
||||
except (AttributeError, KeyError):
|
||||
query_molecule_type = None
|
||||
if query_molecule_type == "protein":
|
||||
query_strand = "."
|
||||
elif query_start <= query_end:
|
||||
query_strand = "+"
|
||||
elif query_start > query_end:
|
||||
query_strand = "-"
|
||||
steps[1, :] = -steps[1, :]
|
||||
score = alignment.score
|
||||
words = [
|
||||
"cigar:",
|
||||
query_id,
|
||||
str(query_start),
|
||||
str(query_end),
|
||||
query_strand,
|
||||
target_id,
|
||||
str(target_start),
|
||||
str(target_end),
|
||||
target_strand,
|
||||
str(score),
|
||||
]
|
||||
try:
|
||||
operations = alignment.operations
|
||||
except AttributeError:
|
||||
for step in steps.transpose():
|
||||
target_step, query_step = step
|
||||
if target_step == query_step:
|
||||
operation = "M"
|
||||
step = target_step
|
||||
elif query_step == 0:
|
||||
operation = "D" # Deletion
|
||||
step = target_step
|
||||
elif target_step == 0:
|
||||
operation = "I" # Insertion
|
||||
step = query_step
|
||||
elif (
|
||||
target_molecule_type != "protein"
|
||||
and query_molecule_type == "protein"
|
||||
):
|
||||
operation = "M"
|
||||
step = target_step
|
||||
elif (
|
||||
target_molecule_type == "protein"
|
||||
and query_molecule_type != "protein"
|
||||
):
|
||||
operation = "M"
|
||||
step = query_step
|
||||
else:
|
||||
raise ValueError(
|
||||
"Unexpected step target %d, query %d for molecule type %s, %s"
|
||||
% (
|
||||
target_step,
|
||||
query_step,
|
||||
target_molecule_type,
|
||||
query_molecule_type,
|
||||
)
|
||||
)
|
||||
words.append(operation)
|
||||
words.append(str(step))
|
||||
else:
|
||||
for step, operation in zip(steps.transpose(), operations.decode()):
|
||||
target_step, query_step = step
|
||||
if operation == "M":
|
||||
if target_step == query_step:
|
||||
step = target_step
|
||||
elif target_step == 3 * query_step:
|
||||
step = target_step
|
||||
assert query_molecule_type == "protein"
|
||||
assert target_molecule_type != "protein"
|
||||
elif query_step == 3 * target_step:
|
||||
step = query_step
|
||||
assert query_molecule_type != "protein"
|
||||
assert target_molecule_type == "protein"
|
||||
else:
|
||||
raise ValueError(
|
||||
"Unexpected steps target %d, query %s for operation 'M'"
|
||||
)
|
||||
elif operation == "5": # 5' splice site
|
||||
if query_step == 0:
|
||||
step = target_step
|
||||
operation = "D"
|
||||
elif target_step == 0:
|
||||
step = query_step
|
||||
operation = "I"
|
||||
else:
|
||||
assert query_step == target_step
|
||||
step = target_step
|
||||
operation = "M"
|
||||
elif operation == "N": # Intron
|
||||
if query_step == 0:
|
||||
step = target_step
|
||||
operation = "D"
|
||||
elif target_step == 0:
|
||||
step = query_step
|
||||
operation = "I"
|
||||
else:
|
||||
raise ValueError(
|
||||
"Unexpected intron with steps target %d, query %d"
|
||||
% (target_step, query_step)
|
||||
)
|
||||
elif operation == "3": # 3' splice site
|
||||
if query_step == 0:
|
||||
step = target_step
|
||||
operation = "D"
|
||||
elif target_step == 0:
|
||||
step = query_step
|
||||
operation = "I"
|
||||
else:
|
||||
assert query_step == target_step
|
||||
step = target_step
|
||||
operation = "M"
|
||||
elif operation == "C": # Codon
|
||||
assert target_step == query_step
|
||||
step = target_step
|
||||
operation = "M"
|
||||
elif operation == "D": # Deletion
|
||||
assert query_step == 0
|
||||
step = target_step
|
||||
operation = "D"
|
||||
elif operation == "I": # Insertion
|
||||
assert target_step == 0
|
||||
step = query_step
|
||||
elif operation == "U": # Non-equivalenced (unaligned) region
|
||||
if target_step > 0:
|
||||
operation = "D"
|
||||
words.append(operation)
|
||||
words.append(str(target_step))
|
||||
if query_step > 0:
|
||||
operation = "I"
|
||||
words.append(operation)
|
||||
words.append(str(query_step))
|
||||
continue
|
||||
elif operation == "S": # Split codon
|
||||
if target_step > 0:
|
||||
operation = "D"
|
||||
words.append(operation)
|
||||
words.append(str(target_step))
|
||||
if query_step > 0:
|
||||
operation = "I"
|
||||
words.append(operation)
|
||||
words.append(str(query_step))
|
||||
continue
|
||||
elif operation == "F": # Frame shift
|
||||
if target_step == 0:
|
||||
step = query_step
|
||||
operation = "I"
|
||||
elif query_step == 0:
|
||||
step = target_step
|
||||
operation = "D"
|
||||
else:
|
||||
raise ValueError("Expected target step or query step to be 0")
|
||||
else:
|
||||
raise ValueError("Unknown operation %s" % operation)
|
||||
words.append(operation)
|
||||
words.append(str(step))
|
||||
line = " ".join(words) + "\n"
|
||||
return line
|
||||
|
||||
def _format_alignment_vulgar(self, alignment):
|
||||
"""Return a string with a single alignment formatted as one vulgar line."""
|
||||
if not isinstance(alignment, Alignment):
|
||||
raise TypeError("Expected an Alignment object")
|
||||
coordinates = alignment.coordinates
|
||||
target_start = coordinates[0, 0]
|
||||
target_end = coordinates[0, -1]
|
||||
query_start = coordinates[1, 0]
|
||||
query_end = coordinates[1, -1]
|
||||
steps = coordinates[:, 1:] - coordinates[:, :-1]
|
||||
query = alignment.query
|
||||
target = alignment.target
|
||||
try:
|
||||
query_id = query.id
|
||||
except AttributeError:
|
||||
query_id = "query"
|
||||
try:
|
||||
target_id = target.id
|
||||
except AttributeError:
|
||||
target_id = "target"
|
||||
try:
|
||||
target_molecule_type = target.annotations["molecule_type"]
|
||||
except (AttributeError, KeyError):
|
||||
target_molecule_type = None
|
||||
if target_molecule_type == "protein":
|
||||
target_strand = "."
|
||||
elif target_start <= target_end:
|
||||
target_strand = "+"
|
||||
elif target_start > target_end:
|
||||
target_strand = "-"
|
||||
steps[0, :] = -steps[0, :]
|
||||
try:
|
||||
query_molecule_type = query.annotations["molecule_type"]
|
||||
except (AttributeError, KeyError):
|
||||
query_molecule_type = None
|
||||
if query_molecule_type == "protein":
|
||||
query_strand = "."
|
||||
elif query_start <= query_end:
|
||||
query_strand = "+"
|
||||
elif query_start > query_end:
|
||||
query_strand = "-"
|
||||
steps[1, :] = -steps[1, :]
|
||||
score = alignment.score
|
||||
words = [
|
||||
"vulgar:",
|
||||
query_id,
|
||||
str(query_start),
|
||||
str(query_end),
|
||||
query_strand,
|
||||
target_id,
|
||||
str(target_start),
|
||||
str(target_end),
|
||||
target_strand,
|
||||
str(score),
|
||||
]
|
||||
try:
|
||||
operations = alignment.operations
|
||||
except AttributeError:
|
||||
for step in steps.transpose():
|
||||
target_step, query_step = step
|
||||
if target_step == query_step:
|
||||
operation = "M"
|
||||
elif query_step == 0:
|
||||
operation = "G" # Gap; exonerate definition
|
||||
elif target_step == 0:
|
||||
operation = "G" # Gap; exonerate definition
|
||||
elif (
|
||||
query_molecule_type == "protein"
|
||||
and target_molecule_type != "protein"
|
||||
):
|
||||
operation = "M"
|
||||
elif (
|
||||
query_molecule_type != "protein"
|
||||
and target_molecule_type == "protein"
|
||||
):
|
||||
operation = "M"
|
||||
else:
|
||||
raise ValueError("Both target and query step are zero")
|
||||
words.append(operation)
|
||||
words.append(str(query_step))
|
||||
words.append(str(target_step))
|
||||
else:
|
||||
steps = steps.transpose()
|
||||
operations = operations.decode()
|
||||
n = len(operations)
|
||||
i = 0
|
||||
while i < n:
|
||||
target_step, query_step = steps[i]
|
||||
operation = operations[i]
|
||||
if operation == "M":
|
||||
if target_step == query_step:
|
||||
pass
|
||||
elif target_step == 3 * query_step:
|
||||
assert query_molecule_type == "protein"
|
||||
assert target_molecule_type != "protein"
|
||||
elif query_step == 3 * target_step:
|
||||
assert query_molecule_type != "protein"
|
||||
assert target_molecule_type == "protein"
|
||||
else:
|
||||
raise ValueError(
|
||||
"Unexpected steps target %d, query %s for operation 'M'"
|
||||
)
|
||||
elif operation == "5": # 5' splice site
|
||||
assert target_step == 2 or query_step == 2
|
||||
elif operation == "N": # Intron
|
||||
operation = "I" # Intron; exonerate definition
|
||||
assert query_step == 0 or target_step == 0
|
||||
elif operation == "3": # 3' splice site
|
||||
assert target_step == 2 or query_step == 2
|
||||
elif operation == "C": # Codon
|
||||
assert target_step == query_step
|
||||
elif operation == "D": # Deletion
|
||||
assert query_step == 0
|
||||
operation = "G" # Gap; exonerate definition
|
||||
elif operation == "I": # Insertion
|
||||
assert target_step == 0
|
||||
operation = "G" # Gap; exonerate definition
|
||||
elif operation == "U": # Non-equivalenced (unaligned) region
|
||||
if target_step == 0:
|
||||
assert query_step > 0
|
||||
i += 1
|
||||
target_step, dummy = steps[i]
|
||||
assert dummy == 0
|
||||
if query_step == 0:
|
||||
assert target_step > 0
|
||||
i += 1
|
||||
dummy, query_step = steps[i]
|
||||
assert dummy == 0
|
||||
operation = operations[i]
|
||||
assert operation == "U"
|
||||
operation = "N" # Non-equivalenced region; exonerate definition
|
||||
elif operation == "S": # Split codon
|
||||
step = target_step
|
||||
elif operation == "F": # Frame shift
|
||||
step = target_step
|
||||
else:
|
||||
raise ValueError("Unknown operation %s" % operation)
|
||||
words.append(operation)
|
||||
words.append(str(query_step))
|
||||
words.append(str(target_step))
|
||||
i += 1
|
||||
line = " ".join(words) + "\n"
|
||||
return line
|
||||
|
||||
|
||||
class AlignmentIterator(interfaces.AlignmentIterator):
|
||||
"""Alignment iterator for the Exonerate text, cigar, and vulgar formats.
|
||||
|
||||
Each line in the file contains one pairwise alignment, which are loaded
|
||||
and returned incrementally. Alignment score information such as the number
|
||||
of matches and mismatches are stored as attributes of each alignment.
|
||||
"""
|
||||
|
||||
def __init__(self, source):
|
||||
"""Create an AlignmentIterator object.
|
||||
|
||||
Arguments:
|
||||
- source - input data or file name
|
||||
|
||||
"""
|
||||
super().__init__(source, mode="t", fmt="PSL")
|
||||
stream = self.stream
|
||||
self.program = "exonerate"
|
||||
line = next(stream)
|
||||
prefix = "Command line: "
|
||||
assert line.startswith(prefix)
|
||||
commandline = line[len(prefix) :].strip()
|
||||
assert commandline.startswith("[")
|
||||
assert commandline.endswith("]")
|
||||
self.commandline = commandline[1:-1]
|
||||
line = next(stream)
|
||||
prefix = "Hostname: "
|
||||
assert line.startswith(prefix)
|
||||
hostname = line[len(prefix) :].strip()
|
||||
assert hostname.startswith("[")
|
||||
assert hostname.endswith("]")
|
||||
self.hostname = hostname[1:-1]
|
||||
|
||||
@staticmethod
|
||||
def _parse_cigar(words):
|
||||
query_id = words[0]
|
||||
query_start = int(words[1])
|
||||
query_end = int(words[2])
|
||||
query_strand = words[3]
|
||||
target_id = words[4]
|
||||
target_start = int(words[5])
|
||||
target_end = int(words[6])
|
||||
target_strand = words[7]
|
||||
score = int(words[8])
|
||||
target_seq = Seq(None, length=target_end)
|
||||
query_seq = Seq(None, length=query_end)
|
||||
target = SeqRecord(target_seq, id=target_id)
|
||||
query = SeqRecord(query_seq, id=query_id)
|
||||
qs = 0
|
||||
ts = 0
|
||||
n = (len(words) - 8) // 2
|
||||
coordinates = numpy.empty((2, n + 1), int)
|
||||
coordinates[0, 0] = ts
|
||||
coordinates[1, 0] = qs
|
||||
for i, (operation, step) in enumerate(zip(words[9::2], words[10::2])):
|
||||
step = int(step)
|
||||
if operation == "M": # match or mismatch
|
||||
ts += step
|
||||
qs += step
|
||||
elif operation == "I": # insertion
|
||||
if query_strand == "." and target_strand != ".":
|
||||
qs += step * 3
|
||||
else:
|
||||
qs += step
|
||||
elif operation == "D": # deletion
|
||||
if target_strand == "." and query_strand != ".":
|
||||
ts += step * 3
|
||||
else:
|
||||
ts += step
|
||||
else:
|
||||
raise ValueError("Unknown operation %s in cigar string" % operation)
|
||||
coordinates[0, i + 1] = ts
|
||||
coordinates[1, i + 1] = qs
|
||||
if target_strand == "+":
|
||||
coordinates[0, :] += target_start
|
||||
elif target_strand == "-":
|
||||
coordinates[0, :] = target_start - coordinates[0, :]
|
||||
elif target_strand == ".": # protein
|
||||
if query_strand != ".":
|
||||
# dna to protein alignment; integer division, but round up:
|
||||
coordinates[0, :] = (coordinates[0, :] + 2) // 3
|
||||
coordinates[0, :] += target_start
|
||||
target.annotations["molecule_type"] = "protein"
|
||||
if query_strand == "+":
|
||||
coordinates[1, :] += query_start
|
||||
elif query_strand == "-":
|
||||
coordinates[1, :] = query_start - coordinates[1, :]
|
||||
elif query_strand == ".": # protein
|
||||
if target_strand != ".":
|
||||
# protein to dna alignment; integer division, but round up:
|
||||
coordinates[1, :] = (coordinates[1, :] + 2) // 3
|
||||
coordinates[1, :] += query_start
|
||||
query.annotations["molecule_type"] = "protein"
|
||||
alignment = Alignment([target, query], coordinates)
|
||||
alignment.score = score
|
||||
return alignment
|
||||
|
||||
@staticmethod
|
||||
def _parse_vulgar(words):
|
||||
query_id = words[0]
|
||||
query_start = int(words[1])
|
||||
query_end = int(words[2])
|
||||
query_strand = words[3]
|
||||
target_id = words[4]
|
||||
target_start = int(words[5])
|
||||
target_end = int(words[6])
|
||||
target_strand = words[7]
|
||||
score = int(words[8])
|
||||
target_seq = Seq(None, length=target_end)
|
||||
query_seq = Seq(None, length=query_end)
|
||||
target = SeqRecord(target_seq, id=target_id)
|
||||
query = SeqRecord(query_seq, id=query_id)
|
||||
ops = words[9::3]
|
||||
qs = 0
|
||||
ts = 0
|
||||
n = (len(words) - 8) // 3 + ops.count("N")
|
||||
coordinates = numpy.empty((2, n + 1), int)
|
||||
coordinates[0, 0] = ts
|
||||
coordinates[1, 0] = qs
|
||||
operations = bytearray(n)
|
||||
i = 0
|
||||
for (operation, query_step, target_step) in zip(
|
||||
ops, words[10::3], words[11::3]
|
||||
):
|
||||
query_step = int(query_step)
|
||||
target_step = int(target_step)
|
||||
if operation == "M": # Match
|
||||
pass
|
||||
elif operation == "5": # 5' splice site
|
||||
assert target_step == 2 or query_step == 2
|
||||
elif operation == "I": # Intron
|
||||
# use SAM/BAM definitions of operations:
|
||||
operation = "N"
|
||||
elif operation == "3": # 3' splice site
|
||||
assert target_step == 2 or query_step == 2
|
||||
elif operation == "C": # Codon
|
||||
assert target_step % 3 == 0
|
||||
assert query_step % 3 == 0
|
||||
elif operation == "G": # Gap
|
||||
# use SAM/BAM definitions of operations:
|
||||
if query_step == 0:
|
||||
operation = "D" # Deletion
|
||||
elif target_step == 0:
|
||||
operation = "I" # Insertion
|
||||
else:
|
||||
raise ValueError(
|
||||
"Unexpected gap operation with steps %d, %d in vulgar line"
|
||||
% (query_step, target_step)
|
||||
)
|
||||
elif operation == "N": # Non-equivalenced (unaligned) region
|
||||
operation = "U" # 'N' is alread used for introns in SAM/BAM
|
||||
if target_step > 0:
|
||||
ts += target_step
|
||||
coordinates[0, i + 1] = ts
|
||||
coordinates[1, i + 1] = qs
|
||||
operations[i] = ord(operation)
|
||||
i += 1
|
||||
if query_step > 0:
|
||||
qs += query_step
|
||||
coordinates[0, i + 1] = ts
|
||||
coordinates[1, i + 1] = qs
|
||||
operations[i] = ord(operation)
|
||||
i += 1
|
||||
continue
|
||||
elif operation == "S": # Split codon
|
||||
pass
|
||||
elif operation == "F": # Frame shift
|
||||
pass
|
||||
else:
|
||||
raise ValueError("Unknown operation %s in vulgar string" % operation)
|
||||
ts += target_step
|
||||
qs += query_step
|
||||
coordinates[0, i + 1] = ts
|
||||
coordinates[1, i + 1] = qs
|
||||
operations[i] = ord(operation)
|
||||
i += 1
|
||||
if target_strand == "+":
|
||||
coordinates[0, :] += target_start
|
||||
elif target_strand == "-":
|
||||
coordinates[0, :] = target_start - coordinates[0, :]
|
||||
elif target_strand == ".": # protein
|
||||
coordinates[0, :] += target_start
|
||||
target.annotations["molecule_type"] = "protein"
|
||||
if query_strand == "+":
|
||||
coordinates[1, :] += query_start
|
||||
elif query_strand == "-":
|
||||
coordinates[1, :] = query_start - coordinates[1, :]
|
||||
elif query_strand == ".": # protein
|
||||
coordinates[1, :] += query_start
|
||||
query.annotations["molecule_type"] = "protein"
|
||||
alignment = Alignment([target, query], coordinates)
|
||||
alignment.operations = operations
|
||||
alignment.score = score
|
||||
return alignment
|
||||
|
||||
def parse(self, stream):
|
||||
"""Parse the next alignment from the stream."""
|
||||
if stream is None:
|
||||
raise StopIteration
|
||||
|
||||
for line in stream:
|
||||
line = line.strip()
|
||||
if line == "-- completed exonerate analysis":
|
||||
try:
|
||||
next(stream)
|
||||
except StopIteration:
|
||||
return
|
||||
raise ValueError(
|
||||
"Found additional data after 'completed exonerate analysis'; corrupt file?"
|
||||
)
|
||||
elif line.startswith("vulgar: "):
|
||||
words = line[8:].split()
|
||||
alignment = self._parse_vulgar(words)
|
||||
yield alignment
|
||||
elif line.startswith("cigar: "):
|
||||
words = line[7:].split()
|
||||
alignment = self._parse_cigar(words)
|
||||
yield alignment
|
||||
raise ValueError(
|
||||
"Failed to find 'completed exonerate analysis'; truncated file?"
|
||||
)
|
@ -8,31 +8,58 @@ Exonerate release version, from the most recent first.
|
||||
Exonerate 2.4
|
||||
-------------
|
||||
exn_24_m_protein2genome_revcomp_fshifts.exn
|
||||
exn_24_m_protein2genome_revcomp_fshifts_cigar.exn
|
||||
exn_24_m_protein2genome_revcomp_fshifts_vulgar.exn
|
||||
exn_24_m_protein2genome_met_intron.exn
|
||||
exn_24_m_protein2genome_met_intron_cigar.exn
|
||||
exn_24_m_protein2genome_met_intron_vulgar.exn
|
||||
|
||||
|
||||
Exonerate 2.2
|
||||
-------------
|
||||
exn_22_m_affine_local.exn affine:local model alignment
|
||||
exn_22_m_affine_local_cigar.exn affine:local model alignment, cigar lines
|
||||
exn_22_m_affine_local_vulgar.exn affine:local model alignmen, vulgar lines
|
||||
exn_22_m_cdna2genome.exn cdna2genome model alignment
|
||||
exn_22_m_cdna2genome_cigar.exn cdna2genome model alignment, cigar lines
|
||||
exn_22_m_cdna2genome_vulgar.exn cdna2genome model alignment, vulgar lines
|
||||
exn_22_m_coding2coding.exn coding2coding model alignment
|
||||
exn_22_m_coding2coding_cigar.exn coding2coding model alignment, cigar lines
|
||||
exn_22_m_coding2coding_vulgar.exn coding2coding model alignment, vulgar lines
|
||||
exn_22_m_coding2coding_fshifts.exn coding2coding model alignment, with frameshifts
|
||||
exn_22_m_cigar_fshifts.exn coding2coding alignment with cigar lines only, frameshifts
|
||||
exn_22_o_vulgar_fshifts.exn coding2coding alignment with vulgar lines only, frameshifts
|
||||
exn_22_m_coding2genome.exn coding2genome model alignment
|
||||
exn_22_m_coding2genome_cigar.exn coding2genome model alignment, cigar lines
|
||||
exn_22_m_coding2genome_vulgar.exn coding2genome model alignment, vulgar lines
|
||||
exn_22_m_dna2protein.exn dna2protein model alignment
|
||||
exn_22_m_dna2protein_cigar.exn dna2protein model alignment, cigar lines
|
||||
exn_22_m_dna2protein_vulgar.exn dna2protein model alignment, vulgar lines
|
||||
exn_22_m_est2genome.exn est2genome model alignment
|
||||
exn_22_m_est2genome_cigar.exn est2genome model alignment, cigar lines
|
||||
exn_22_m_est2genome_vulgar.exn est2genome model alignment, vulgar lines
|
||||
exn_22_m_genome2genome.exn genome2genome model alignment
|
||||
exn_22_m_ner.exn ner model alignment
|
||||
exn_22_m_protein2dna.exn protein2dna model alignment
|
||||
exn_22_m_protein2dna_fshifts.exn protein2dna model alignment, with frameshifts
|
||||
exn_22_m_protein2genome.exn protein2genome model alignment
|
||||
exn_22_m_ungapped.exn ungapped model alignment (default)
|
||||
exn_22_m_ungapped_trans.exn ungapped:translated model alignment
|
||||
|
||||
exn_22_o_vulgar_cigar.exn genome2genome alignment with vulgar and cigar lines only
|
||||
exn_22_o_vulgar.exn genome2genome alignment with vulgar lines only
|
||||
exn_22_o_vulgar_fshifts.exn coding2coding alignment with vulgar lines only, frameshifts
|
||||
exn_22_m_ner.exn ner model alignment
|
||||
exn_22_m_ner_cigar.exn ner model alignment, cigar lines
|
||||
exn_22_m_ner_vulgar.exn ner model alignment, vulgar lines
|
||||
exn_22_m_protein2dna.exn protein2dna model alignment
|
||||
exn_22_m_protein2dna_cigar.exn protein2dna model alignment, cigar lines
|
||||
exn_22_m_protein2dna_vulgar.exn protein2dna model alignment, vulgar lines
|
||||
exn_22_m_protein2dna_fshifts.exn protein2dna model alignment, with frameshifts
|
||||
exn_22_o_cigar_fshifts2.exn protein2dna alignment with cigar lines only, frameshifts
|
||||
exn_22_o_vulgar_fshifts2.exn protein2dna alignment with vulgar lines only, frameshifts
|
||||
|
||||
exn_22_m_protein2genome.exn protein2genome model alignment
|
||||
exn_22_m_protein2genome_cigar.exn protein2genome model alignment, cigar lines
|
||||
exn_22_m_protein2genome_vulgar.exn protein2genome model alignment, vulgar lines
|
||||
exn_22_m_ungapped.exn ungapped model alignment (default)
|
||||
exn_22_m_ungapped_cigar.exn ungapped model alignment (default), cigar
|
||||
exn_22_m_ungapped_vulgar.exn ungapped model alignment (default), vulgar
|
||||
exn_22_m_ungapped_trans.exn ungapped:translated model alignment
|
||||
exn_22_m_ungapped_trans_cigar.exn ungapped:translated model alignment, cigar
|
||||
exn_22_m_ungapped_trans_vulgar.exn ungapped:translated model alignment, vulgar
|
||||
exn_22_q_multiple.exn est2genome, multiple queries, multiple hits and hsps
|
||||
exn_22_q_multiple_cigar.exn est2genome, multiple queries, multiple hits and hsps, cigar lines only
|
||||
exn_22_q_multiple_vulgar.exn est2genome, multiple queries, multiple hits and hsps, vulgar lines only
|
||||
exn_22_q_empty.exn est2genome, single query, no results
|
||||
exn_22_q_none.exn est2genome, single query, no results
|
||||
|
6
Tests/Exonerate/exn_22_m_affine_local_cigar.exn
Normal file
6
Tests/Exonerate/exn_22_m_affine_local_cigar.exn
Normal file
@ -0,0 +1,6 @@
|
||||
Command line: [exonerate -m affine:local ../scer_cad1.fa /media/Waterloo/Downloads/genomes/scer_s288c/scer_s288c.fa --bestn 3 --showalignment no --showcigar yes --showvulgar no]
|
||||
Hostname: [Michiels-MacBook-Pro.local]
|
||||
cigar: gi|296143771|ref|NM_001180731.1| 0 1230 + gi|330443520|ref|NC_001136.10| 1319275 1318045 - 6150 M 1230
|
||||
cigar: gi|296143771|ref|NM_001180731.1| 83 552 + gi|330443688|ref|NC_001145.3| 253990 254474 + 359 M 34 D 1 M 6 D 2 M 101 D 2 M 6 I 2 M 3 I 1 M 12 D 1 M 9 I 1 M 26 D 1 M 34 D 5 M 13 D 2 M 7 D 1 M 10 D 1 M 14 D 3 M 9 D 1 M 20 D 2 M 2 D 1 M 7 D 1 M 2 D 1 M 6 D 1 M 3 I 1 M 2 I 3 M 10 D 1 M 2 D 3 M 9 I 2 M 9 I 3 M 7 D 1 M 6 I 2 M 8 D 1 M 32 I 2 M 9 I 2 M 9 D 2 M 23
|
||||
cigar: gi|296143771|ref|NM_001180731.1| 60 517 + gi|330443715|ref|NC_001146.8| 454073 454531 + 219 M 14 I 1 M 7 I 1 M 3 I 1 M 12 D 1 M 23 D 1 M 16 I 2 M 17 D 2 M 6 D 1 M 7 D 1 M 8 I 1 M 12 D 1 M 3 D 1 M 14 D 1 M 10 D 1 M 20 D 1 M 19 D 2 M 9 I 5 M 8 I 1 M 41 I 3 M 42 D 1 M 8 D 3 M 1 D 1 M 26 I 2 M 11 I 3 M 12 D 1 M 18 D 1 M 18 D 1 M 14 D 1 M 30 I 1 M 7
|
||||
-- completed exonerate analysis
|
6
Tests/Exonerate/exn_22_m_affine_local_vulgar.exn
Normal file
6
Tests/Exonerate/exn_22_m_affine_local_vulgar.exn
Normal file
@ -0,0 +1,6 @@
|
||||
Command line: [exonerate -m affine:local ../scer_cad1.fa /media/Waterloo/Downloads/genomes/scer_s288c/scer_s288c.fa --bestn 3 --showalignment no --showcigar no --showvulgar yes]
|
||||
Hostname: [blackbriar]
|
||||
vulgar: gi|296143771|ref|NM_001180731.1| 0 1230 + gi|330443520|ref|NC_001136.10| 1319275 1318045 - 6150 M 1230 1230
|
||||
vulgar: gi|296143771|ref|NM_001180731.1| 83 552 + gi|330443688|ref|NC_001145.3| 253990 254474 + 359 M 34 34 G 0 1 M 6 6 G 0 2 M 101 101 G 0 2 M 6 6 G 2 0 M 3 3 G 1 0 M 12 12 G 0 1 M 9 9 G 1 0 M 26 26 G 0 1 M 34 34 G 0 5 M 13 13 G 0 2 M 7 7 G 0 1 M 10 10 G 0 1 M 14 14 G 0 3 M 9 9 G 0 1 M 20 20 G 0 2 M 2 2 G 0 1 M 7 7 G 0 1 M 2 2 G 0 1 M 6 6 G 0 1 M 3 3 G 1 0 M 2 2 G 3 0 M 10 10 G 0 1 M 2 2 G 0 3 M 9 9 G 2 0 M 9 9 G 3 0 M 7 7 G 0 1 M 6 6 G 2 0 M 8 8 G 0 1 M 32 32 G 2 0 M 9 9 G 2 0 M 9 9 G 0 2 M 23 23
|
||||
vulgar: gi|296143771|ref|NM_001180731.1| 60 517 + gi|330443715|ref|NC_001146.8| 454073 454531 + 219 M 14 14 G 1 0 M 7 7 G 1 0 M 3 3 G 1 0 M 12 12 G 0 1 M 23 23 G 0 1 M 16 16 G 2 0 M 17 17 G 0 2 M 6 6 G 0 1 M 7 7 G 0 1 M 8 8 G 1 0 M 12 12 G 0 1 M 3 3 G 0 1 M 14 14 G 0 1 M 10 10 G 0 1 M 20 20 G 0 1 M 19 19 G 0 2 M 9 9 G 5 0 M 8 8 G 1 0 M 41 41 G 3 0 M 42 42 G 0 1 M 8 8 G 0 3 M 1 1 G 0 1 M 26 26 G 2 0 M 11 11 G 3 0 M 12 12 G 0 1 M 18 18 G 0 1 M 18 18 G 0 1 M 14 14 G 0 1 M 30 30 G 1 0 M 7 7
|
||||
-- completed exonerate analysis
|
6
Tests/Exonerate/exn_22_m_cdna2genome_cigar.exn
Normal file
6
Tests/Exonerate/exn_22_m_cdna2genome_cigar.exn
Normal file
@ -0,0 +1,6 @@
|
||||
Command line: [exonerate -m cdna2genome ../scer_cad1.fa /media/Waterloo/Downloads/genomes/scer_s288c/scer_s288c.fa --bestn 3 --showalignment no --showcigar yes --showvulgar no]
|
||||
Hostname: [blackbriar]
|
||||
cigar: gi|296143771|ref|NM_001180731.1| 0 1230 + gi|330443520|ref|NC_001136.10| 1319275 1318045 - 6146 M 1 M 3 M 1226
|
||||
cigar: gi|296143771|ref|NM_001180731.1| 1230 0 - gi|330443520|ref|NC_001136.10| 1318045 1319275 + 6146 M 129 M 3 M 1098
|
||||
cigar: gi|296143771|ref|NM_001180731.1| 0 516 + gi|330443688|ref|NC_001145.3| 85010 667216 + 518 M 11 I 1 M 15 I 2 M 4 I 1 M 1 I 1 M 8 I 4 M 17 D 168908 M 4 D 1 M 8 I 2 M 3 I 1 M 33 D 2 M 7 D 1 M 102 D 96824 M 14 D 2 M 10 I 2 M 5 D 2 M 10 I 2 M 4 D 1 M 20 I 1 M 15 D 1 M 5 I 3 M 4 D 122118 M 20 D 5 M 6 D 193839 M 12 D 2 M 5 I 1 M 7 D 2 M 1 D 1 M 12 M 75 M 6 I 1 M 4 D 1 M 2 D 1 M 3 D 1 M 41
|
||||
-- completed exonerate analysis
|
6
Tests/Exonerate/exn_22_m_cdna2genome_vulgar.exn
Normal file
6
Tests/Exonerate/exn_22_m_cdna2genome_vulgar.exn
Normal file
@ -0,0 +1,6 @@
|
||||
Command line: [exonerate -m cdna2genome ../scer_cad1.fa /media/Waterloo/Downloads/genomes/scer_s288c/scer_s288c.fa --bestn 3 --showalignment no --showcigar no --showvulgar yes]
|
||||
Hostname: [blackbriar]
|
||||
vulgar: gi|296143771|ref|NM_001180731.1| 0 1230 + gi|330443520|ref|NC_001136.10| 1319275 1318045 - 6146 M 1 1 C 3 3 M 1226 1226
|
||||
vulgar: gi|296143771|ref|NM_001180731.1| 1230 0 - gi|330443520|ref|NC_001136.10| 1318045 1319275 + 6146 M 129 129 C 3 3 M 1098 1098
|
||||
vulgar: gi|296143771|ref|NM_001180731.1| 0 516 + gi|330443688|ref|NC_001145.3| 85010 667216 + 518 M 11 11 G 1 0 M 15 15 G 2 0 M 4 4 G 1 0 M 1 1 G 1 0 M 8 8 G 4 0 M 17 17 5 0 2 I 0 168904 3 0 2 M 4 4 G 0 1 M 8 8 G 2 0 M 3 3 G 1 0 M 33 33 G 0 2 M 7 7 G 0 1 M 102 102 5 0 2 I 0 96820 3 0 2 M 14 14 G 0 2 M 10 10 G 2 0 M 5 5 G 0 2 M 10 10 G 2 0 M 4 4 G 0 1 M 20 20 G 1 0 M 15 15 G 0 1 M 5 5 G 3 0 M 4 4 5 0 2 I 0 122114 3 0 2 M 20 20 G 0 5 M 6 6 5 0 2 I 0 193835 3 0 2 M 12 12 G 0 2 M 5 5 G 1 0 M 7 7 G 0 2 M 1 1 G 0 1 M 12 12 C 75 75 M 6 6 G 1 0 M 4 4 G 0 1 M 2 2 G 0 1 M 3 3 G 0 1 M 41 41
|
||||
-- completed exonerate analysis
|
5
Tests/Exonerate/exn_22_m_cigar_fshifts.exn
Normal file
5
Tests/Exonerate/exn_22_m_cigar_fshifts.exn
Normal file
@ -0,0 +1,5 @@
|
||||
Command line: [exonerate -m coding2coding c2c_frameshift2.fa scer_cad1.fa --showcigar yes --showvulgar no --showalignment no --bestn 3]
|
||||
Hostname: [blackbriar]
|
||||
cigar: gi|296143771|ref|NM_001180731.1| 0 160 + gi|296143771|ref|NM_001180731.1| 465 630 + 213 M 93 I 1 M 33 D 2 M 12 D 4 M 21
|
||||
cigar: gi|296143771|ref|NM_001180731.1| 158 1 - gi|296143771|ref|NM_001180731.1| 628 466 - 201 M 24 D 6 M 39 I 1 M 93
|
||||
-- completed exonerate analysis
|
6
Tests/Exonerate/exn_22_m_coding2coding_cigar.exn
Normal file
6
Tests/Exonerate/exn_22_m_coding2coding_cigar.exn
Normal file
@ -0,0 +1,6 @@
|
||||
Command line: [exonerate -m coding2coding ../scer_cad1.fa /media/Waterloo/Downloads/genomes/scer_s288c/scer_s288c.fa --bestn 3 --showalignment no --showcigar yes --showvulgar no]
|
||||
Hostname: [blackbriar]
|
||||
cigar: gi|296143771|ref|NM_001180731.1| 1228 1 - gi|330443520|ref|NC_001136.10| 1318047 1319274 + 2151 M 1227
|
||||
cigar: gi|296143771|ref|NM_001180731.1| 0 1230 + gi|330443520|ref|NC_001136.10| 1319275 1318045 - 2106 M 1230
|
||||
cigar: gi|296143771|ref|NM_001180731.1| 1065 1224 + gi|330443688|ref|NC_001145.3| 255638 255794 + 116 M 105 I 3 M 51
|
||||
-- completed exonerate analysis
|
6
Tests/Exonerate/exn_22_m_coding2coding_vulgar.exn
Normal file
6
Tests/Exonerate/exn_22_m_coding2coding_vulgar.exn
Normal file
@ -0,0 +1,6 @@
|
||||
Command line: [exonerate -m coding2coding ../scer_cad1.fa /media/Waterloo/Downloads/genomes/scer_s288c/scer_s288c.fa --bestn 3 --showalignment no --showcigar no --showvulgar yes]
|
||||
Hostname: [blackbriar]
|
||||
vulgar: gi|296143771|ref|NM_001180731.1| 1228 1 - gi|330443520|ref|NC_001136.10| 1318047 1319274 + 2151 C 1227 1227
|
||||
vulgar: gi|296143771|ref|NM_001180731.1| 0 1230 + gi|330443520|ref|NC_001136.10| 1319275 1318045 - 2106 C 1230 1230
|
||||
vulgar: gi|296143771|ref|NM_001180731.1| 1065 1224 + gi|330443688|ref|NC_001145.3| 255638 255794 + 116 C 105 105 G 3 0 C 51 51
|
||||
-- completed exonerate analysis
|
6
Tests/Exonerate/exn_22_m_coding2genome_cigar.exn
Normal file
6
Tests/Exonerate/exn_22_m_coding2genome_cigar.exn
Normal file
@ -0,0 +1,6 @@
|
||||
Command line: [exonerate -m coding2genome ../scer_cad1.fa /media/Waterloo/Downloads/genomes/scer_s288c/scer_s288c.fa --bestn 3 --showalignment no --showcigar yes --showvulgar no]
|
||||
Hostname: [blackbriar]
|
||||
cigar: gi|296143771|ref|NM_001180731.1| 1228 1 - gi|330443520|ref|NC_001136.10| 1318047 1319274 + 2151 M 1227
|
||||
cigar: gi|296143771|ref|NM_001180731.1| 0 1230 + gi|330443520|ref|NC_001136.10| 1319275 1318045 - 2106 M 1230
|
||||
cigar: gi|296143771|ref|NM_001180731.1| 1065 1224 + gi|330443688|ref|NC_001145.3| 255638 255794 + 116 M 105 I 3 M 51
|
||||
-- completed exonerate analysis
|
6
Tests/Exonerate/exn_22_m_coding2genome_vulgar.exn
Normal file
6
Tests/Exonerate/exn_22_m_coding2genome_vulgar.exn
Normal file
@ -0,0 +1,6 @@
|
||||
Command line: [exonerate -m coding2genome ../scer_cad1.fa /media/Waterloo/Downloads/genomes/scer_s288c/scer_s288c.fa --bestn 3 --showalignment no --showcigar no --showvulgar yes]
|
||||
Hostname: [blackbriar]
|
||||
vulgar: gi|296143771|ref|NM_001180731.1| 1228 1 - gi|330443520|ref|NC_001136.10| 1318047 1319274 + 2151 C 1227 1227
|
||||
vulgar: gi|296143771|ref|NM_001180731.1| 0 1230 + gi|330443520|ref|NC_001136.10| 1319275 1318045 - 2106 C 1230 1230
|
||||
vulgar: gi|296143771|ref|NM_001180731.1| 1065 1224 + gi|330443688|ref|NC_001145.3| 255638 255794 + 116 C 105 105 G 3 0 C 51 51
|
||||
-- completed exonerate analysis
|
4
Tests/Exonerate/exn_22_m_dna2protein_cigar.exn
Normal file
4
Tests/Exonerate/exn_22_m_dna2protein_cigar.exn
Normal file
@ -0,0 +1,4 @@
|
||||
Command line: [exonerate --showcigar yes --showvulgar no --showalignment no nuc2.fa pro.fa]
|
||||
Hostname: [blackbriar]
|
||||
cigar: dna 0 93 + protein 313 344 . 105 M 93
|
||||
-- completed exonerate analysis
|
4
Tests/Exonerate/exn_22_m_dna2protein_vulgar.exn
Normal file
4
Tests/Exonerate/exn_22_m_dna2protein_vulgar.exn
Normal file
@ -0,0 +1,4 @@
|
||||
Command line: [exonerate --showcigar no --showvulgar yes --showalignment no nuc2.fa pro.fa]
|
||||
Hostname: [blackbriar]
|
||||
vulgar: dna 0 93 + protein 313 344 . 105 M 93 31
|
||||
-- completed exonerate analysis
|
6
Tests/Exonerate/exn_22_m_est2genome_cigar.exn
Normal file
6
Tests/Exonerate/exn_22_m_est2genome_cigar.exn
Normal file
@ -0,0 +1,6 @@
|
||||
Command line: [exonerate -m est2genome ../scer_cad1.fa /media/Waterloo/Downloads/genomes/scer_s288c/scer_s288c.fa --bestn 3 --showalignment no --showcigar yes --showvulgar no]
|
||||
Hostname: [blackbriar]
|
||||
cigar: gi|296143771|ref|NM_001180731.1| 0 1230 + gi|330443520|ref|NC_001136.10| 1319275 1318045 - 6150 M 1230
|
||||
cigar: gi|296143771|ref|NM_001180731.1| 0 346 + gi|330443688|ref|NC_001145.3| 85010 473201 + 439 M 11 I 1 M 15 I 2 M 4 I 1 M 1 I 1 M 8 I 4 M 17 D 168908 M 4 D 1 M 8 I 1 M 3 I 2 M 33 D 1 M 7 D 2 M 102 D 96824 M 14 D 2 M 10 I 2 M 5 D 2 M 10 I 2 M 4 D 1 M 20 I 1 M 15 D 1 M 5 I 3 M 4 D 122118 M 20 D 5 M 6
|
||||
cigar: gi|296143771|ref|NM_001180731.1| 25 406 + gi|330443688|ref|NC_001145.3| 130198 11338 - 263 M 14 D 1 M 4 I 2 M 25 D 1 M 9 D 6 M 42 I 2 M 16 D 2 M 7 D 1 M 3 I 2 M 23 I 3 M 6 D 9357 M 1 I 1 M 11 D 1 M 12 I 1 M 9 D 1 M 10 I 1 M 18 D 1 M 5 D 109125 M 16 I 4 M 4 I 1 M 11 I 5 M 8 I 1 M 22 D 2 M 4 D 2 M 34 D 1 M 3 D 1 M 41
|
||||
-- completed exonerate analysis
|
6
Tests/Exonerate/exn_22_m_est2genome_vulgar.exn
Normal file
6
Tests/Exonerate/exn_22_m_est2genome_vulgar.exn
Normal file
@ -0,0 +1,6 @@
|
||||
Command line: [exonerate -m est2genome ../scer_cad1.fa /media/Waterloo/Downloads/genomes/scer_s288c/scer_s288c.fa --bestn 3 --showalignment no --showcigar no --showvulgar yes]
|
||||
Hostname: [blackbriar]
|
||||
vulgar: gi|296143771|ref|NM_001180731.1| 0 1230 + gi|330443520|ref|NC_001136.10| 1319275 1318045 - 6150 M 1230 1230
|
||||
vulgar: gi|296143771|ref|NM_001180731.1| 0 346 + gi|330443688|ref|NC_001145.3| 85010 473201 + 439 M 11 11 G 1 0 M 15 15 G 2 0 M 4 4 G 1 0 M 1 1 G 1 0 M 8 8 G 4 0 M 17 17 5 0 2 I 0 168904 3 0 2 M 4 4 G 0 1 M 8 8 G 1 0 M 3 3 G 2 0 M 33 33 G 0 1 M 7 7 G 0 2 M 102 102 5 0 2 I 0 96820 3 0 2 M 14 14 G 0 2 M 10 10 G 2 0 M 5 5 G 0 2 M 10 10 G 2 0 M 4 4 G 0 1 M 20 20 G 1 0 M 15 15 G 0 1 M 5 5 G 3 0 M 4 4 5 0 2 I 0 122114 3 0 2 M 20 20 G 0 5 M 6 6
|
||||
vulgar: gi|296143771|ref|NM_001180731.1| 25 406 + gi|330443688|ref|NC_001145.3| 130198 11338 - 263 M 14 14 G 0 1 M 4 4 G 2 0 M 25 25 G 0 1 M 9 9 G 0 6 M 42 42 G 2 0 M 16 16 G 0 2 M 7 7 G 0 1 M 3 3 G 2 0 M 23 23 G 3 0 M 6 6 3 0 2 I 0 9353 5 0 2 M 1 1 G 1 0 M 11 11 G 0 1 M 12 12 G 1 0 M 9 9 G 0 1 M 10 10 G 1 0 M 18 18 G 0 1 M 5 5 3 0 2 I 0 109121 5 0 2 M 16 16 G 4 0 M 4 4 G 1 0 M 11 11 G 5 0 M 8 8 G 1 0 M 22 22 G 0 2 M 4 4 G 0 2 M 34 34 G 0 1 M 3 3 G 0 1 M 41 41
|
||||
-- completed exonerate analysis
|
6
Tests/Exonerate/exn_22_m_ner_cigar.exn
Normal file
6
Tests/Exonerate/exn_22_m_ner_cigar.exn
Normal file
@ -0,0 +1,6 @@
|
||||
Command line: [exonerate -m ner ../scer_cad1.fa /media/Waterloo/Downloads/genomes/scer_s288c/scer_s288c.fa --bestn 3 --showalignment no --showcigar yes --showvulgar no]
|
||||
Hostname: [blackbriar]
|
||||
cigar: gi|296143771|ref|NM_001180731.1| 0 1230 + gi|330443520|ref|NC_001136.10| 1319275 1318045 - 6150 M 1230
|
||||
cigar: gi|296143771|ref|NM_001180731.1| 110 1230 + gi|330443681|ref|NC_001144.5| 297910 318994 + 502 M 8 D 28 I 30 M 12 D 12 I 9 M 14 D 8 I 1 M 5 I 1 M 8 D 11 I 29 D 3 M 4 D 1 M 7 D 1 M 7 D 10 I 10 M 7 D 9 I 4 M 19 D 11 I 11 M 13 D 9 M 6 I 1 M 10 D 2 M 4 D 1 M 10 I 368 D 20287 M 9 D 6 I 11 D 2 M 7 D 15 I 9 M 12 I 2 M 10 D 5 I 10 M 20 I 1 M 6 D 3 I 1 D 19 I 1 D 7 I 1 D 1 I 1 D 1 I 3 D 2 I 1 D 1 I 1 D 1 I 1 D 1 I 1 M 6 D 40 I 10 M 14 D 5 I 43 M 8 D 1 I 18 M 7 I 1 M 9 D 4 I 8 M 7 D 15 I 6 M 7 D 3 M 9 D 8 I 10 M 5 I 1 M 9 D 3 I 12 M 10 D 7 M 7 D 6 I 1 M 11 D 1 M 6 D 14 I 6 M 6 I 1 M 15 I 1 M 14 D 12 I 8 M 6 D 11 I 1 M 20 D 18 I 2 M 4 I 1 M 5 D 15 I 2 M 7 D 2 I 16 D 2 M 10 D 10 I 1 M 11 D 4 I 9 M 14 D 1 I 9 M 20
|
||||
cigar: gi|296143771|ref|NM_001180731.1| 509 1192 + gi|330443520|ref|NC_001136.10| 183946 184603 + 440 M 6 D 8 I 22 D 17 M 11 D 7 I 19 D 7 M 29 D 8 I 11 D 5 M 11 D 4 I 1 D 1 I 2 D 3 I 2 D 1 I 3 D 2 I 10 M 15 D 2 I 16 D 9 M 16 D 3 M 7 D 1 M 6 D 1 M 6 I 1 M 16 D 21 I 18 M 10 D 11 I 1 M 4 D 2 M 4 I 1 M 10 D 1 I 10 M 3 I 1 M 11 D 14 I 5 M 13 D 19 I 5 M 9 I 1 M 9 D 10 I 9 M 6 D 6 I 3 D 3 I 1 D 1 I 8 M 22 D 2 I 19 D 7 M 19 D 1 I 6 M 12 D 12 I 18 D 3 M 6 I 1 M 11 D 1 M 4 D 2 M 11 I 1 M 5 D 6 I 14 M 11 D 13 I 1 M 10 D 7 I 2 D 1 I 1 D 2 I 2 D 1 I 2 D 1 I 11 M 10 I 1 M 19 D 1 I 19 M 10 D 14 I 1 D 2 I 2 D 1 I 10 M 10 D 2 M 9 D 2 I 6 M 8 D 3 I 12 D 2 M 25
|
||||
-- completed exonerate analysis
|
6
Tests/Exonerate/exn_22_m_ner_vulgar.exn
Normal file
6
Tests/Exonerate/exn_22_m_ner_vulgar.exn
Normal file
@ -0,0 +1,6 @@
|
||||
Command line: [exonerate -m ner ../scer_cad1.fa /media/Waterloo/Downloads/genomes/scer_s288c/scer_s288c.fa --bestn 3 --showalignment no --showcigar no --showvulgar yes]
|
||||
Hostname: [blackbriar]
|
||||
vulgar: gi|296143771|ref|NM_001180731.1| 0 1230 + gi|330443520|ref|NC_001136.10| 1319275 1318045 - 6150 M 1230 1230
|
||||
vulgar: gi|296143771|ref|NM_001180731.1| 110 1230 + gi|330443681|ref|NC_001144.5| 297910 318994 + 502 M 7 7 N 31 29 M 11 11 N 10 13 M 13 13 N 2 9 M 5 5 G 1 0 M 7 7 N 30 15 M 4 4 G 0 1 M 7 7 G 0 1 M 6 6 N 11 11 M 6 6 N 5 10 M 18 18 N 12 12 M 12 12 N 1 10 M 6 6 G 1 0 M 10 10 G 0 2 M 4 4 G 0 1 M 9 9 N 369 20288 M 8 8 N 12 9 M 6 6 N 10 16 M 12 12 G 2 0 M 9 9 N 11 6 M 20 20 G 1 0 M 5 5 N 12 37 M 5 5 N 11 41 M 13 13 N 44 6 M 7 7 N 19 2 M 7 7 G 1 0 M 8 8 N 9 5 M 6 6 N 7 16 M 6 6 N 1 4 M 8 8 N 11 9 M 5 5 G 1 0 M 8 8 N 13 4 M 9 9 N 1 8 M 6 6 N 2 7 M 11 11 G 0 1 M 5 5 N 7 15 M 6 6 G 1 0 M 15 15 G 1 0 M 13 13 N 9 13 M 5 5 N 2 12 M 19 19 N 3 19 M 4 4 G 1 0 M 4 4 N 3 16 M 6 6 N 17 5 M 9 9 N 2 11 M 10 10 N 10 5 M 13 13 N 10 2 M 20 20
|
||||
vulgar: gi|296143771|ref|NM_001180731.1| 509 1192 + gi|330443520|ref|NC_001136.10| 183946 184603 + 440 M 5 5 N 23 26 M 10 10 N 20 15 M 28 28 N 12 14 M 10 10 N 19 12 M 14 14 N 17 12 M 15 15 N 1 4 M 7 7 G 0 1 M 6 6 G 0 1 M 6 6 G 1 0 M 15 15 N 19 22 M 9 9 N 2 12 M 4 4 G 0 2 M 4 4 G 1 0 M 9 9 N 11 2 M 3 3 G 1 0 M 10 10 N 6 15 M 12 12 N 6 20 M 9 9 G 1 0 M 8 8 N 10 11 M 5 5 N 13 11 M 21 21 N 20 10 M 18 18 N 7 2 M 11 11 N 19 16 M 6 6 G 1 0 M 11 11 G 0 1 M 4 4 G 0 2 M 11 11 G 1 0 M 4 4 N 15 7 M 10 10 N 2 14 M 9 9 N 19 13 M 10 10 G 1 0 M 18 18 N 20 2 M 9 9 N 14 18 M 10 10 G 0 2 M 8 8 N 7 3 M 7 7 N 13 6 M 25 25
|
||||
-- completed exonerate analysis
|
6
Tests/Exonerate/exn_22_m_protein2dna_cigar.exn
Normal file
6
Tests/Exonerate/exn_22_m_protein2dna_cigar.exn
Normal file
@ -0,0 +1,6 @@
|
||||
Command line: [exonerate -m protein2dna ../scer_cad1_prot.fa /media/Waterloo/Downloads/genomes/scer_s288c/scer_s288c.fa --bestn 3 --showalignment no --showcigar yes --showvulgar no]
|
||||
Hostname: [blackbriar]
|
||||
cigar: sp|P24813|YAP2_YEAST 0 409 . gi|330443520|ref|NC_001136.10| 1319275 1318048 - 2105 M 1227
|
||||
cigar: sp|P24813|YAP2_YEAST 28 120 . gi|330443688|ref|NC_001145.3| 253991 254270 + 205 M 36 D 3 M 240
|
||||
cigar: sp|P24813|YAP2_YEAST 355 408 . gi|330443688|ref|NC_001145.3| 255638 255794 + 116 M 105 I 1 M 51
|
||||
-- completed exonerate analysis
|
6
Tests/Exonerate/exn_22_m_protein2dna_vulgar.exn
Normal file
6
Tests/Exonerate/exn_22_m_protein2dna_vulgar.exn
Normal file
@ -0,0 +1,6 @@
|
||||
Command line: [exonerate -m protein2dna ../scer_cad1_prot.fa /media/Waterloo/Downloads/genomes/scer_s288c/scer_s288c.fa --bestn 3 --showalignment no --showcigar no --showvulgar yes]
|
||||
Hostname: [blackbriar]
|
||||
vulgar: sp|P24813|YAP2_YEAST 0 409 . gi|330443520|ref|NC_001136.10| 1319275 1318048 - 2105 M 409 1227
|
||||
vulgar: sp|P24813|YAP2_YEAST 28 120 . gi|330443688|ref|NC_001145.3| 253991 254270 + 205 M 12 36 G 0 3 M 80 240
|
||||
vulgar: sp|P24813|YAP2_YEAST 355 408 . gi|330443688|ref|NC_001145.3| 255638 255794 + 116 M 35 105 G 1 0 M 17 51
|
||||
-- completed exonerate analysis
|
6
Tests/Exonerate/exn_22_m_protein2genome_cigar.exn
Normal file
6
Tests/Exonerate/exn_22_m_protein2genome_cigar.exn
Normal file
@ -0,0 +1,6 @@
|
||||
Command line: [exonerate -m protein2genome ../scer_cad1_prot.fa /media/Waterloo/Downloads/genomes/scer_s288c/scer_s288c.fa --bestn 3 --showalignment no --showcigar yes --showvulgar no]
|
||||
Hostname: [blackbriar]
|
||||
cigar: sp|P24813|YAP2_YEAST 0 409 . gi|330443520|ref|NC_001136.10| 1319275 1318048 - 2105 M 1227
|
||||
cigar: sp|P24813|YAP2_YEAST 28 120 . gi|330443688|ref|NC_001145.3| 253991 254270 + 205 M 36 D 3 M 240
|
||||
cigar: sp|P24813|YAP2_YEAST 37 125 . gi|330443590|ref|NC_001140.6| 84646 68450 - 122 M 111 D 15934 M 151
|
||||
-- completed exonerate analysis
|
6
Tests/Exonerate/exn_22_m_protein2genome_vulgar.exn
Normal file
6
Tests/Exonerate/exn_22_m_protein2genome_vulgar.exn
Normal file
@ -0,0 +1,6 @@
|
||||
Command line: [exonerate -m protein2genome ../scer_cad1_prot.fa /media/Waterloo/Downloads/genomes/scer_s288c/scer_s288c.fa --bestn 3 --showalignment no --showcigar no --showvulgar yes]
|
||||
Hostname: [blackbriar]
|
||||
vulgar: sp|P24813|YAP2_YEAST 0 409 . gi|330443520|ref|NC_001136.10| 1319275 1318048 - 2105 M 409 1227
|
||||
vulgar: sp|P24813|YAP2_YEAST 28 120 . gi|330443688|ref|NC_001145.3| 253991 254270 + 205 M 12 36 G 0 3 M 80 240
|
||||
vulgar: sp|P24813|YAP2_YEAST 37 125 . gi|330443590|ref|NC_001140.6| 84646 68450 - 122 M 37 111 S 0 2 5 0 2 I 0 15928 3 0 2 S 1 1 M 50 150
|
||||
-- completed exonerate analysis
|
6
Tests/Exonerate/exn_22_m_ungapped_cigar.exn
Normal file
6
Tests/Exonerate/exn_22_m_ungapped_cigar.exn
Normal file
@ -0,0 +1,6 @@
|
||||
Command line: [exonerate -m ungapped ../scer_cad1.fa /media/Waterloo/Downloads/genomes/scer_s288c/scer_s288c.fa --bestn 3 --showalignment no --showcigar yes --showvulgar no]
|
||||
Hostname: [blackbriar]
|
||||
cigar: gi|296143771|ref|NM_001180731.1| 0 1230 + gi|330443520|ref|NC_001136.10| 1319275 1318045 - 6150 M 1230
|
||||
cigar: gi|296143771|ref|NM_001180731.1| 121 236 + gi|330443688|ref|NC_001145.3| 254031 254146 + 233 M 115
|
||||
cigar: gi|296143771|ref|NM_001180731.1| 1098 1166 + gi|330443688|ref|NC_001145.3| 255671 255739 + 151 M 68
|
||||
-- completed exonerate analysis
|
6
Tests/Exonerate/exn_22_m_ungapped_trans_cigar.exn
Normal file
6
Tests/Exonerate/exn_22_m_ungapped_trans_cigar.exn
Normal file
@ -0,0 +1,6 @@
|
||||
Command line: [exonerate -m ungapped:trans ../scer_cad1.fa /media/Waterloo/Downloads/genomes/scer_s288c/scer_s288c.fa --bestn 3 --showalignment no --showcigar yes --showvulgar no]
|
||||
Hostname: [blackbriar]
|
||||
cigar: gi|296143771|ref|NM_001180731.1| 1228 1 - gi|330443520|ref|NC_001136.10| 1318047 1319274 + 2151 M 1227
|
||||
cigar: gi|296143771|ref|NM_001180731.1| 0 1230 + gi|330443520|ref|NC_001136.10| 1319275 1318045 - 2106 M 1230
|
||||
cigar: gi|296143771|ref|NM_001180731.1| 1230 0 - gi|330443520|ref|NC_001136.10| 1318045 1319275 + 2072 M 1230
|
||||
-- completed exonerate analysis
|
6
Tests/Exonerate/exn_22_m_ungapped_trans_vulgar.exn
Normal file
6
Tests/Exonerate/exn_22_m_ungapped_trans_vulgar.exn
Normal file
@ -0,0 +1,6 @@
|
||||
Command line: [exonerate -m ungapped:trans ../scer_cad1.fa /media/Waterloo/Downloads/genomes/scer_s288c/scer_s288c.fa --bestn 3 --showalignment no --showcigar no --showvulgar yes]
|
||||
Hostname: [blackbriar]
|
||||
vulgar: gi|296143771|ref|NM_001180731.1| 1228 1 - gi|330443520|ref|NC_001136.10| 1318047 1319274 + 2151 C 1227 1227
|
||||
vulgar: gi|296143771|ref|NM_001180731.1| 0 1230 + gi|330443520|ref|NC_001136.10| 1319275 1318045 - 2106 C 1230 1230
|
||||
vulgar: gi|296143771|ref|NM_001180731.1| 1230 0 - gi|330443520|ref|NC_001136.10| 1318045 1319275 + 2072 C 1230 1230
|
||||
-- completed exonerate analysis
|
6
Tests/Exonerate/exn_22_m_ungapped_vulgar.exn
Normal file
6
Tests/Exonerate/exn_22_m_ungapped_vulgar.exn
Normal file
@ -0,0 +1,6 @@
|
||||
Command line: [exonerate -m ungapped ../scer_cad1.fa /media/Waterloo/Downloads/genomes/scer_s288c/scer_s288c.fa --bestn 3 --showalignment no --showcigar no --showvulgar yes]
|
||||
Hostname: [blackbriar]
|
||||
vulgar: gi|296143771|ref|NM_001180731.1| 0 1230 + gi|330443520|ref|NC_001136.10| 1319275 1318045 - 6150 M 1230 1230
|
||||
vulgar: gi|296143771|ref|NM_001180731.1| 121 236 + gi|330443688|ref|NC_001145.3| 254031 254146 + 233 M 115 115
|
||||
vulgar: gi|296143771|ref|NM_001180731.1| 1098 1166 + gi|330443688|ref|NC_001145.3| 255671 255739 + 151 M 68 68
|
||||
-- completed exonerate analysis
|
5
Tests/Exonerate/exn_22_o_cigar_fshifts2.exn
Normal file
5
Tests/Exonerate/exn_22_o_cigar_fshifts2.exn
Normal file
@ -0,0 +1,5 @@
|
||||
Command line: [exonerate -m protein2dna scer_cad1_prot.fa scer_cad1frameshift.fa --showcigar yes --showvulgar no --showalignment no --bestn 3]
|
||||
Hostname: [blackbriar]
|
||||
cigar: sp|P24813|YAP2_YEAST 330 409 . gi|296143771|ref|NM_001180731.1| 216 455 + 367 M 129 D 2 M 108
|
||||
cigar: sp|P24813|YAP2_YEAST 6 70 . gi|296143771|ref|NM_001180731.1| 16 208 + 322 M 192
|
||||
-- completed exonerate analysis
|
9
Tests/Exonerate/exn_22_q_multiple_cigar.exn
Normal file
9
Tests/Exonerate/exn_22_q_multiple_cigar.exn
Normal file
@ -0,0 +1,9 @@
|
||||
Command line: [exonerate -m est2genome comb.fa /media/Waterloo/Downloads/genomes/scer_s288c/scer_s288c.fa --bestn 3 --showalignment no --showcigar yes --showvulgar no]
|
||||
Hostname: [blackbriar]
|
||||
cigar: gi|296142823|ref|NM_001178508.1| 0 897 + gi|330443482|ref|NC_001134.8| 560077 560974 + 4485 M 897
|
||||
cigar: gi|296142823|ref|NM_001178508.1| 2 896 + gi|330443753|ref|NC_001148.4| 492933 492033 - 941 M 4 I 2 M 21 I 1 M 51 I 2 M 6 I 3 M 11 I 3 M 1 I 1 M 26 I 3 M 102 I 1 M 1 I 1 M 1 I 1 M 55 D 3 M 5 I 2 M 7 D 1 M 4 D 1 M 9 I 1 M 3 D 1 M 2 D 2 M 2 D 3 M 3 D 1 M 22 D 1 M 9 I 1 M 68 D 1 M 3 I 1 M 174 I 1 M 8 D 1 M 154 D 3 M 8 D 1 M 4 D 2 M 9 D 2 M 1 D 1 M 5 D 6 M 53 D 1 M 14 I 1 M 23
|
||||
cigar: gi|296142823|ref|NM_001178508.1| 34 721 + gi|330443520|ref|NC_001136.10| 267809 300717 + 651 M 34 I 1 M 8 I 1 M 1 I 2 M 7 D 4 M 4 I 2 M 3 I 3 M 10 I 3 M 28 I 1 M 34 I 1 M 6 D 2 M 10 D 1 M 14 D 1 M 15 I 1 M 12 I 1 M 1 I 1 M 3 I 3 M 28 I 8 M 3 I 2 M 21 I 2 M 7 D 4 M 2 D 2 M 6 D 3 M 13 D 2 M 4 D 1 M 11 I 5 M 6 I 2 M 12 D 1 M 52 I 1 M 7 D 1 M 55 D 1 M 7 I 3 M 13 D 2 M 100 D 1 M 6 I 1 M 40 I 2 M 6 D 2 M 22 D 32238 M 12 D 1 M 18
|
||||
cigar: gi|296143771|ref|NM_001180731.1| 0 1230 + gi|330443520|ref|NC_001136.10| 1319275 1318045 - 6150 M 1230
|
||||
cigar: gi|296143771|ref|NM_001180731.1| 0 346 + gi|330443688|ref|NC_001145.3| 85010 473201 + 439 M 11 I 1 M 15 I 2 M 4 I 1 M 1 I 1 M 8 I 4 M 17 D 168908 M 4 D 1 M 8 I 1 M 3 I 2 M 33 D 1 M 7 D 2 M 102 D 96824 M 14 D 2 M 10 I 2 M 5 D 2 M 10 I 2 M 4 D 1 M 20 I 1 M 15 D 1 M 5 I 3 M 4 D 122118 M 20 D 5 M 6
|
||||
cigar: gi|296143771|ref|NM_001180731.1| 25 406 + gi|330443688|ref|NC_001145.3| 130198 11338 - 263 M 14 D 1 M 4 I 2 M 25 D 1 M 9 D 6 M 42 I 2 M 16 D 2 M 7 D 1 M 3 I 2 M 23 I 3 M 6 D 9357 M 1 I 1 M 11 D 1 M 12 I 1 M 9 D 1 M 10 I 1 M 18 D 1 M 5 D 109125 M 16 I 4 M 4 I 1 M 11 I 5 M 8 I 1 M 22 D 2 M 4 D 2 M 34 D 1 M 3 D 1 M 41
|
||||
-- completed exonerate analysis
|
@ -1,12 +1,12 @@
|
||||
Command line: [exonerate -m protein2genome gene001_baits.fasta gene001_contigs.fasta --showcigar no --showvulgar no --bestn 1 --refine full]
|
||||
Hostname: [RBGs-MacBook-Air.local]
|
||||
Hostname: [Michiels-MacBook-Pro.local]
|
||||
|
||||
C4 Alignment:
|
||||
------------
|
||||
Query: Morus-gene001
|
||||
Target: NODE_1_length_2817_cov_100.387732 SPAdes contig NODE_1:[revcomp]
|
||||
Model: protein2genome:local
|
||||
Raw score: 1958
|
||||
Raw score: 1978
|
||||
Query range: 48 -> 482
|
||||
Target range: 2392 -> 388
|
||||
|
||||
|
@ -0,0 +1,4 @@
|
||||
Command line: [exonerate -m protein2genome gene001_baits.fasta gene001_contigs.fasta --showalignment no --showcigar yes --showvulgar no --bestn 1 --refine full]
|
||||
Hostname: [Michiels-MacBook-Pro.local]
|
||||
cigar: Morus-gene001 48 482 . NODE_1_length_2817_cov_100.387732 2392 388 - 1978 M 111 D 152 M 99 D 109 M 111 D 86 M 303 D 223 M 140 D 133 M 537
|
||||
-- completed exonerate analysis
|
@ -0,0 +1,4 @@
|
||||
Command line: [exonerate -m protein2genome gene001_baits.fasta gene001_contigs.fasta --showalignment no --showcigar no --showvulgar yes --bestn 1 --refine full]
|
||||
Hostname: [Michiels-MacBook-Pro.local]
|
||||
vulgar: Morus-gene001 48 482 . NODE_1_length_2817_cov_100.387732 2392 388 - 1978 M 37 111 5 0 2 I 0 148 3 0 2 M 33 99 5 0 2 I 0 105 3 0 2 M 37 111 5 0 2 I 0 82 3 0 2 M 101 303 S 0 1 5 0 2 I 0 218 3 0 2 S 1 2 M 46 138 5 0 2 I 0 129 3 0 2 M 179 537
|
||||
-- completed exonerate analysis
|
@ -0,0 +1,4 @@
|
||||
Command line: [exonerate -m protein2genome gene026_baits.fasta gene026_contigs.fasta --showalignment no --showcigar yes --showvulgar no --bestn 2 --refine full]
|
||||
Hostname: [Michiels-MacBook-Pro.local]
|
||||
cigar: Morus-gene026 69 441 . NODE_2_length_1708_cov_48.590765 1416 331 - 1308 M 36 D 6 M 249 I 5 M 78 I 1 M 303 I 3 M 294 I 4 D 2 M 117
|
||||
-- completed exonerate analysis
|
@ -0,0 +1,4 @@
|
||||
Command line: [exonerate -m protein2genome gene026_baits.fasta gene026_contigs.fasta --showalignment no --showcigar no --showvulgar yes --bestn 2 --refine full]
|
||||
Hostname: [Michiels-MacBook-Pro.local]
|
||||
vulgar: Morus-gene026 69 441 . NODE_2_length_1708_cov_48.590765 1416 331 - 1308 M 12 36 G 0 6 M 83 249 G 5 0 M 26 78 G 1 0 M 101 303 G 3 0 M 98 294 G 4 0 F 0 2 M 39 117
|
||||
-- completed exonerate analysis
|
3311
Tests/test_Align_exonerate.py
Normal file
3311
Tests/test_Align_exonerate.py
Normal file
File diff suppressed because it is too large
Load Diff
@ -2346,7 +2346,7 @@ class ExonerateTextCases(unittest.TestCase):
|
||||
self.assertEqual("SPAdes contig NODE_1", hit.description)
|
||||
self.assertEqual(1, len(hit))
|
||||
# first hit, first hsp
|
||||
self.assertEqual(1958, hsp.score)
|
||||
self.assertEqual(1978, hsp.score)
|
||||
self.assertEqual([0, 0, 0, 0, 0, 0], hsp.query_strand_all)
|
||||
self.assertEqual([-1, -1, -1, -1, -1, -1], hsp.hit_strand_all)
|
||||
self.assertEqual(48, hsp.query_start)
|
||||
|
Reference in New Issue
Block a user