Files
obitools3/python/obitools3/commands/export.pyx
2017-04-14 16:21:33 +02:00

109 lines
3.5 KiB
Cython

# from obitools3.apps.progress cimport ProgressBar # @UnresolvedImport
# from obitools3.dms.dms import OBIDMS # TODO cimport doesn't work
# from obitools3.utils cimport bytes2str
#
# import time
# import re
def run(config):
pass
# __title__="Export a NUC_SEQS view to a fasta or fastq file"
#
#
# default_config = { 'inputview' : None,
# }
#
# def addOptions(parser):
#
# # TODO put this common group somewhere else but I don't know where
# group=parser.add_argument_group('DMS and view options')
#
# group.add_argument('--default-dms','-d',
# action="store", dest="obi:defaultdms",
# metavar='<DMS NAME>',
# default=None,
# type=str,
# help="Name of the default DMS for reading and writing data.")
#
# group.add_argument('--input-view','-i',
# action="store", dest="obi:inputview",
# metavar='<INPUT VIEW NAME>',
# default=None,
# type=str,
# help="Name of the input view, either raw if the view is in the default DMS,"
# " or in the form 'dms:view' if it is in another DMS.")
#
# group=parser.add_argument_group('obi export specific options')
#
# group.add_argument('--format','-f',
# action="store", dest="export:format",
# metavar='<FORMAT>',
# default="fasta",
# type=str,
# help="Export in the format <FORMAT>, 'fasta' or 'fastq'. Default: 'fasta'.") # TODO export in csv
#
# def run(config):
#
# # TODO import doesn't work
# NUC_SEQUENCE_COLUMN = "NUC_SEQ"
# ID_COLUMN = "ID"
# DEFINITION_COLUMN = "DEFINITION"
# QUALITY_COLUMN = "QUALITY"
#
# special_columns = [NUC_SEQUENCE_COLUMN, ID_COLUMN, DEFINITION_COLUMN, QUALITY_COLUMN]
#
# # Open DMS
# d = OBIDMS(config['obi']['defaultdms'])
#
# # Open input view
# iview = d.open_view(config['obi']['inputview'])
#
# print(iview.type)
#
# # TODO check that the view has the type NUC_SEQS
# if ((config['export']['format'] == "fasta") or (config['export']['format'] == "fastq")) and (iview.type != "NUC_SEQS_VIEW") : # TODO find a way to import those macros
# raise Exception("Error: the view to export in fasta or fastq format is not a NUC_SEQS view")
#
# # Initialize the progress bar
# pb = ProgressBar(len(iview), config, seconde=5)
#
# i=0
# for seq in iview :
# pb(i)
#
# toprint = ">"+seq.id+" "
#
# for col_name in seq :
# if col_name not in special_columns :
# toprint = toprint + col_name + "=" + str(seq[col_name]) + "; "
#
# if DEFINITION_COLUMN in seq :
# toprint = toprint + seq.definition
#
# nucseq = bytes2str(seq.nuc_seq)
#
# if config['export']['format'] == "fasta" :
# nucseq = re.sub("(.{60})", "\\1\n", nucseq, 0, re.DOTALL)
#
# toprint = toprint + "\n" + nucseq
#
# if config['export']['format'] == "fastq" :
# toprint = toprint + "\n" + "+" + "\n" + seq.get_str_quality()
#
# print(toprint)
# i+=1
#
# iview.close()
# d.close()
#
# print("Done.")
#
#
#
#
#
#
#
#