def test_no_name(self): seqs = _build_some_paired_seqs() seq = SeqWrapper(SEQITEM, SeqItem('s', ['>s\n', 'N\n']), 'fasta') seqs = seqs[0], seqs[1], seqs[2], seq, seqs[3] paired_seqs = list(group_pairs_by_name(seqs)) assert [get_str_seq(s) for s in paired_seqs[0]] == ['A', 'C'] assert [get_str_seq(s) for s in paired_seqs[1]] == ['T'] assert [get_str_seq(s) for s in paired_seqs[2]] == ['N'] assert [get_str_seq(s) for s in paired_seqs[3]] == ['G'] seqs = _build_some_paired_seqs() seqs = seqs[0], seq, seqs[1], seqs[2], seqs[3] paired_seqs = list(group_pairs_by_name(seqs)) assert [get_str_seq(s) for s in paired_seqs[0]] == ['A'] assert [get_str_seq(s) for s in paired_seqs[1]] == ['N'] assert [get_str_seq(s) for s in paired_seqs[2]] == ['C'] assert [get_str_seq(s) for s in paired_seqs[3]] == ['T', 'G'] seqs = _build_some_paired_seqs() seqs = seq, seqs[0], seqs[1], seqs[2], seqs[3] paired_seqs = list(group_pairs_by_name(seqs)) assert [get_str_seq(s) for s in paired_seqs[0]] == ['N'] assert [get_str_seq(s) for s in paired_seqs[1]] == ['A', 'C'] assert [get_str_seq(s) for s in paired_seqs[2]] == ['T', 'G']
def test_pair_grouper(self): seqs = _build_some_paired_seqs() paired_seqs = list(group_pairs_by_name(seqs)) assert [get_str_seq(s) for s in paired_seqs[0]] == ['A', 'C'] assert [get_str_seq(s) for s in paired_seqs[1]] == ['T', 'G'] assert len(paired_seqs) == 2 seqs = seqs[0], seqs[2], seqs[1], seqs[3] paired_seqs = list(group_pairs_by_name(seqs)) assert [get_str_seq(s) for s in paired_seqs[0]] == ['A'] assert [get_str_seq(s) for s in paired_seqs[1]] == ['T'] assert [get_str_seq(s) for s in paired_seqs[2]] == ['C'] assert [get_str_seq(s) for s in paired_seqs[3]] == ['G'] assert len(paired_seqs) == 4 seqs = _build_some_paired_seqs() seqs = seqs[:-1] paired_seqs = list(group_pairs_by_name(seqs)) assert [get_str_seq(s) for s in paired_seqs[0]] == ['A', 'C'] assert [get_str_seq(s) for s in paired_seqs[1]] == ['T'] seqs = _build_some_paired_seqs() seqs = seqs[:-1] try: paired_seqs = list(group_pairs_by_name(seqs, all_pairs_same_n_seqs=True)) self.fail('InterleaveError expected') except InterleaveError: pass
def test_pair_grouper(self): seqs = _build_some_paired_seqs() paired_seqs = list(group_pairs_by_name(seqs)) assert [get_str_seq(s) for s in paired_seqs[0]] == ['A', 'C'] assert [get_str_seq(s) for s in paired_seqs[1]] == ['T', 'G'] assert len(paired_seqs) == 2 seqs = seqs[0], seqs[2], seqs[1], seqs[3] paired_seqs = list(group_pairs_by_name(seqs)) assert [get_str_seq(s) for s in paired_seqs[0]] == ['A'] assert [get_str_seq(s) for s in paired_seqs[1]] == ['T'] assert [get_str_seq(s) for s in paired_seqs[2]] == ['C'] assert [get_str_seq(s) for s in paired_seqs[3]] == ['G'] assert len(paired_seqs) == 4 seqs = _build_some_paired_seqs() seqs = seqs[:-1] paired_seqs = list(group_pairs_by_name(seqs)) assert [get_str_seq(s) for s in paired_seqs[0]] == ['A', 'C'] assert [get_str_seq(s) for s in paired_seqs[1]] == ['T'] seqs = _build_some_paired_seqs() seqs = seqs[:-1] try: paired_seqs = list( group_pairs_by_name(seqs, all_pairs_same_n_seqs=True)) self.fail('InterleaveError expected') except InterleaveError: pass
def _read_pairs(in_fhands, paired_reads): seqs = read_seqs(in_fhands, prefered_seq_classes=[SEQITEM]) if paired_reads: pairs = group_pairs_by_name(seqs) else: pairs = group_pairs(seqs, n_seqs_in_pair=1) return pairs
def seq_to_trim_packets(seq_packets, group_paired_reads=False): "It yields packets suitable for the filters" for packet in seq_packets: if group_paired_reads: packet = list(group_pairs_by_name(packet)) else: packet = list(group_pairs(packet, n_seqs_in_pair=1)) yield {SEQS_PASSED: packet, ORPHAN_SEQS: []}
def seq_to_filterpackets(seq_packets, group_paired_reads=False): 'It yields packets suitable for the filters' for packet in seq_packets: if group_paired_reads: packet = list(group_pairs_by_name(packet)) else: packet = list(group_pairs(packet, n_seqs_in_pair=1)) yield {SEQS_PASSED: packet, SEQS_FILTERED_OUT: []}
def seq_to_trim_packets(seq_packets, group_paired_reads=False): 'It yields packets suitable for the filters' for packet in seq_packets: if group_paired_reads: packet = list(group_pairs_by_name(packet)) else: packet = list(group_pairs(packet, n_seqs_in_pair=1)) yield {SEQS_PASSED: packet, ORPHAN_SEQS: []}
def test_empty_iter(): paired_seqs = list(group_pairs_by_name([])) assert not paired_seqs