def test_filter_bridge_and_reverse(self): fna = list(ep.read_fasta("test.fna")) bridge_filt = epic_barcoder.filter_bridge( fna, '16S', 'GWATTACCGCGGCKGCTGCATCTTCTCCAAATGGGTCATGATC') bridge_reverse_filt = epic_barcoder.filter_reverse( bridge_filt, 'ATTAGAWACCCBDGTAGTCC') self.assertEqual(len(list(bridge_reverse_filt)), 13)
def split_seqs(seq_file, no_splits): seqs = ep.read_fasta(seq_file) split_dict = make_split_dict(seqs, no_splits) for key, val in split_dict.items(): seq_name = key + "_tmp.fasta" ep.write_fasta(val, seq_name) return list(split_dict.keys())
def add_otus_to_fasta(seq_file, uc_file, output_file): seeds = get_seed_dict(uc_file) seq_acc = [] for seq_id, seq in ep.read_fasta(seq_file): short_id = seq_id[1:].split()[0] seed_id = seeds[short_id] new_seq_id = "{} OTU={}".format(seq_id.strip(), seed_id) seq_acc.append([new_seq_id, seq]) ep.write_fasta(seq_acc, output_file)
def test_process_barcode_info(self): epic_barcoder.process_barcode_info( "test.fna", "tmp.fasta", '16S', 'GWATTACCGCGGCKGCTGCATCTTCTCCAAATGGGTCATGATC', 'ATTAGAWACCCBDGTAGTCC') tmp_fna = list(ep.read_fasta("tmp.fasta")) os.remove("tmp.fasta") self.assertEqual( [len(seq) for _, seq in tmp_fna], [249, 249, 250, 250, 249, 249, 249, 250, 250, 250, 250, 249, 250])
def process_barcode_info(bc_seq, output_file, bridge_seq, reverse_seq=None, seq_type=None): bc_lst = ep.read_fasta(bc_seq) bridge_filtered = filter_bridge(bc_lst, seq_type, bridge_seq) if reverse_seq: out_iter = filter_reverse(bridge_filtered, reverse_seq) ep.write_fasta(out_iter, output_file) else: ep.write_fasta(bridge_filtered, output_file)
def test_filter_bridge(self): fna = list(ep.read_fasta("test.fna")) filt = list( epic_barcoder.filter_bridge( fna, '16S', 'GWATTACCGCGGCKGCTGCATCTTCTCCAAATGGGTCATGATC')) self.assertEqual(len(filt), 25)
def test_filter_reverse(self): fna = list(ep.read_fasta("test.fna")) filt = list(epic_barcoder.filter_reverse(fna, 'ATTAGAWACCCBDGTAGTCC')) self.assertEqual(len(filt), 34)