Compare commits
4 Commits
Author | SHA1 | Date | |
---|---|---|---|
a8e2aee281 | |||
13adb479d3 | |||
8ba7acdfe1 | |||
38051b1e4f |
@ -24,10 +24,6 @@ from cpython.exc cimport PyErr_CheckSignals
|
||||
from io import BufferedWriter
|
||||
|
||||
|
||||
#REVERSE_SEQ_COLUMN_NAME = b"REVERSE_SEQUENCE" # used by alignpairedend tool
|
||||
#REVERSE_QUALITY_COLUMN_NAME = b"REVERSE_QUALITY" # used by alignpairedend tool
|
||||
|
||||
|
||||
__title__="Assigns sequence records to the corresponding experiment/sample based on DNA tags and primers"
|
||||
|
||||
|
||||
|
@ -23,9 +23,8 @@ cdef class TabFormat:
|
||||
if self.first_line:
|
||||
self.tags = [k for k in data.keys()]
|
||||
|
||||
for k in self.tags:
|
||||
|
||||
if self.header and self.first_line:
|
||||
if self.header and self.first_line:
|
||||
for k in self.tags:
|
||||
if isinstance(data.view[k], Column_multi_elts):
|
||||
keys = data.view[k].keys()
|
||||
keys.sort()
|
||||
@ -33,27 +32,36 @@ cdef class TabFormat:
|
||||
line.append(tobytes(k)+b':'+tobytes(k2))
|
||||
else:
|
||||
line.append(tobytes(k))
|
||||
else:
|
||||
value = data[k]
|
||||
if isinstance(data.view[k], Column_multi_elts):
|
||||
keys = data.view[k].keys()
|
||||
keys.sort()
|
||||
if value is None: # all keys at None
|
||||
for k2 in keys: # TODO could be much more efficient
|
||||
line.append(self.NAString)
|
||||
else:
|
||||
for k2 in keys: # TODO could be much more efficient
|
||||
if value[k2] is not None:
|
||||
line.append(str2bytes(str(bytes2str_object(value[k2])))) # genius programming
|
||||
else:
|
||||
line.append(self.NAString)
|
||||
else:
|
||||
if value is not None:
|
||||
line.append(str2bytes(str(bytes2str_object(value))))
|
||||
else:
|
||||
r = self.sep.join(value for value in line)
|
||||
r += b'\n'
|
||||
line = []
|
||||
|
||||
for k in self.tags:
|
||||
value = data[k]
|
||||
if isinstance(data.view[k], Column_multi_elts):
|
||||
keys = data.view[k].keys()
|
||||
keys.sort()
|
||||
if value is None: # all keys at None
|
||||
for k2 in keys: # TODO could be much more efficient
|
||||
line.append(self.NAString)
|
||||
|
||||
else:
|
||||
for k2 in keys: # TODO could be much more efficient
|
||||
if value[k2] is not None:
|
||||
line.append(str2bytes(str(bytes2str_object(value[k2])))) # genius programming
|
||||
else:
|
||||
line.append(self.NAString)
|
||||
else:
|
||||
if value is not None:
|
||||
line.append(str2bytes(str(bytes2str_object(value))))
|
||||
else:
|
||||
line.append(self.NAString)
|
||||
|
||||
if self.header and self.first_line:
|
||||
r += self.sep.join(value for value in line)
|
||||
else:
|
||||
r = self.sep.join(value for value in line)
|
||||
|
||||
if self.first_line:
|
||||
self.first_line = False
|
||||
|
||||
return self.sep.join(value for value in line)
|
||||
|
||||
return r
|
||||
|
@ -1,5 +1,5 @@
|
||||
major = 3
|
||||
minor = 0
|
||||
serial= '0b38'
|
||||
serial= '0b40'
|
||||
|
||||
version ="%d.%d.%s" % (major,minor,serial)
|
||||
|
@ -25,7 +25,7 @@
|
||||
* @author Celine Mercier (celine.mercier@metabarcoding.org)
|
||||
*
|
||||
*/
|
||||
bool volatile keep_running;
|
||||
extern bool volatile keep_running;
|
||||
void sig_handler(int signum);
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user