Reworked a bit alignment API

This commit is contained in:
Celine Mercier
2016-08-12 15:56:07 +02:00
parent 92cad61417
commit ad8e10f2d1
3 changed files with 11 additions and 25 deletions

View File

@ -8,10 +8,6 @@ __title__="Aligns one sequence column with itself or two sequence columns"
default_config = { 'inputview' : None, default_config = { 'inputview' : None,
'skip' : 0,
'only' : None,
'skiperror' : False,
'moltype' : 'nuc',
} }
def addOptions(parser): def addOptions(parser):
@ -31,8 +27,7 @@ def addOptions(parser):
metavar='<INPUT VIEW NAME>', metavar='<INPUT VIEW NAME>',
default=None, default=None,
type=str, type=str,
help="Name of the input view, either raw if the view is in the default DMS," help="Name of the input view.")
" or in the form 'dms:view' if it is in another DMS.")
# TODO eventually 2nd view, or 2nd column? # TODO eventually 2nd view, or 2nd column?
@ -41,8 +36,7 @@ def addOptions(parser):
metavar='<OUTPUT VIEW NAME>', metavar='<OUTPUT VIEW NAME>',
default=None, default=None,
type=str, type=str,
help="Name of the output view, either raw if the view is in the default DMS," help="Name of the output view.")
" or in the form 'dms:view' if it is in another DMS.")
group=parser.add_argument_group('obi align specific options') group=parser.add_argument_group('obi align specific options')
@ -106,16 +100,17 @@ def run(config):
# TODO Open input view 2 if there is one # TODO Open input view 2 if there is one
# Create output view if necessary # Create output view
if config['obi']['outputview'] is not None :
oview = d.new_view(config['obi']['outputview']) oview = d.new_view(config['obi']['outputview'])
else :
oview = None
# TODO Take other alignment types into account when they'll be implemented # TODO Take other alignment types into account when they'll be implemented
# Call cython alignment function # Call cython alignment function
iview.align(output_view=oview) iview.align(oview)
iview.save_and_close()
oview.save_and_close()
d.close()
print("Done.") print("Done.")

View File

@ -78,8 +78,8 @@ cdef class OBIView_NUC_SEQS(OBIView):
cpdef delete_column(self, str column_name) cpdef delete_column(self, str column_name)
cpdef align(self, cpdef align(self,
OBIView oview,
OBIView iview2=*, OBIView iview2=*,
object output_view=*,
double threshold=*, double threshold=*,
bint normalize=*, bint normalize=*,
int reference=*, int reference=*,

View File

@ -534,11 +534,10 @@ cdef class OBIView_NUC_SEQS(OBIView):
# TODO # TODO
cpdef align(self, OBIView iview2=None, object output_view=None, cpdef align(self, OBIView oview, OBIView iview2=None,
double threshold=0.0, bint normalize=True, int reference=0, bint similarity_mode=True) : double threshold=0.0, bint normalize=True, int reference=0, bint similarity_mode=True) :
cdef OBIView iview1 cdef OBIView iview1
cdef OBIView oview
cdef Obiview_p iview1_p cdef Obiview_p iview1_p
cdef Obiview_p iview2_p cdef Obiview_p iview2_p
@ -574,14 +573,6 @@ cdef class OBIView_NUC_SEQS(OBIView):
icol1_pp = icol1.pointer icol1_pp = icol1.pointer
icol1_p = icol1_pp[0] icol1_p = icol1_pp[0]
# Create the output view if needed
if output_view is None :
oview = self.dms.new_view("alignment_score_view") # TODO discuss
elif type(output_view) == str :
oview = self.dms.new_view(output_view)
else :
oview = output_view
oview.add_column(id1_col_name, type='OBI_STR', create=True) oview.add_column(id1_col_name, type='OBI_STR', create=True)
oview.add_column(id2_col_name, type='OBI_STR', create=True) oview.add_column(id2_col_name, type='OBI_STR', create=True)
oview.add_column(score_col_name, type='OBI_FLOAT', create=True) oview.add_column(score_col_name, type='OBI_FLOAT', create=True)