예제 #1
0
def getSharedPRMs(prmLadder1, prmLadder2, epsilon=0.5):
    hashTable = {}
    for i in range(prmLadder1.size):
        key = np.round(prmLadder1[i] / epsilon)
        hashTable[key] = [(i, prmLadder1[i])]
    
    temp = np.zeros((prmLadder2.size, 2))
    temp[:, 0] = prmLadder2
    pairedIonData = SA.getPairedIons(hashTable, temp, delta=0.0, epsilon=epsilon)
    sharedPRMs = []
    for key in sorted(pairedIonData.keys()):
        sharedPRMs += [zip(*pairedIonData[key])[1]]

    if sharedPRMs:
        return zip(*sharedPRMs)[0]
    else:
        return []