#    print 'precMassClusters', precMassClusters                                                                                                                                                                      
    samePeptideClusters = Analytics.getSamePeptideClusters(precMassClusters, scanFDict, clusterSVMModel, clusterSVMRanges, ppmSTD=options.ppmstd, cutOff=float(paramsDict['Cluster Configuration']['cutoff']))
#    samePeptideClusters = Analytics.getSamePeptideClusters(precMassClusters, scanFDict, clusterSVMModel, clusterSVMRanges, ppmSTD=options.ppmstd, cutOff=4)
#    samePeptideClusters = An.getSamePeptideClusters(precMassClusters, scanFDict, clusterSVMModel, clusterSVMRanges, ppmSTD=options.ppmstd, cutOff=4)

    # To test without any clustering
    #samePeptideClusters = [[scanF] for scanF in scanFDict]
    
    for pairConfigName in paramsDict['Pair Configurations']:
        
        print 'Getting heavy-light pairs for %s' % (pairConfigName,)
        t1 = time.time()

        pairConfig = paramsDict['Pair Configurations'][pairConfigName]
        pairs = Analytics.findDeltaPairsClusters(samePeptideClusters, scanFDict, pairConfig['NMod']+pairConfig['CMod'], ppm=options.ppmstd)
        addEnds = DNS.getSpectrumGraphEndpointInitFunction(pairConfig['NStatic'], pairConfig['CStatic'], paramsDict['Enzyme']['specificity'])
        termModHash = Constants.getTermModHashForPairConfig(pairConfig)
        
        svmModel = svmutil.svm_load_model(parent + pairConfig['Model'])
        svmRange = svmutil.load_ranges(parent + os.path.splitext(pairConfig['Model'])[0] + '.range')
        
        xVals = []
        # xVals = getPairsThread(pairs)
        for pair in pairs:
            lightSpecs = [DataFile.getMassIntPairs(scanFDict[lightScanF]['dta']) for lightScanF in samePeptideClusters[pair[0]]]
            heavySpecs = [DataFile.getMassIntPairs(scanFDict[heavyScanF]['dta']) for heavyScanF in samePeptideClusters[pair[1]]]
            lightPrecMass = np.average(np.array([scanFDict[lightScanF]['precMass'] for lightScanF in samePeptideClusters[pair[0]]]))

            epSTD = options.ppmstd * 10 ** -6 * lightPrecMass

            lightMergedSpec = SA.mergeSpectra(lightSpecs, epsilon=2*epSTD)
Esempio n. 2
0
    ETDPNet = PN.ProbNetwork(paramsDict["Models"]["etd"]["config"], paramsDict["Models"]["etd"]["model"])
    HCDPNet = PN.ProbNetwork(paramsDict["Models"]["hcd"]["config"], paramsDict["Models"]["hcd"]["model"])
    dtaList = glob.glob(options.dtadir + "/*.dta")
    scanFDict = getScanFDict(dtaList)
    aas = Constants.addPepsToAADict(options.minedge)
    hashedAAs = Constants.hashAAsEpsilonRange(aas, epStep, maxEp)

    ambigOpenPenalty = 0
    ambigPenaltyFun = DNS.getAmbigEdgePenaltyFunction(options.minedge, ambigOpenPenalty, options.ambigpenalty)
    ppmPenaltyFun = DNS.getPPMPenaltyFun(
        options.ppmstd, hashedAAs, options.minedge, options.ppmpenalty, options.ppmsyserror, epStep
    )

    addEnds = DNS.getSpectrumGraphEndpointInitFunction(
        np.array(Constants.NTermMods.values()),
        np.array(Constants.CTermMods.values()),
        paramsDict["Enzyme"]["specificity"],
    )
    termModHash = Constants.createTermModHashAAs(
        N=copy.deepcopy(Constants.NTermMods), C=copy.deepcopy(Constants.CTermMods)
    )
    print "Getting Pairs..."
    pairs = getCIDETDPairs(scanFDict)

    for pair in pairs:
        scanData = {}
        precMass = scanFDict[pair[0]]["precMass"]

        epMean = options.ppmsyserror * precMass * 10 ** -6
        epSTD = options.ppmstd * precMass * 10 ** -6