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)