def test_prep_sffs_in_dir_no_trim(self): """test_prep_sffs_in_dir should use the no_trim option only if sffinfo exists.""" output_dir = tempfile.mkdtemp() gz_output_dir = tempfile.mkdtemp() try: check_sffinfo() perform_test = True except: perform_test = False if perform_test: prep_sffs_in_dir(self.sff_dir, output_dir, make_flowgram=False, convert_to_flx=False, use_sfftools=True, no_trim=True) fna_fp = os.path.join(output_dir, 'test.fna') self.assertEqual(open(fna_fp).read(), fna_notrim_txt) qual_fp = os.path.join(output_dir, 'test.qual') self.assertEqual(open(qual_fp).read(), qual_notrim_txt) self.assertRaises(TypeError, "gzipped SFF", prep_sffs_in_dir, self.gz_sff_dir, gz_output_dir, make_flowgram=False, convert_to_flx=False, use_sfftools=True, no_trim=True) shutil.rmtree(output_dir) shutil.rmtree(gz_output_dir)
def main(): option_parser, opts, args = parse_command_line_parameters(**script_info) output_dir = opts.output_dir if output_dir: create_dir(output_dir) else: if isfile(opts.input_dir): # if output_dir is empty after the split, then a relative path was # passed, and the input file is in the current directory output_dir = split(opts.input_dir)[0] or '.' else: # opts.input_dir is a directory output_dir = opts.input_dir if opts.no_trim and not opts.use_sfftools: raise ValueError( "When using the --no_trim option you must have the sfftools installed and must also pass the --use_sfftools option" ) prep_sffs_in_dir(opts.input_dir, output_dir, make_flowgram=opts.make_flowgram, convert_to_flx=opts.convert_to_FLX, use_sfftools=opts.use_sfftools, no_trim=opts.no_trim)
def test_prep_sffs_in_dir_FLX(self): """test_prep_sffs_in_dir should convert to FLX read lengths.""" output_dir = tempfile.mkdtemp() gz_output_dir = tempfile.mkdtemp() prep_sffs_in_dir( self.sff_dir, output_dir, make_flowgram=True, convert_to_flx=True) prep_sffs_in_dir( self.gz_sff_dir, gz_output_dir, make_flowgram=True, convert_to_flx=True) fna_fp = os.path.join(output_dir, 'test_FLX.fna') fna_gz_fp = os.path.join(gz_output_dir, 'test_gz_FLX.fna') self.assertEqual(open(fna_fp).read(), fna_txt) self.assertEqual(open(fna_gz_fp).read(), fna_txt) qual_fp = os.path.join(output_dir, 'test_FLX.qual') qual_gz_fp = os.path.join(gz_output_dir, 'test_gz_FLX.qual') self.assertEqual(open(qual_fp).read(), qual_txt) self.assertEqual(open(qual_gz_fp).read(), qual_txt) flow_fp = os.path.join(output_dir, 'test_FLX.txt') flow_gz_fp = os.path.join(gz_output_dir, 'test_gz_FLX.txt') self.assertEqual(open(flow_fp).read(), flx_flow_txt) self.assertEqual(open(flow_gz_fp).read(), flx_flow_txt) shutil.rmtree(output_dir) shutil.rmtree(gz_output_dir)
def test_prep_sffs_in_dir_FLX(self): """test_prep_sffs_in_dir should convert to FLX read lengths.""" output_dir = mkdtemp() gz_output_dir = mkdtemp() prep_sffs_in_dir(self.sff_dir, output_dir, make_flowgram=True, convert_to_flx=True) prep_sffs_in_dir(self.gz_sff_dir, gz_output_dir, make_flowgram=True, convert_to_flx=True) fna_fp = os.path.join(output_dir, 'test_FLX.fna') fna_gz_fp = os.path.join(gz_output_dir, 'test_gz_FLX.fna') self.assertEqual(open(fna_fp).read(), fna_txt) self.assertEqual(open(fna_gz_fp).read(), fna_txt) qual_fp = os.path.join(output_dir, 'test_FLX.qual') qual_gz_fp = os.path.join(gz_output_dir, 'test_gz_FLX.qual') self.assertEqual(open(qual_fp).read(), qual_txt) self.assertEqual(open(qual_gz_fp).read(), qual_txt) flow_fp = os.path.join(output_dir, 'test_FLX.txt') flow_gz_fp = os.path.join(gz_output_dir, 'test_gz_FLX.txt') self.assertEqual(open(flow_fp).read(), flx_flow_txt) self.assertEqual(open(flow_gz_fp).read(), flx_flow_txt) shutil.rmtree(output_dir) shutil.rmtree(gz_output_dir)
def main(): option_parser, opts, args = parse_command_line_parameters(**script_info) output_dir = opts.output_dir if output_dir: create_dir(output_dir) else: if isfile(opts.input_dir): # if output_dir is empty after the split, then a relative path was # passed, and the input file is in the current directory output_dir = split(opts.input_dir)[0] or '.' else: # opts.input_dir is a directory output_dir = opts.input_dir if opts.no_trim and not opts.use_sfftools: raise ValueError( "When using the --no_trim option you must have the sfftools installed and must also pass the --use_sfftools option") prep_sffs_in_dir( opts.input_dir, output_dir, make_flowgram=opts.make_flowgram, convert_to_flx=opts.convert_to_FLX, use_sfftools=opts.use_sfftools, no_trim=opts.no_trim)
def test_prep_sffs_in_dir(self): """test_prep_sffs_in_dir should make fasta/qual from sffs.""" prep_sffs_in_dir(self.sff_dir, self.sff_dir, make_flowgram=True) fna_fp = os.path.join(self.sff_dir, 'test.fna') self.assertEqual(open(fna_fp).read(), fna_txt) qual_fp = os.path.join(self.sff_dir, 'test.qual') self.assertEqual(open(qual_fp).read(), qual_txt) flow_fp = os.path.join(self.sff_dir, 'test.txt') self.assertEqual(open(flow_fp).read(), flow_txt)
def test_prep_sffs_in_dir(self): """test_prep_sffs_in_dir should make fasta/qual from sffs.""" prep_sffs_in_dir(self.sff_dir, self.sff_dir, make_flowgram=True) prep_sffs_in_dir(self.gz_sff_dir, self.gz_sff_dir, make_flowgram=True) fna_fp = os.path.join(self.sff_dir, 'test.fna') fna_gz_fp = os.path.join(self.gz_sff_dir, 'test_gz.fna') self.assertEqual(open(fna_fp).read(), fna_txt) self.assertEqual(open(fna_gz_fp).read(), fna_txt) qual_fp = os.path.join(self.sff_dir, 'test.qual') qual_gz_fp = os.path.join(self.gz_sff_dir, 'test_gz.qual') self.assertEqual(open(qual_fp).read(), qual_txt) self.assertEqual(open(qual_gz_fp).read(), qual_txt) flow_fp = os.path.join(self.sff_dir, 'test.txt') flow_gz_fp = os.path.join(self.gz_sff_dir, 'test_gz.txt') self.assertEqual(open(flow_fp).read(), flow_txt) self.assertEqual(open(flow_gz_fp).read(), flow_txt)
def main(): option_parser, opts, args = parse_command_line_parameters(**script_info) if opts.output_dir: #try to make the output directory try: mkdir(opts.output_dir) except OSError: pass else: opts.output_dir = opts.input_dir prep_sffs_in_dir( opts.input_dir, opts.output_dir, make_flowgram=opts.make_flowgram, convert_to_flx=opts.convert_to_FLX, use_sfftools=opts.use_sfftools, )
def main(): option_parser, opts, args = parse_command_line_parameters(**script_info) if opts.output_dir: #try to make the output directory try: mkdir(opts.output_dir) except OSError: pass else: opts.output_dir = opts.input_dir if opts.no_trim and not opts.use_sfftools: raise ValueError, "When using the --no_trim option you must have the sfftools installed and must also pass the --use_sfftools option" prep_sffs_in_dir(opts.input_dir, opts.output_dir, make_flowgram=opts.make_flowgram, convert_to_flx=opts.convert_to_FLX, use_sfftools=opts.use_sfftools, no_trim=opts.no_trim)
def test_prep_sffs_in_dir(self): """test_prep_sffs_in_dir should make fasta/qual from sffs.""" prep_sffs_in_dir(self.sff_dir) # Check fna file expected_fp = os.path.join(self.sff_dir, 'test.fna') observed = open(expected_fp).read() expected = ( '>FA6P1OK01CGMHQ length=48 xy=0892_1356 region=1 run=R_2008_05_28_17_11_38_\n' 'ATCTGAGCTGGGTCATAGCTGCCTCCGTAGGAGGTGCCTCCCTACGGC\n' ) self.assertEqual(observed, expected) # Check qual file expected_fp = os.path.join(self.sff_dir, 'test.qual') observed = open(expected_fp).read() expected = ( '>FA6P1OK01CGMHQ length=48 xy=0892_1356 region=1 run=R_2008_05_28_17_11_38_\n' '32 32 32 32 32 32 32 25 25 21 21 21 28 32 32 31 30 30 32 32 32 33 31 25 18 18 ' '20 18 32 30 28 23 22 22 24 28 18 19 18 16 16 16 17 18 13 17 27 21\n' ) self.assertEqual(observed, expected)
def main(): option_parser, opts, args = parse_command_line_parameters(**script_info) if opts.output_dir: #try to make the output directory try: mkdir(opts.output_dir) except OSError: pass else: opts.output_dir = opts.input_dir if opts.no_trim and not opts.use_sfftools: raise ValueError, "When using the --no_trim option you must have the sfftools installed and must also pass the --use_sfftools option" prep_sffs_in_dir( opts.input_dir, opts.output_dir, make_flowgram=opts.make_flowgram, convert_to_flx=opts.convert_to_FLX, use_sfftools=opts.use_sfftools, no_trim=opts.no_trim)
def test_prep_sffs_in_dir_no_trim(self): """test_prep_sffs_in_dir should use the no_trim option only if sffinfo exists.""" output_dir = mkdtemp() gz_output_dir = mkdtemp() try: check_sffinfo() perform_test = True except: perform_test = False if perform_test: prep_sffs_in_dir(self.sff_dir, output_dir, make_flowgram=False, convert_to_flx=False, use_sfftools=True, no_trim=True) fna_fp = os.path.join(output_dir, 'test.fna') self.assertEqual(open(fna_fp).read(), fna_notrim_txt) qual_fp = os.path.join(output_dir, 'test.qual') self.assertEqual(open(qual_fp).read(), qual_notrim_txt) self.assertRaises(TypeError, "gzipped SFF", prep_sffs_in_dir, self.gz_sff_dir, gz_output_dir, make_flowgram=False, convert_to_flx=False, use_sfftools=True, no_trim=True) shutil.rmtree(output_dir) shutil.rmtree(gz_output_dir)