def calculate_sensitivity(blast_results, target_accessions):
    """
    Function calculates sensitivity of the oligo (binding to target sequences). 
    Binding is defined as 100% query coverage and 100% percent identity of the oligo to the target sequence.
    Sensitivity is calculated by the following formula: 
        TP / (TP + FN)
        where: 
        TP = succesfully amplified accessions
        FN = target accessions that were not amplified
        TP + FN = total number of target accessions
    """
    #Take only accessions where there was a perfect match --> full query coverage, 100% identity
    perfect_match_results = blast_results.loc[(blast_results['qlen']==blast_results['length'])&(blast_results['pident']==100.0)]
    #Retrieve only the accessions list
    amplified_accessions = set(perfect_match_results.loc[:,'sacc'])
    target_match = 0
    #Count number of target accessions in the amplified accession list 
    for accession in amplified_accessions: 
            if accession in target_accessions: 
                target_match = target_match + 1
    #Calculate sensitivity and return
    sensitivity = target_match/len(target_accessions)
    return sensitivity