mirror of
https://github.com/MillironX/SequenceVariation.jl.git
synced 2024-11-22 05:19:55 +00:00
Add docstrings for Variant methods
This commit is contained in:
parent
f49220782b
commit
ea25ab87dc
2 changed files with 27 additions and 3 deletions
|
@ -45,9 +45,12 @@ function Base.show(io::IO, x::Variant)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
# Validate:
|
"""
|
||||||
# A sequence is invalid if any of its operations are out of bounds, or the same position
|
is_valid(v::Variant)
|
||||||
# is affected by multiple edits.
|
|
||||||
|
Validate `v`. `v` is invalid if any of its operations are out of bounds, or the same
|
||||||
|
position is affected by multiple edits.
|
||||||
|
"""
|
||||||
function _is_valid(v::Variant)
|
function _is_valid(v::Variant)
|
||||||
isempty(v.ref) && return false
|
isempty(v.ref) && return false
|
||||||
valid_positions = 1:length(v.ref)
|
valid_positions = 1:length(v.ref)
|
||||||
|
@ -141,10 +144,26 @@ function Variant(
|
||||||
return Variant(ref, edits)
|
return Variant(ref, edits)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
"""
|
||||||
|
_edits(v::Variant)
|
||||||
|
|
||||||
|
Gets the [`Edit`](@ref)s that comprise `v`
|
||||||
|
"""
|
||||||
_edits(v::Variant) = v.edits
|
_edits(v::Variant) = v.edits
|
||||||
|
|
||||||
|
"""
|
||||||
|
reference(v::Variant)
|
||||||
|
|
||||||
|
Gets the reference sequence of `v`.
|
||||||
|
"""
|
||||||
reference(v::Variant) = v.ref
|
reference(v::Variant) = v.ref
|
||||||
Base.:(==)(x::Variant, y::Variant) = x.ref == y.ref && x.edits == y.edits
|
Base.:(==)(x::Variant, y::Variant) = x.ref == y.ref && x.edits == y.edits
|
||||||
|
|
||||||
|
"""
|
||||||
|
reconstruct!(seq::S, x::Variant{S}) where {S}
|
||||||
|
|
||||||
|
Apply the edits in `x` to `seq` and return the mutated sequence
|
||||||
|
"""
|
||||||
function reconstruct!(seq::S, x::Variant{S}) where {S}
|
function reconstruct!(seq::S, x::Variant{S}) where {S}
|
||||||
len = length(x.ref) + sum(edit -> _lendiff(edit), _edits(x))
|
len = length(x.ref) + sum(edit -> _lendiff(edit), _edits(x))
|
||||||
resize!(seq, len % UInt)
|
resize!(seq, len % UInt)
|
||||||
|
|
|
@ -118,6 +118,11 @@ function translate(var::Variation{S,T}, aln::PairwiseAlignment{S,S}) where {S,T}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
"""
|
||||||
|
variations(v::Variant{S,T}) where {S,T}
|
||||||
|
|
||||||
|
Converts the [`Edit`](@ref)s of `v` into a vector of [`Variation`](@ref)s.
|
||||||
|
"""
|
||||||
function variations(v::Variant{S,T}) where {S,T}
|
function variations(v::Variant{S,T}) where {S,T}
|
||||||
vs = Vector{Variation{S,T}}(undef, length(_edits(v)))
|
vs = Vector{Variation{S,T}}(undef, length(_edits(v)))
|
||||||
for (i, e) in enumerate(_edits(v))
|
for (i, e) in enumerate(_edits(v))
|
||||||
|
|
Loading…
Reference in a new issue