PsmScoringPreferences psmScoringPreferences = identificationParameters.getPsmScoringPreferences();
ArrayList<Integer> usedAlgorithms = projectDetails.getIdentificationAlgorithms();
if (psmScoringPreferences.isScoringNeeded(usedAlgorithms)) {
PsmScorer psmScorer = new PsmScorer();
waitingHandler.appendReport("Estimating PSM scores.", true, true);
<BUG>psmScorer.estimateIntermediateScores(identification, inputMap, processingPreferences, shotgunProtocol, identificationParameters, waitingHandler, exceptionHandler);
if (psmScoringPreferences.isTargetDecoyNeededForPsmScoring(usedAlgorithms)) {</BUG>
if (sequenceFactory.concatenatedTargetDecoy()) {
waitingHandler.appendReport("Estimating intermediate scores probabilities.", true, true);
psmScorer.estimateIntermediateScoreProbabilities(identification, inputMap, processingPreferences, waitingHandler);

PsmScoringPreferences psmScoringPreferences = identificationParameters.getPsmScoringPreferences();
ArrayList<Integer> usedAlgorithms = projectDetails.getIdentificationAlgorithms();
if (psmScoringPreferences.isScoringNeeded(usedAlgorithms)) {
PsmScorer psmScorer = new PsmScorer();
waitingHandler.appendReport("Estimating PSM scores.", true, true);
psmScorer.estimateIntermediateScores(identification, inputMap, processingPreferences, identificationParameters, waitingHandler, exceptionHandler);
if (psmScoringPreferences.isTargetDecoyNeededForPsmScoring(usedAlgorithms)) {
if (sequenceFactory.concatenatedTargetDecoy()) {
waitingHandler.appendReport("Estimating intermediate scores probabilities.", true, true);
psmScorer.estimateIntermediateScoreProbabilities(identification, inputMap, processingPreferences, waitingHandler);
