mirror of
https://github.com/MillironX/SequenceVariation.jl.git
synced 2024-12-23 08:48:17 +00:00
Fix show function for Variations with Insertion edits (#3)
Signed-off-by: Thomas A. Christensen II <25492070+MillironX@users.noreply.github.com>
This commit is contained in:
parent
92a2d40553
commit
d0f0f65d7f
1 changed files with 7 additions and 5 deletions
|
@ -66,7 +66,7 @@ outside this struct
|
|||
"""
|
||||
struct Deletion
|
||||
len::UInt
|
||||
|
||||
|
||||
function Deletion(len::UInt)
|
||||
iszero(len) && error("Deletion must be at least 1 symbol")
|
||||
new(len)
|
||||
|
@ -156,7 +156,7 @@ let
|
|||
lastsymbol = symbol
|
||||
end
|
||||
end,
|
||||
:digit => :(num = UInt(10)*num + (byte - 0x30) % UInt),
|
||||
:digit => :(num = UInt(10)*num + (byte - 0x30) % UInt),
|
||||
)
|
||||
@eval begin
|
||||
function Base.parse(::Type{Edit{S, T}}, data::BYTES) where {S, T}
|
||||
|
@ -180,7 +180,7 @@ end
|
|||
struct Variant{S <: BioSequence, T <: BioSymbol}
|
||||
ref::S
|
||||
edits::Vector{Edit{S, T}}
|
||||
|
||||
|
||||
Variant{S, T}(ref::S, edits::Vector{Edit{S, T}}, ::Unsafe) where {S, T} = new(ref, edits)
|
||||
end
|
||||
|
||||
|
@ -360,6 +360,8 @@ function Base.show(io::IO, x::Variation)
|
|||
print(io, x.ref[pos], pos, content.x)
|
||||
elseif content isa Deletion
|
||||
print(io, 'Δ', pos, '-', pos + content.len - 1)
|
||||
elseif content isa Insertion
|
||||
print(io, pos, content.seq)
|
||||
else
|
||||
print(io, pos, content.x)
|
||||
end
|
||||
|
@ -384,7 +386,7 @@ function translate(var::Variation{S, T}, aln::PairwiseAlignment{S, S}) where {S,
|
|||
(isgap(s) | isgap(r)) && return Inapplicable()
|
||||
return Variation{S, T}(seq, Edit{S, T}(Insertion(var.edit.x), 0))
|
||||
end
|
||||
|
||||
|
||||
(seqpos, op) = BA.ref2seq(aln, pos)
|
||||
if kind isa Substitution
|
||||
# If it's a substitution, return nothing if it maps to a deleted
|
||||
|
@ -416,7 +418,7 @@ function translate(var::Variation{S, T}, aln::PairwiseAlignment{S, S}) where {S,
|
|||
else
|
||||
return Inapplicable()
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
export Insertion,
|
||||
|
|
Loading…
Reference in a new issue