def main(arguments): if not arguments.stub: arguments.stub = os.path.basename( os.path.splitext(arguments.sff_file)[0]) pnoise_stub = arguments.stub + '-pnoise' targets = [pnoise_stub + '_cd.fa', pnoise_stub + '.mapping'] runner = run.NoiseRunner(targets, temp_base=arguments.temp_dir, mpi_flags=arguments.mpi_args) with runner: # Clean logging.info("Extracting clean flows") raw_file = runner.path_join(arguments.stub + '.raw') with open(raw_file, 'w') as fp: sff2raw.sff_to_raw(arguments.sff_file, fp) clean_dat = runner.path_join(arguments.stub + '.dat') with open(raw_file) as raw_fp: reader = anoiseio.AnoiseRawReader(raw_fp) with open(runner.path_join(arguments.stub + '.fa'), 'w') as fa_fp: passed, failed = clean.invoke(reader, fa_fp, clean_dat, arguments.primer, arguments.min_flows, arguments.max_flows, arguments.max_empty) if not passed: raise AssertionError( "No sequences passed flowgram cleaning!") logging.info("Starting PyroNoise") run_pyronoise(runner, clean_dat, arguments.sigma, arguments.cutoff, arguments.stub, arguments.use_m, lookup_name=arguments.lookup_file)
def test_run(self): with tempfile.NamedTemporaryFile(prefix='test.raw', delete=False) as tf: try: sff2raw.sff_to_raw(self.infile, tf, 'test.raw') with open(tf.name) as tf: v = list(tf)[1:] finally: os.remove(tf.name) self.assertEqual(self.expected, v)
def test_run(self): with tempfile.NamedTemporaryFile(prefix='test.raw', delete=False) as tf: try: sff2raw.sff_to_raw(self.infile, tf, 'test.raw') with open(tf.name) as tf: v = list(tf)[1:] finally: os.remove(tf.name) self.assertEqual(self.expected, v)
def main(arguments): if not arguments.stub: arguments.stub = os.path.basename( os.path.splitext(arguments.sff_file)[0]) pnoise_stub = arguments.stub + '-pnoise' targets = [pnoise_stub + '_cd.fa', pnoise_stub + '.mapping'] runner = run.NoiseRunner(targets, temp_base=arguments.temp_dir, mpi_flags=arguments.mpi_args) with runner: # Clean logging.info("Extracting clean flows") raw_file = runner.path_join(arguments.stub + '.raw') with open(raw_file, 'w') as fp: sff2raw.sff_to_raw(arguments.sff_file, fp) clean_dat = runner.path_join(arguments.stub + '.dat') with open(raw_file) as raw_fp: reader = anoiseio.AnoiseRawReader(raw_fp) with open(runner.path_join(arguments.stub + '.fa'), 'w') as fa_fp: passed, failed = clean.invoke(reader, fa_fp, clean_dat, arguments.primer, arguments.min_flows, arguments.max_flows, arguments.max_empty) if not passed: raise AssertionError( "No sequences passed flowgram cleaning!") logging.info("Starting PyroNoise") run_pyronoise(runner, clean_dat, arguments.sigma, arguments.cutoff, arguments.stub, arguments.use_m, lookup_name=arguments.lookup_file)