def parse_basic_args(parser): 'It parses the command line and it returns a dict with the arguments.' parsed_args = parser.parse_args() # we have to wrap the file in a BufferedReader to allow peeking into stdin wrapped_fhands = [] # if input is stdin it will be a fhand not a list of fhands. # we have to convert to a list in_fhands = parsed_args.input if not isinstance(in_fhands, list): in_fhands = [in_fhands] for fhand in in_fhands: fhand = wrap_in_buffered_reader(fhand) fhand = uncompress_if_required(fhand) wrapped_fhands.append(fhand) in_format = parsed_args.in_format out_fhand = getattr(parsed_args, OUTFILE) comp_kind = get_requested_compression(parsed_args) if isinstance(out_fhand, list): new_out_fhands = [] for out_f in out_fhand: try: out_f = compress_fhand(out_f, compression_kind=comp_kind) except RuntimeError, error: print 'hello', error parser.error(error) new_out_fhands.append(out_f) out_fhand = new_out_fhands
def parse_basic_args(parser): 'It parses the command line and it returns a dict with the arguments.' parsed_args = parser.parse_args() # we have to wrap the file in a BufferedReader to allow peeking into stdin wrapped_fhands = [] # if input is stdin it will be a fhand not a list of fhands. # we have to convert to a list in_fhands = parsed_args.input if not isinstance(in_fhands, list): in_fhands = [in_fhands] for fhand in in_fhands: fhand = wrap_in_buffered_reader(fhand) fhand = uncompress_if_required(fhand) wrapped_fhands.append(fhand) # We have to add the one_line to the fastq files in order to get the # speed improvements of the seqitems in_format = parsed_args.in_format if in_format == GUESS_FORMAT: for wrapped_fhand in wrapped_fhands: get_format(wrapped_fhand) else: if in_format != get_format(wrapped_fhands[0]): msg = 'The given input format does not correspond to the input' msg += ' file' raise WrongFormatError(msg) if 'fastq' in in_format: for wrapped_fhand in wrapped_fhands: get_format(wrapped_fhand) else: # we dont set the first one because already did in the previous # checking for wrapped_fhand in wrapped_fhands[1:]: set_format(wrapped_fhand, in_format) out_fhand = getattr(parsed_args, OUTFILE) comp_kind = get_requested_compression(parsed_args) if isinstance(out_fhand, list): new_out_fhands = [] for out_f in out_fhand: try: out_f = compress_fhand(out_f, compression_kind=comp_kind) except RuntimeError, error: parser.error(error) new_out_fhands.append(out_f) out_fhand = new_out_fhands
def parse_basic_args(parser): 'It parses the command line and it returns a dict with the arguments.' parsed_args = parser.parse_args() # we have to wrap the file in a BufferedReader to allow peeking into stdin wrapped_fhands = [] # if input is stdin it will be a fhand not a list of fhands. # we have to convert to a list in_fhands = parsed_args.input if not isinstance(in_fhands, list): in_fhands = [in_fhands] for fhand in in_fhands: fhand = wrap_in_buffered_reader(fhand) fhand = uncompress_if_required(fhand) wrapped_fhands.append(fhand) # We have to add the one_line to the fastq files in order to get the # speed improvements of the seqitems in_format = parsed_args.in_format if 'fastq' in in_format: guessed_in_format = guess_format(wrapped_fhands[0]) if '-one_line' in guessed_in_format: in_format += '-one_line' else: guessed_in_format = None out_fhand = getattr(parsed_args, OUTFILE) comp_kind = get_requested_compression(parsed_args) if isinstance(out_fhand, list): new_out_fhands = [] for out_f in out_fhand: try: out_f = compress_fhand(out_f, compression_kind=comp_kind) except RuntimeError, error: parser.error(error) new_out_fhands.append(out_f) out_fhand = new_out_fhands
out_fhand = getattr(parsed_args, OUTFILE) comp_kind = get_requested_compression(parsed_args) if isinstance(out_fhand, list): new_out_fhands = [] for out_f in out_fhand: try: out_f = compress_fhand(out_f, compression_kind=comp_kind) except RuntimeError, error: parser.error(error) new_out_fhands.append(out_f) out_fhand = new_out_fhands else: try: out_fhand = compress_fhand(out_fhand, compression_kind=comp_kind) except RuntimeError, error: parser.error(error) # The default output format is the same as the first file if in_format == GUESS_FORMAT: if not guessed_in_format: guessed_in_format = guess_format(wrapped_fhands[0]) out_format = guessed_in_format else: out_format = in_format # The original fhands should be stored, because otherwise they would be # closed args = {'out_fhand': out_fhand, 'in_fhands': wrapped_fhands, 'out_format': out_format, 'original_in_fhands': in_fhands,
out_fhand = getattr(parsed_args, OUTFILE) comp_kind = get_requested_compression(parsed_args) if isinstance(out_fhand, list): new_out_fhands = [] for out_f in out_fhand: try: out_f = compress_fhand(out_f, compression_kind=comp_kind) except RuntimeError, error: parser.error(error) new_out_fhands.append(out_f) out_fhand = new_out_fhands else: try: out_fhand = compress_fhand(out_fhand, compression_kind=comp_kind) except RuntimeError, error: parser.error(error) # The default output format is the same as the first file if in_format == GUESS_FORMAT: if not guessed_in_format: guessed_in_format = guess_format(wrapped_fhands[0]) out_format = guessed_in_format else: out_format = in_format # The original fhands should be stored, because otherwise they would be # closed args = { 'out_fhand': out_fhand,