Fixed the new alignpaired end to work after ngsfilter with the 9879847

possible cases
This commit is contained in:
Celine Mercier
2019-02-17 18:32:35 +01:00
parent 4ddd1a1c37
commit e026e9ec83
9 changed files with 151 additions and 83 deletions

View File

@ -32,6 +32,8 @@ cdef extern from "kmer_similarity.h" nogil:
OBIDMS_column_p column2,
index_t idx2,
index_t elt_idx2,
OBIDMS_column_p qual_col1,
OBIDMS_column_p qual_col2,
uint8_t kmer_size,
int32_t* kmer_pos_array,
int32_t* kmer_pos_array_height_p,

View File

@ -5,6 +5,7 @@ from .view.view cimport Line
cdef class Seq(dict) :
cdef int _index
cpdef object clone(self)
cpdef str get_str(self)
cpdef get_symbol_at(self, int pos)
@ -22,6 +23,7 @@ cdef class Nuc_Seq(Seq) :
cdef class Seq_Stored(Line) :
cpdef get_symbol_at(self, int pos)
cpdef get_slice(self, slice slice_to_get)
@ -31,6 +33,7 @@ cdef class Nuc_Seq_Stored(Seq_Stored) :
cdef Nuc_Seq _reverse_complement
cdef object _quality_array
cdef bytes _seq
cpdef set(self, object id, object seq, object definition=*, object quality=*, int offset=*, object tags=*)
cpdef set_quality_int(self, list new_qual)
cpdef set_quality_char(self, object new_qual, int offset=*)

View File

@ -40,6 +40,7 @@ cdef class Seq(dict) :
self.id = id
self.seq = seq
self.definition = definition
self._index = -1
if tags is not None :
for k in tags:
k_b = tobytes(k)
@ -54,6 +55,7 @@ cdef class Seq(dict) :
def new_from_stored(Seq_Stored seq_to_clone) :
cdef Seq new_seq
new_seq = Seq(seq_to_clone.id, seq_to_clone.seq, definition=seq_to_clone.definition, quality=seq_to_clone.quality, tags=seq_to_clone)
new_seq._index = seq_to_clone._index
return new_seq
def __contains__(self, object key):
@ -128,7 +130,16 @@ cdef class Seq(dict) :
if new_definition is not None:
new_definition = tobytes(new_definition)
self[DEFINITION_COLUMN] = new_definition
# sequence index (for reference in a view eventually) property getter and setter
@property
def index(self): # @ReservedAssignment
return self._index
@index.setter
def index(self, int idx): # @DuplicatedSignature
self._index = idx
cdef class Nuc_Seq(Seq) :
@ -160,6 +171,7 @@ cdef class Nuc_Seq(Seq) :
def new_from_stored(Nuc_Seq_Stored seq_to_clone) :
cdef Nuc_Seq new_seq
new_seq = Nuc_Seq(seq_to_clone.id, seq_to_clone.seq, definition=seq_to_clone.definition, quality=seq_to_clone.quality, tags=seq_to_clone)
new_seq._index = seq_to_clone.index
return new_seq
# is_revcomp property getter and setter (boolean indicating whether the sequence was created by reverse complementing another sequence)