def computeLymphnodesFraction(allClinDict):

    aKey = findProperKey ( allClinDict, "number_of_lymphnodes_positive_by_he" )
    bKey = findProperKey ( allClinDict, "number_of_lymphnodes_examined" )

    if (aKey not in allClinDict.keys()):
        print " "
        print " skipping computeLymphnodesFraction "
        return (allClinDict)
    if (bKey not in allClinDict.keys()):
        print " "
        print " skipping computeLymphnodesFraction "
        return (allClinDict)

    print " "
    print " in computeLymphnodesFraction ... "

    numClin = getNumPatients(allClinDict)
    newV = [0] * numClin
    for kk in range(numClin):
        if (allClinDict[bKey][kk] == "NA"):
            newV[kk] = "NA"
        elif (allClinDict[aKey][kk] == "NA"):
            newV[kk] = "NA"
        elif (int(allClinDict[bKey][kk]) == 0):
            newV[kk] = "NA"
        else:
            newV[kk] = float(allClinDict[aKey][kk]) / \
                float(allClinDict[bKey][kk])
    allClinDict["N:SAMP:fraction_lymphnodes_positive_by_he:::::"] = newV

    return (allClinDict)