예제 #1
0
 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
예제 #2
0
    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