def test_check_fasta_seqs_with_barcodes_at_start(self): """ Properly detects barcodes at the start of the sequences """ # Test against all data that should give some percent failures sample_barcodes = set(['ACAAG', 'AGATTATAT']) sample_primers = set(['AGATTTACCA', 'TTATTACCGAT']) total_seq_count = 4 perc_invalid_chars, perc_barcodes_detected, perc_primers_detected,\ perc_bcs_seq_start =\ check_fasta_seqs(self.sample_fasta_invalid_fp, sample_barcodes, sample_primers, total_seq_count) expected_perc_invalid_chars = "%1.3f" % 0.50 expected_perc_barcodes_detected = "%1.3f" % 0.50 expected_perc_primers_detected = "%1.3f" % 0.25 expected_perc_bcs_seq_start = "%1.3f" % 0.25 self.assertEqual(perc_invalid_chars, expected_perc_invalid_chars) self.assertEqual(perc_barcodes_detected, expected_perc_barcodes_detected) self.assertEqual(perc_primers_detected, expected_perc_primers_detected) self.assertEqual(perc_bcs_seq_start, expected_perc_bcs_seq_start)
def test_check_fasta_seqs_all_valid(self): """ Properly returns invalid chars, barcodes, primers detected """ # Test against all valid data sample_barcodes = set(['ACCATACC', 'CCAGATTACG']) sample_primers = set(['ACATTATTTT', 'TTATTACCGAT']) total_seq_count = 3 perc_invalid_chars, perc_barcodes_detected, perc_primers_detected,\ perc_bcs_seq_start =\ check_fasta_seqs(self.sample_fasta_fp, sample_barcodes, sample_primers, total_seq_count) expected_perc_invalid_chars = "%1.3f" % 0 expected_perc_barcodes_detected = "%1.3f" % 0 expected_perc_primers_detected = "%1.3f" % 0 self.assertEqual(perc_invalid_chars, expected_perc_invalid_chars) self.assertEqual(perc_barcodes_detected, expected_perc_barcodes_detected) self.assertEqual(perc_primers_detected, expected_perc_primers_detected)