Move the OBIView_NUC_SEQS class to files _obiview_nuc_seq.pxd and
_obiview_nuc_seq.pyx to avoid circular inclusion
This commit is contained in:
@ -67,10 +67,6 @@ cdef class OBIView:
|
|||||||
cdef object get_view_subclass(str view_type)
|
cdef object get_view_subclass(str view_type)
|
||||||
|
|
||||||
|
|
||||||
cdef class OBIView_NUC_SEQS(OBIView) :
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
cdef class OBIView_line :
|
cdef class OBIView_line :
|
||||||
|
|
||||||
cdef index_t _index
|
cdef index_t _index
|
||||||
|
@ -30,8 +30,6 @@ from ._obidms cimport OBIDMS, \
|
|||||||
|
|
||||||
from ._obitaxo cimport OBI_Taxonomy
|
from ._obitaxo cimport OBI_Taxonomy
|
||||||
|
|
||||||
from ._obiseq cimport OBI_Nuc_Seq, OBI_Nuc_Seq_Stored
|
|
||||||
|
|
||||||
from ._obidmscolumn_int cimport OBIDMS_column_int, \
|
from ._obidmscolumn_int cimport OBIDMS_column_int, \
|
||||||
OBIDMS_column_multi_elts_int
|
OBIDMS_column_multi_elts_int
|
||||||
|
|
||||||
@ -132,7 +130,7 @@ cdef class OBIDMS_column :
|
|||||||
def alias(self):
|
def alias(self):
|
||||||
return self._alias
|
return self._alias
|
||||||
@alias.setter
|
@alias.setter
|
||||||
def alias(self, new_alias):
|
def alias(self, new_alias): # @DuplicatedSignature
|
||||||
self._view.change_column_alias(self._alias, new_alias)
|
self._view.change_column_alias(self._alias, new_alias)
|
||||||
|
|
||||||
# elements_names property getter
|
# elements_names property getter
|
||||||
@ -490,7 +488,7 @@ cdef class OBIView :
|
|||||||
|
|
||||||
# view type property getter
|
# view type property getter
|
||||||
@property
|
@property
|
||||||
def type(self):
|
def type(self): # @ReservedAssignment
|
||||||
return bytes2str(self._pointer.infos.view_type)
|
return bytes2str(self._pointer.infos.view_type)
|
||||||
|
|
||||||
# columns property getter
|
# columns property getter
|
||||||
@ -518,20 +516,6 @@ cdef class OBIView :
|
|||||||
######################################################################################################
|
######################################################################################################
|
||||||
|
|
||||||
|
|
||||||
cdef class OBIView_NUC_SEQS(OBIView):
|
|
||||||
|
|
||||||
|
|
||||||
def __getitem__(self, object item) :
|
|
||||||
if type(item) == str :
|
|
||||||
return (self._columns)[item]
|
|
||||||
elif type(item) == int :
|
|
||||||
return OBI_Nuc_Seq_Stored(self, item)
|
|
||||||
|
|
||||||
|
|
||||||
def __setitem__(self, index_t line_idx, OBI_Nuc_Seq sequence_obj) :
|
|
||||||
for key in sequence_obj :
|
|
||||||
self[line_idx][key] = sequence_obj[key]
|
|
||||||
|
|
||||||
|
|
||||||
######################################################################################################
|
######################################################################################################
|
||||||
|
|
||||||
@ -609,9 +593,9 @@ cdef class OBIView_line_selection(list):
|
|||||||
def append(self, index_t idx) :
|
def append(self, index_t idx) :
|
||||||
if idx >= self._view.line_count :
|
if idx >= self._view.line_count :
|
||||||
raise Exception("Error: trying to select a line beyond the line count of a view")
|
raise Exception("Error: trying to select a line beyond the line count of a view")
|
||||||
# if idx in self : # TODO discuss. Discuss order too
|
# if idx in self : # TODO discuss. Discuss order too
|
||||||
# pass
|
# pass
|
||||||
# else :
|
# else :
|
||||||
super(OBIView_line_selection, self).append(idx)
|
super(OBIView_line_selection, self).append(idx)
|
||||||
|
|
||||||
|
|
||||||
@ -663,7 +647,7 @@ cdef class OBIDMS :
|
|||||||
|
|
||||||
|
|
||||||
cpdef OBIView clone_view(self, str view_name, object view_to_clone, str comments="") :
|
cpdef OBIView clone_view(self, str view_name, object view_to_clone, str comments="") :
|
||||||
cdef object view_class
|
cdef object view_class # @DuplicatedSignature
|
||||||
cdef str view_type
|
cdef str view_type
|
||||||
# Get right subclass depending on view type
|
# Get right subclass depending on view type
|
||||||
if type(view_to_clone) == str :
|
if type(view_to_clone) == str :
|
||||||
@ -675,7 +659,7 @@ cdef class OBIDMS :
|
|||||||
|
|
||||||
|
|
||||||
cpdef OBIView clone_view_with_line_selection(self, str view_name, OBIView_line_selection line_selection, str comments="") :
|
cpdef OBIView clone_view_with_line_selection(self, str view_name, OBIView_line_selection line_selection, str comments="") :
|
||||||
cdef object view_class
|
cdef object view_class # @DuplicatedSignature
|
||||||
# Get right subclass depending on view type
|
# Get right subclass depending on view type
|
||||||
view_class = OBIView.get_view_subclass(line_selection._view.type)
|
view_class = OBIView.get_view_subclass(line_selection._view.type)
|
||||||
return view_class(self, view_name, new=True, view_to_clone=line_selection._view, line_selection=line_selection, comments=comments)
|
return view_class(self, view_name, new=True, view_to_clone=line_selection._view, line_selection=line_selection, comments=comments)
|
||||||
|
8
python/obitools3/obidms/_obiview_nuc_seq.pxd
Normal file
8
python/obitools3/obidms/_obiview_nuc_seq.pxd
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
#cython: language_level=3
|
||||||
|
|
||||||
|
from ._obidms cimport OBIView
|
||||||
|
from ._obiseq cimport OBI_Nuc_Seq, OBI_Nuc_Seq_Stored
|
||||||
|
|
||||||
|
|
||||||
|
cdef class OBIView_NUC_SEQS(OBIView):
|
||||||
|
pass
|
19
python/obitools3/obidms/_obiview_nuc_seq.pyx
Normal file
19
python/obitools3/obidms/_obiview_nuc_seq.pyx
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
#cython: language_level=3
|
||||||
|
|
||||||
|
from .capi.obitypes cimport index_t
|
||||||
|
|
||||||
|
|
||||||
|
cdef class OBIView_NUC_SEQS(OBIView):
|
||||||
|
|
||||||
|
|
||||||
|
def __getitem__(self, object item) :
|
||||||
|
if type(item) == str :
|
||||||
|
return (self._columns)[item]
|
||||||
|
elif type(item) == int :
|
||||||
|
return OBI_Nuc_Seq_Stored(self, item)
|
||||||
|
|
||||||
|
|
||||||
|
def __setitem__(self, index_t line_idx, OBI_Nuc_Seq sequence_obj) :
|
||||||
|
for key in sequence_obj :
|
||||||
|
self[line_idx][key] = sequence_obj[key]
|
||||||
|
|
Reference in New Issue
Block a user