}
ArrayList<Integer> usedAlgorithms = projectDetails.getIdentificationAlgorithms();
if (processingPreferences.isScoringNeeded(usedAlgorithms)) {
PsmScorer psmScorer = new PsmScorer();
waitingHandler.appendReport("Estimating PSM scores.", true, true);
psmScorer.estimateIntermediateScores(identification, inputMap, processingPreferences, annotationPreferences, searchParameters, sequenceMatchingPreferences, waitingHandler);
if (processingPreferences.isTargetDecoyNeededForPsmScoring(usedAlgorithms)) {
if (sequenceFactory.concatenatedTargetDecoy()) {
waitingHandler.appendReport("Estimating intermediate scores probabilities.", true, true);
psmScorer.estimateIntermediateScoreProbabilities(identification, inputMap, processingPreferences, waitingHandler);
} else {
waitingHandler.appendReport("No decoy sequences found. Impossible to estimate intermediate scores probabilities.", true, true);
}
}
waitingHandler.appendReport("Scoring PSMs.", true, true);
psmScorer.scorePsms(identification, inputMap, processingPreferences, searchParameters, sequenceMatchingPreferences, waitingHandler);
}
waitingHandler.appendReport("Computing assumptions probabilities.", true, true);
if (sequenceFactory.concatenatedTargetDecoy()) {
inputMap.estimateProbabilities(waitingHandler);