def test_all_input_rows_are_in_output_string(self): input_file = 'coding_challenge_data_set.txt' output_file = "output_" + input_file input_file = test_data_sets_folder + input_file output_file = test_data_sets_folder + output_file try: os.remove(output_file) except OSError: pass args = ['', input_file, output_file] print("args: ", args) all_lines = [] with open(input_file) as f: for line in f: all_lines.append(line.replace('\n', '')) reconstruct.main(args) output = '' with open(output_file, 'r') as myfile: output = myfile.read() count = 0 for line in all_lines: if line.startswith('>'): count += 1 else: self.assertIn(line, output) print("subseq_num: ", count, ". subseq: ", line)
def test_different_ordered_inputs_result_in_same_output2(self): input_file1 = 'in_order_easy_data_set.txt' output_file1 = "output_" + input_file1 input_file1 = test_data_sets_folder + input_file1 output_file1 = test_data_sets_folder + output_file1 input_file2 = 'example_easy_data_set.txt' output_file2 = "output_" + input_file2 input_file2 = test_data_sets_folder + input_file2 output_file2 = test_data_sets_folder + output_file2 try: os.remove(output_file1) os.remove(output_file2) except OSError: pass args1 = ['', input_file1, output_file1] args2 = ['', input_file2, output_file2] print("args1: ", args1) print("args2: ", args2) reconstruct.main(args1) reconstruct.main(args2) output1 = 'a' output2 = 'b' with open(output_file1, 'r') as myfile: output1 = myfile.read() output2 = '' with open(output_file2, 'r') as myfile: output2 = myfile.read() self.assertEqual(output1, output2)
def do_reconstruction(cdir, kdir, ddir, r2ec, ec2r, param_accept, param_reject, target_species = None, odir_param_labeled = False, remove_partial = False): species = compute_reaction_scores(ddir, r2ec, ec2r, target_species, remove_partial) if target_species == None: target_species = species adir = "%s/atommaps" % (kdir) sourcesfn = "%s/aux/sources-augmented" % (cdir) ubiqfn = "%s/aux/empty" % (cdir) try: os.mkdir("%s/%s" % (ddir, common.RECO_RESULT_DIR)) except: pass for spec in target_species: if spec not in species: sys.stderr.write("Unable to reconstruct \"%s\" - not in reaction scores\n" % (spec)) continue print "Reconstructing %s" % (spec) scoresfn = "%s/%s/%s" % (ddir, common.REACTION_SCORE_DIR, spec) if odir_param_labeled: odir = "%s/%s/%s-%.9f-%.9f" % (ddir, common.RECO_RESULT_DIR, spec, param_accept, param_reject) else: odir = "%s/%s/%s" % (ddir, common.RECO_RESULT_DIR, spec) try: os.mkdir(odir) except: pass reconstruct.main(cdir, kdir, adir, sourcesfn, ubiqfn, scoresfn, param_accept, param_reject, odir)
def test_simple_example_write_to_file(self): input_file = 'example_easy_data_set.txt' output_file = "output_" + input_file input_file = test_data_sets_folder + input_file output_file = test_data_sets_folder + output_file try: os.remove(output_file) except OSError: pass args = ['', input_file, output_file] reconstruct.main(args) output = '' with open(output_file, 'r') as myfile: output = myfile.read() self.assertEqual(output, 'ATTAGACCTGCCGGAATAC')
def do_reconstruction(cdir, kdir, ddir, r2ec, ec2r, param_accept, param_reject, target_species=None, odir_param_labeled=False, remove_partial=False): species = compute_reaction_scores(ddir, r2ec, ec2r, target_species, remove_partial) if target_species == None: target_species = species adir = "%s/atommaps" % (kdir) sourcesfn = "%s/aux/sources-augmented" % (cdir) ubiqfn = "%s/aux/empty" % (cdir) try: os.mkdir("%s/%s" % (ddir, common.RECO_RESULT_DIR)) except: pass for spec in target_species: if spec not in species: sys.stderr.write( "Unable to reconstruct \"%s\" - not in reaction scores\n" % (spec)) continue print "Reconstructing %s" % (spec) scoresfn = "%s/%s/%s" % (ddir, common.REACTION_SCORE_DIR, spec) if odir_param_labeled: odir = "%s/%s/%s-%.9f-%.9f" % (ddir, common.RECO_RESULT_DIR, spec, param_accept, param_reject) else: odir = "%s/%s/%s" % (ddir, common.RECO_RESULT_DIR, spec) try: os.mkdir(odir) except: pass reconstruct.main(cdir, kdir, adir, sourcesfn, ubiqfn, scoresfn, param_accept, param_reject, odir)
def test_all_input_sequences_are_in_output_string2(self): input_file = 'in_order_easy_data_set.txt' output_file = "output_" + input_file input_file = test_data_sets_folder + input_file output_file = test_data_sets_folder + output_file try: os.remove(output_file) except OSError: pass args = ['', input_file, output_file] print("args: ", args) name_list, seq_list = reconstruct.read_input(input_file) reconstruct.main(args) output = '' with open(output_file, 'r') as myfile: output = myfile.read() count = 0 for seq in seq_list: count += 1 print("count: ", count, ". seq: ", seq) self.assertIn(seq, output)