Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
O
OBITools3
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
23
Issues
23
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
Operations
Operations
Incidents
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
OBITools
OBITools3
Commits
3b59043e
Commit
3b59043e
authored
May 20, 2016
by
Celine Mercier
1
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Major update: New column type to store sequence qualities. Closes
#41
parent
ffff91e7
Changes
33
Hide whitespace changes
Inline
Side-by-side
Showing
33 changed files
with
962 additions
and
267 deletions
+962
-267
python/obitools3/commands/import.pyx
python/obitools3/commands/import.pyx
+5
-2
python/obitools3/obidms/_obidms.cfiles
python/obitools3/obidms/_obidms.cfiles
+18
-14
python/obitools3/obidms/_obidms.pxd
python/obitools3/obidms/_obidms.pxd
+1
-0
python/obitools3/obidms/_obidms.pyx
python/obitools3/obidms/_obidms.pyx
+14
-1
python/obitools3/obidms/_obidmscolumn_bool.cfiles
python/obitools3/obidms/_obidmscolumn_bool.cfiles
+18
-14
python/obitools3/obidms/_obidmscolumn_char.cfiles
python/obitools3/obidms/_obidmscolumn_char.cfiles
+18
-14
python/obitools3/obidms/_obidmscolumn_float.cfiles
python/obitools3/obidms/_obidmscolumn_float.cfiles
+18
-14
python/obitools3/obidms/_obidmscolumn_int.cfiles
python/obitools3/obidms/_obidmscolumn_int.cfiles
+18
-14
python/obitools3/obidms/_obidmscolumn_qual.cfiles
python/obitools3/obidms/_obidmscolumn_qual.cfiles
+59
-0
python/obitools3/obidms/_obidmscolumn_qual.pxd
python/obitools3/obidms/_obidmscolumn_qual.pxd
+17
-0
python/obitools3/obidms/_obidmscolumn_qual.pyx
python/obitools3/obidms/_obidmscolumn_qual.pyx
+151
-0
python/obitools3/obidms/_obidmscolumn_seq.cfiles
python/obitools3/obidms/_obidmscolumn_seq.cfiles
+18
-14
python/obitools3/obidms/_obidmscolumn_str.cfiles
python/obitools3/obidms/_obidmscolumn_str.cfiles
+18
-14
python/obitools3/obidms/_obiseq.cfiles
python/obitools3/obidms/_obiseq.cfiles
+18
-14
python/obitools3/obidms/_obiseq.pxd
python/obitools3/obidms/_obiseq.pxd
+8
-0
python/obitools3/obidms/_obiseq.pyx
python/obitools3/obidms/_obiseq.pyx
+24
-2
python/obitools3/obidms/_obitaxo.cfiles
python/obitools3/obidms/_obitaxo.cfiles
+18
-14
python/obitools3/obidms/capi/obidmscolumn.pxd
python/obitools3/obidms/capi/obidmscolumn.pxd
+45
-0
python/obitools3/obidms/capi/obitypes.pxd
python/obitools3/obidms/capi/obitypes.pxd
+4
-0
python/obitools3/obidms/capi/obiview.pxd
python/obitools3/obidms/capi/obiview.pxd
+51
-0
python/obitools3/obigrep.py
python/obitools3/obigrep.py
+1
-1
src/char_str_indexer.c
src/char_str_indexer.c
+5
-12
src/char_str_indexer.h
src/char_str_indexer.h
+2
-2
src/dna_seq_indexer.c
src/dna_seq_indexer.c
+1
-0
src/obiblob.h
src/obiblob.h
+2
-0
src/obidmscolumn_qual.c
src/obidmscolumn_qual.c
+67
-21
src/obidmscolumn_qual.h
src/obidmscolumn_qual.h
+23
-13
src/obidmscolumn_str.c
src/obidmscolumn_str.c
+0
-11
src/obitypes.h
src/obitypes.h
+1
-1
src/obiview.c
src/obiview.c
+79
-2
src/obiview.h
src/obiview.h
+194
-0
src/uint8_indexer.c
src/uint8_indexer.c
+14
-46
src/uint8_indexer.h
src/uint8_indexer.h
+32
-27
No files found.
python/obitools3/commands/import.pyx
View file @
3b59043e
...
...
@@ -35,7 +35,6 @@ def addOptions(parser):
type
=
str
,
help
=
"Name of the default DMS for reading and writing data"
)
group
.
add_argument
(
'--destination-view'
,
'-v'
,
action
=
"store"
,
dest
=
"import:destview"
,
metavar
=
'<VIEW NAME>'
,
...
...
@@ -96,12 +95,14 @@ def run(config):
inputs
=
uopen
(
config
[
'import'
][
'filename'
])
get_quality
=
False
if
config
[
'import'
][
'seqinformat'
]
==
'fasta'
:
iseq
=
fastaIterator
(
inputs
)
view_type
=
"NUC_SEQS_VIEW"
elif
config
[
'import'
][
'seqinformat'
]
==
'fastq'
:
iseq
=
fastqIterator
(
inputs
)
view_type
=
"NUC_SEQS_VIEW"
get_quality
=
True
else
:
raise
RuntimeError
(
'No file format specified'
)
...
...
@@ -120,13 +121,15 @@ def run(config):
view
[
i
].
set_id
(
seq
[
'id'
])
view
[
i
].
set_definition
(
seq
[
'definition'
])
view
[
i
].
set_sequence
(
seq
[
'sequence'
])
if
get_quality
:
view
[
i
].
set_quality
(
seq
[
'quality'
])
for
tag
in
seq
[
'tags'
]
:
#print(tag, seq['tags'][tag])
#if seq['tags'][tag] not in NA_list :
view
[
i
][
tag
]
=
seq
[
'tags'
][
tag
]
i
+=
1
#print(view
)
#print(i
)
print
(
view
.
__repr__
())
view
.
save_and_close
()
...
...
python/obitools3/obidms/_obidms.cfiles
View file @
3b59043e
...
...
@@ -23,8 +23,22 @@
../../../src/obidms_taxonomy.c
../../../src/obidms.h
../../../src/obidms.c
../../../src/obidmscolumn_bool.c
../../../src/obidmscolumn_bool.h
../../../src/obidmscolumn_char.c
../../../src/obidmscolumn_char.h
../../../src/obidmscolumn_float.c
../../../src/obidmscolumn_float.h
../../../src/obidmscolumn_idx.h
../../../src/obidmscolumn_idx.c
../../../src/obidmscolumn_int.c
../../../src/obidmscolumn_int.h
../../../src/obidmscolumn_qual.h
../../../src/obidmscolumn_qual.c
../../../src/obidmscolumn_seq.c
../../../src/obidmscolumn_seq.h
../../../src/obidmscolumn_str.c
../../../src/obidmscolumn_str.h
../../../src/obidmscolumn.h
../../../src/obidmscolumn.c
../../../src/obidmscolumndir.h
...
...
@@ -37,19 +51,9 @@
../../../src/obitypes.c
../../../src/obiview.h
../../../src/obiview.c
../../../src/utils.h
../../../src/utils.c
../../../src/sse_banded_LCS_alignment.h
../../../src/sse_banded_LCS_alignment.c
../../../src/obidmscolumn_bool.c
../../../src/obidmscolumn_bool.h
../../../src/obidmscolumn_char.c
../../../src/obidmscolumn_char.h
../../../src/obidmscolumn_float.c
../../../src/obidmscolumn_float.h
../../../src/obidmscolumn_int.c
../../../src/obidmscolumn_int.h
../../../src/obidmscolumn_seq.c
../../../src/obidmscolumn_seq.h
../../../src/obidmscolumn_str.c
../../../src/obidmscolumn_str.h
../../../src/uint8_indexer.h
../../../src/uint8_indexer.c
../../../src/utils.h
../../../src/utils.c
python/obitools3/obidms/_obidms.pxd
View file @
3b59043e
...
...
@@ -70,6 +70,7 @@ cdef class OBIView_NUC_SEQS(OBIView):
cdef
OBIDMS_column
ids
cdef
OBIDMS_column
sequences
cdef
OBIDMS_column
definitions
cdef
OBIDMS_column
qualities
cpdef
delete_column
(
self
,
str
column_name
)
...
...
python/obitools3/obidms/_obidms.pyx
View file @
3b59043e
...
...
@@ -17,6 +17,7 @@ from .capi.obitypes cimport const_char_p, \
OBI_FLOAT
,
\
OBI_BOOL
,
\
OBI_CHAR
,
\
OBI_QUAL
,
\
OBI_STR
,
\
OBI_SEQ
,
\
name_data_type
,
\
...
...
@@ -43,6 +44,8 @@ from ._obidmscolumn_bool cimport OBIDMS_column_bool, \
from
._obidmscolumn_char
cimport
OBIDMS_column_char
,
\
OBIDMS_column_multi_elts_char
from
._obidmscolumn_qual
cimport
OBIDMS_column_qual
from
._obidmscolumn_str
cimport
OBIDMS_column_str
,
\
OBIDMS_column_multi_elts_str
...
...
@@ -71,7 +74,8 @@ from .capi.obiview cimport Obiview_p, \
VIEW_TYPE_NUC_SEQS
,
\
NUC_SEQUENCE_COLUMN
,
\
ID_COLUMN
,
\
DEFINITION_COLUMN
DEFINITION_COLUMN
,
\
QUALITY_COLUMN
from
libc.stdlib
cimport
malloc
from
cpython.pycapsule
cimport
PyCapsule_New
,
PyCapsule_GetPointer
...
...
@@ -187,6 +191,11 @@ cdef class OBIDMS_column :
subclass
=
OBIDMS_column_char
else
:
subclass
=
OBIDMS_column_multi_elts_char
elif
col_type
==
OBI_QUAL
:
if
col_one_element_per_line
:
subclass
=
OBIDMS_column_qual
# else : # TODO
# subclass = OBIDMS_column_multi_elts_qual
elif
col_type
==
OBI_STR
:
if
col_one_element_per_line
:
subclass
=
OBIDMS_column_str
...
...
@@ -355,6 +364,8 @@ cdef class OBIView :
data_type
=
OBI_BOOL
elif
type
==
'OBI_CHAR'
:
data_type
=
OBI_CHAR
elif
type
==
'OBI_QUAL'
:
data_type
=
OBI_QUAL
elif
type
==
'OBI_STR'
:
data_type
=
OBI_STR
elif
type
==
'OBI_SEQ'
:
...
...
@@ -489,6 +500,7 @@ cdef class OBIView_NUC_SEQS(OBIView):
self
.
ids
=
self
.
columns
[
bytes2str
(
ID_COLUMN
)]
self
.
sequences
=
self
.
columns
[
bytes2str
(
NUC_SEQUENCE_COLUMN
)]
self
.
definitions
=
self
.
columns
[
bytes2str
(
DEFINITION_COLUMN
)]
self
.
qualities
=
self
.
columns
[
bytes2str
(
QUALITY_COLUMN
)]
cpdef
delete_column
(
self
,
str
column_name
)
:
...
...
@@ -537,6 +549,7 @@ cdef class OBIView_line :
def
__setitem__
(
self
,
str
column_name
,
object
value
):
# TODO detect multiple elements (dict type)? put somewhere else? but more risky (in get)
# TODO OBI_QUAL ?
cdef
type
value_type
cdef
str
value_obitype
if
column_name
not
in
self
.
view
:
...
...
python/obitools3/obidms/_obidmscolumn_bool.cfiles
View file @
3b59043e
...
...
@@ -23,8 +23,22 @@
../../../src/obidms_taxonomy.c
../../../src/obidms.h
../../../src/obidms.c
../../../src/obidmscolumn_bool.c
../../../src/obidmscolumn_bool.h
../../../src/obidmscolumn_char.c
../../../src/obidmscolumn_char.h
../../../src/obidmscolumn_float.c
../../../src/obidmscolumn_float.h
../../../src/obidmscolumn_idx.h
../../../src/obidmscolumn_idx.c
../../../src/obidmscolumn_int.c
../../../src/obidmscolumn_int.h
../../../src/obidmscolumn_qual.h
../../../src/obidmscolumn_qual.c
../../../src/obidmscolumn_seq.c
../../../src/obidmscolumn_seq.h
../../../src/obidmscolumn_str.c
../../../src/obidmscolumn_str.h
../../../src/obidmscolumn.h
../../../src/obidmscolumn.c
../../../src/obidmscolumndir.h
...
...
@@ -37,19 +51,9 @@
../../../src/obitypes.c
../../../src/obiview.h
../../../src/obiview.c
../../../src/utils.h
../../../src/utils.c
../../../src/sse_banded_LCS_alignment.h
../../../src/sse_banded_LCS_alignment.c
../../../src/obidmscolumn_bool.c
../../../src/obidmscolumn_bool.h
../../../src/obidmscolumn_char.c
../../../src/obidmscolumn_char.h
../../../src/obidmscolumn_float.c
../../../src/obidmscolumn_float.h
../../../src/obidmscolumn_int.c
../../../src/obidmscolumn_int.h
../../../src/obidmscolumn_seq.c
../../../src/obidmscolumn_seq.h
../../../src/obidmscolumn_str.c
../../../src/obidmscolumn_str.h
../../../src/uint8_indexer.h
../../../src/uint8_indexer.c
../../../src/utils.h
../../../src/utils.c
python/obitools3/obidms/_obidmscolumn_char.cfiles
View file @
3b59043e
...
...
@@ -23,8 +23,22 @@
../../../src/obidms_taxonomy.c
../../../src/obidms.h
../../../src/obidms.c
../../../src/obidmscolumn_bool.c
../../../src/obidmscolumn_bool.h
../../../src/obidmscolumn_char.c
../../../src/obidmscolumn_char.h
../../../src/obidmscolumn_float.c
../../../src/obidmscolumn_float.h
../../../src/obidmscolumn_idx.h
../../../src/obidmscolumn_idx.c
../../../src/obidmscolumn_int.c
../../../src/obidmscolumn_int.h
../../../src/obidmscolumn_qual.h
../../../src/obidmscolumn_qual.c
../../../src/obidmscolumn_seq.c
../../../src/obidmscolumn_seq.h
../../../src/obidmscolumn_str.c
../../../src/obidmscolumn_str.h
../../../src/obidmscolumn.h
../../../src/obidmscolumn.c
../../../src/obidmscolumndir.h
...
...
@@ -37,19 +51,9 @@
../../../src/obitypes.c
../../../src/obiview.h
../../../src/obiview.c
../../../src/utils.h
../../../src/utils.c
../../../src/sse_banded_LCS_alignment.h
../../../src/sse_banded_LCS_alignment.c
../../../src/obidmscolumn_bool.c
../../../src/obidmscolumn_bool.h
../../../src/obidmscolumn_char.c
../../../src/obidmscolumn_char.h
../../../src/obidmscolumn_float.c
../../../src/obidmscolumn_float.h
../../../src/obidmscolumn_int.c
../../../src/obidmscolumn_int.h
../../../src/obidmscolumn_seq.c
../../../src/obidmscolumn_seq.h
../../../src/obidmscolumn_str.c
../../../src/obidmscolumn_str.h
../../../src/uint8_indexer.h
../../../src/uint8_indexer.c
../../../src/utils.h
../../../src/utils.c
python/obitools3/obidms/_obidmscolumn_float.cfiles
View file @
3b59043e
...
...
@@ -23,8 +23,22 @@
../../../src/obidms_taxonomy.c
../../../src/obidms.h
../../../src/obidms.c
../../../src/obidmscolumn_bool.c
../../../src/obidmscolumn_bool.h
../../../src/obidmscolumn_char.c
../../../src/obidmscolumn_char.h
../../../src/obidmscolumn_float.c
../../../src/obidmscolumn_float.h
../../../src/obidmscolumn_idx.h
../../../src/obidmscolumn_idx.c
../../../src/obidmscolumn_int.c
../../../src/obidmscolumn_int.h
../../../src/obidmscolumn_qual.h
../../../src/obidmscolumn_qual.c
../../../src/obidmscolumn_seq.c
../../../src/obidmscolumn_seq.h
../../../src/obidmscolumn_str.c
../../../src/obidmscolumn_str.h
../../../src/obidmscolumn.h
../../../src/obidmscolumn.c
../../../src/obidmscolumndir.h
...
...
@@ -37,19 +51,9 @@
../../../src/obitypes.c
../../../src/obiview.h
../../../src/obiview.c
../../../src/utils.h
../../../src/utils.c
../../../src/sse_banded_LCS_alignment.h
../../../src/sse_banded_LCS_alignment.c
../../../src/obidmscolumn_bool.c
../../../src/obidmscolumn_bool.h
../../../src/obidmscolumn_char.c
../../../src/obidmscolumn_char.h
../../../src/obidmscolumn_float.c
../../../src/obidmscolumn_float.h
../../../src/obidmscolumn_int.c
../../../src/obidmscolumn_int.h
../../../src/obidmscolumn_seq.c
../../../src/obidmscolumn_seq.h
../../../src/obidmscolumn_str.c
../../../src/obidmscolumn_str.h
../../../src/uint8_indexer.h
../../../src/uint8_indexer.c
../../../src/utils.h
../../../src/utils.c
python/obitools3/obidms/_obidmscolumn_int.cfiles
View file @
3b59043e
...
...
@@ -23,8 +23,22 @@
../../../src/obidms_taxonomy.c
../../../src/obidms.h
../../../src/obidms.c
../../../src/obidmscolumn_bool.c
../../../src/obidmscolumn_bool.h
../../../src/obidmscolumn_char.c
../../../src/obidmscolumn_char.h
../../../src/obidmscolumn_float.c
../../../src/obidmscolumn_float.h
../../../src/obidmscolumn_idx.h
../../../src/obidmscolumn_idx.c
../../../src/obidmscolumn_int.c
../../../src/obidmscolumn_int.h
../../../src/obidmscolumn_qual.h
../../../src/obidmscolumn_qual.c
../../../src/obidmscolumn_seq.c
../../../src/obidmscolumn_seq.h
../../../src/obidmscolumn_str.c
../../../src/obidmscolumn_str.h
../../../src/obidmscolumn.h
../../../src/obidmscolumn.c
../../../src/obidmscolumndir.h
...
...
@@ -37,19 +51,9 @@
../../../src/obitypes.c
../../../src/obiview.h
../../../src/obiview.c
../../../src/utils.h
../../../src/utils.c
../../../src/sse_banded_LCS_alignment.h
../../../src/sse_banded_LCS_alignment.c
../../../src/obidmscolumn_bool.c
../../../src/obidmscolumn_bool.h
../../../src/obidmscolumn_char.c
../../../src/obidmscolumn_char.h
../../../src/obidmscolumn_float.c
../../../src/obidmscolumn_float.h
../../../src/obidmscolumn_int.c
../../../src/obidmscolumn_int.h
../../../src/obidmscolumn_seq.c
../../../src/obidmscolumn_seq.h
../../../src/obidmscolumn_str.c
../../../src/obidmscolumn_str.h
../../../src/uint8_indexer.h
../../../src/uint8_indexer.c
../../../src/utils.h
../../../src/utils.c
python/obitools3/obidms/_obidmscolumn_qual.cfiles
0 → 100644
View file @
3b59043e
../../../src/bloom.h
../../../src/bloom.c
../../../src/char_str_indexer.h
../../../src/char_str_indexer.c
../../../src/crc64.h
../../../src/crc64.c
../../../src/dna_seq_indexer.h
../../../src/dna_seq_indexer.c
../../../src/encode.h
../../../src/encode.c
../../../src/murmurhash2.h
../../../src/murmurhash2.c
../../../src/obi_align.h
../../../src/obi_align.c
../../../src/obiavl.h
../../../src/obiavl.c
../../../src/obiblob_indexer.h
../../../src/obiblob_indexer.c
../../../src/obiblob.h
../../../src/obiblob.c
../../../src/obidebug.h
../../../src/obidms_taxonomy.h
../../../src/obidms_taxonomy.c
../../../src/obidms.h
../../../src/obidms.c
../../../src/obidmscolumn_bool.c
../../../src/obidmscolumn_bool.h
../../../src/obidmscolumn_char.c
../../../src/obidmscolumn_char.h
../../../src/obidmscolumn_float.c
../../../src/obidmscolumn_float.h
../../../src/obidmscolumn_idx.h
../../../src/obidmscolumn_idx.c
../../../src/obidmscolumn_int.c
../../../src/obidmscolumn_int.h
../../../src/obidmscolumn_qual.h
../../../src/obidmscolumn_qual.c
../../../src/obidmscolumn_seq.c
../../../src/obidmscolumn_seq.h
../../../src/obidmscolumn_str.c
../../../src/obidmscolumn_str.h
../../../src/obidmscolumn.h
../../../src/obidmscolumn.c
../../../src/obidmscolumndir.h
../../../src/obidmscolumndir.c
../../../src/obierrno.h
../../../src/obierrno.c
../../../src/obilittlebigman.h
../../../src/obilittlebigman.c
../../../src/obitypes.h
../../../src/obitypes.c
../../../src/obiview.h
../../../src/obiview.c
../../../src/sse_banded_LCS_alignment.h
../../../src/sse_banded_LCS_alignment.c
../../../src/uint8_indexer.h
../../../src/uint8_indexer.c
../../../src/utils.h
../../../src/utils.c
python/obitools3/obidms/_obidmscolumn_qual.pxd
0 → 100644
View file @
3b59043e
#cython: language_level=3
from
.capi.obitypes
cimport
index_t
from
._obidms
cimport
OBIDMS_column
#, OBIDMS_column_multi_elts
cdef
class
OBIDMS_column_qual
(
OBIDMS_column
):
cpdef
object
get_line
(
self
,
index_t
line_nb
)
cpdef
object
get_str_line
(
self
,
index_t
line_nb
)
cpdef
set_line
(
self
,
index_t
line_nb
,
object
value
)
cpdef
set_str_line
(
self
,
index_t
line_nb
,
object
value
)
# cdef class OBIDMS_column_multi_elts_qual(OBIDMS_column_multi_elts):
# cpdef object get_item(self, index_t line_nb, str element_name)
# cpdef object get_line(self, index_t line_nb)
# cpdef set_item(self, index_t line_nb, str element_name, object value)
python/obitools3/obidms/_obidmscolumn_qual.pyx
0 → 100644
View file @
3b59043e
#cython: language_level=3
from
.capi.obiview
cimport
obi_column_get_obiqual_char_with_elt_name_in_view
,
\
obi_column_get_obiqual_char_with_elt_idx_in_view
,
\
obi_column_set_obiqual_char_with_elt_name_in_view
,
\
obi_column_set_obiqual_char_with_elt_idx_in_view
,
\
obi_column_get_obiqual_int_with_elt_name_in_view
,
\
obi_column_get_obiqual_int_with_elt_idx_in_view
,
\
obi_column_set_obiqual_int_with_elt_name_in_view
,
\
obi_column_set_obiqual_int_with_elt_idx_in_view
from
.capi.obierrno
cimport
obi_errno
from
.capi.obitypes
cimport
OBIQual_char_NA
,
OBIQual_int_NA
,
const_char_p
from
._obidms
cimport
OBIView
from
obitools3.utils
cimport
str2bytes
,
bytes2str
from
libc.stdlib
cimport
free
from
libc.string
cimport
strcmp
from
libc.stdint
cimport
uint8_t
from
libc.stdlib
cimport
malloc
cdef
class
OBIDMS_column_qual
(
OBIDMS_column
):
cpdef
object
get_line
(
self
,
index_t
line_nb
):
cdef
const
uint8_t
*
value
cdef
int
value_length
cdef
object
result
cdef
int
i
value
=
obi_column_get_obiqual_int_with_elt_idx_in_view
(
self
.
view
.
pointer
,
(
self
.
pointer
)[
0
],
line_nb
,
0
,
&
value_length
)
if
obi_errno
>
0
:
raise
IndexError
(
line_nb
)
if
value
==
NULL
:
# TODO
result
=
None
else
:
result
=
[]
for
i
in
range
(
value_length
)
:
result
.
append
(
<
int
>
value
[
i
])
return
result
cpdef
object
get_str_line
(
self
,
index_t
line_nb
):
cdef
char
*
value
cdef
object
result
cdef
int
i
value
=
obi_column_get_obiqual_char_with_elt_idx_in_view
(
self
.
view
.
pointer
,
(
self
.
pointer
)[
0
],
line_nb
,
0
)
if
obi_errno
>
0
:
raise
IndexError
(
line_nb
)
if
strcmp
(
value
,
OBIQual_char_NA
)
==
0
:
result
=
None
else
:
result
=
bytes2str
(
value
)
free
(
value
)
return
result
cpdef
set_line
(
self
,
index_t
line_nb
,
object
value
):
cdef
uint8_t
*
value_b
cdef
int
value_length
if
value
is
None
:
value_b
=
NULL
# TODO
value_length
=
0
else
:
value_length
=
len
(
value
)
value_b
=
<
uint8_t
*>
malloc
(
value_length
*
sizeof
(
uint8_t
))
for
i
in
range
(
value_length
)
:
value_b
[
i
]
=
<
uint8_t
>
value
[
i
]
if
obi_column_set_obiqual_int_with_elt_idx_in_view
(
self
.
view
.
pointer
,
(
self
.
pointer
)[
0
],
line_nb
,
0
,
value_b
,
value_length
)
<
0
:
raise
Exception
(
"Problem setting a value in a column"
)
if
value
is
not
None
:
free
(
value_b
)
cpdef
set_str_line
(
self
,
index_t
line_nb
,
object
value
):
cdef
bytes
value_b
if
value
is
None
:
value_b
=
OBIQual_char_NA
else
:
value_b
=
str2bytes
(
value
)
if
obi_column_set_obiqual_char_with_elt_idx_in_view
(
self
.
view
.
pointer
,
(
self
.
pointer
)[
0
],
line_nb
,
0
,
value_b
)
<
0
:
raise
Exception
(
"Problem setting a value in a column"
)
# TODO OR NOT?
# cdef class OBIDMS_column_multi_elts_qual(OBIDMS_column_multi_elts):
#
#
# cpdef object get_item(self, index_t line_nb, str element_name):
# cdef const uint8_t* value
# cdef int value_length
# cdef object result
# cdef int i
# value = obi_column_get_obiqual_int_with_elt_name_in_view(self.view.pointer, (self.pointer)[0], line_nb, str2bytes(element_name), &value_length)
# if obi_errno > 0 :
# raise IndexError(line_nb, element_name)
# if value == NULL: # TODO
# result = None
# else :
# result = []
# for i in range(value_length) :
# result.append(<int>value[i])
# return result
#
# # cpdef object get_str_item(self, index_t line_nb, str element_name):
# # pass
# # cdef char* value
# # cdef object result
# # value = obi_column_get_obiseq_with_elt_name_in_view(self.view.pointer, (self.pointer)[0], line_nb, str2bytes(element_name))
# # if obi_errno > 0 :
# # raise IndexError(line_nb, element_name)
# # if strcmp(value, OBISeq_NA) == 0 :
# # result = None
# # else :
# # result = bytes2str(value)
# # free(value)
# # return result
#
# cpdef object get_line(self, index_t line_nb) :
# pass
# # cdef char* value
# # cdef object value_in_result
# # cdef dict result
# # cdef index_t i
# # cdef bint all_NA
# # result = {}
# # all_NA = True
# # for i in range(self.nb_elements_per_line) :
# # value = obi_column_get_obiseq_with_elt_idx_in_view(self.view.pointer, (self.pointer)[0], line_nb, i)
# # if obi_errno > 0 :
# # raise IndexError(line_nb)
# # if strcmp(value, OBISeq_NA) == 0 :
# # value_in_result = None
# # else :
# # value_in_result = bytes2str(value)
# # free(value)
# # result[self.elements_names[i]] = value_in_result
# # if all_NA and (value_in_result is not None) :
# # all_NA = False
# # if all_NA :
# # result = None
# # return result
#
# cpdef set_item(self, index_t line_nb, str element_name, object value):
# pass
# # cdef bytes value_b
# # if value is None :
# # value_b = OBISeq_NA
# # else :
# # value_b = str2bytes(value)
# # if obi_column_set_obiseq_with_elt_name_in_view(self.view.pointer, (self.pointer)[0], line_nb, str2bytes(element_name), value_b) < 0:
# # raise Exception("Problem setting a value in a column")
# #
python/obitools3/obidms/_obidmscolumn_seq.cfiles
View file @
3b59043e
...
...
@@ -23,8 +23,22 @@
../../../src/obidms_taxonomy.c
../../../src/obidms.h
../../../src/obidms.c
../../../src/obidmscolumn_bool.c
../../../src/obidmscolumn_bool.h
../../../src/obidmscolumn_char.c
../../../src/obidmscolumn_char.h
../../../src/obidmscolumn_float.c
../../../src/obidmscolumn_float.h
../../../src/obidmscolumn_idx.h
../../../src/obidmscolumn_idx.c
../../../src/obidmscolumn_int.c
../../../src/obidmscolumn_int.h
../../../src/obidmscolumn_qual.h
../../../src/obidmscolumn_qual.c
../../../src/obidmscolumn_seq.c
../../../src/obidmscolumn_seq.h
../../../src/obidmscolumn_str.c
../../../src/obidmscolumn_str.h
../../../src/obidmscolumn.h
../../../src/obidmscolumn.c
../../../src/obidmscolumndir.h
...
...
@@ -37,19 +51,9 @@
../../../src/obitypes.c
../../../src/obiview.h
../../../src/obiview.c
../../../src/utils.h
../../../src/utils.c
../../../src/sse_banded_LCS_alignment.h
../../../src/sse_banded_LCS_alignment.c
../../../src/obidmscolumn_bool.c
../../../src/obidmscolumn_bool.h
../../../src/obidmscolumn_char.c
../../../src/obidmscolumn_char.h
../../../src/obidmscolumn_float.c
../../../src/obidmscolumn_float.h
../../../src/obidmscolumn_int.c
../../../src/obidmscolumn_int.h
../../../src/obidmscolumn_seq.c
../../../src/obidmscolumn_seq.h
../../../src/obidmscolumn_str.c
../../../src/obidmscolumn_str.h