def filter_by_similar_seqs(sequence): if sequence is None: return False similar_seqs = look_for_similar_sequences(sequence, db, blast_program, filters=filters) if reverse: return not len(similar_seqs) >= 1 else: return len(similar_seqs) >= 1
def test_look_for_similar_seqs(): 'It test if we can look for simialr seqs in a database' seq = 'AATCACCGAGCTCAAGGGTATTCAGGTGAAGAAATTCTTTATTTGGCTCGATGTCGATGAGA' seq += 'TCAAGGTCGATCTTCCACCTTCTGATTCAATCTACTTCAAAGTTGGCTTTATCAATAAGAAG' seq += 'CTTGATATTGACCAGTTTAAGACTATACATTCTTGTCACGATAATGGTGTCTCTGGCTCTTG' seq += 'TGGAGATTCATGGAAGAGTTTTCTCGAGGTAAAGATTAGATCTT' seq1 = SeqWithQuality(seq=Seq(seq)) database = os.path.join(TEST_DATA_DIR, 'blast', 'arabidopsis_genes+') similar_seqs = look_for_similar_sequences(seq1, database=database, blast_program='blastn') assert similar_seqs[0]['name'] == 'AT5G19860.1' assert similar_seqs[0]['query_start'] == 1 assert similar_seqs[0]['subject_start'] == 323