package com.compomics.util.experiment.identification.peptide_fragmentation.predictors; import com.compomics.util.experiment.biology.Ion; import com.compomics.util.experiment.biology.ions.PeptideFragmentIon; /** * Fragmentation model originally described in the Sequest algorithm * (https://www.ncbi.nlm.nih.gov/pubmed/24226387) adapted to utilities objects. * * @author Marc Vaudel */ public class SequestFragmentationModel { /** * Returns the intensity expected for the given ion. 50.0 for b and y ions * with no neutral losses. 25.0 for a ions and b and y ions with neutral * losses. 0.0 for other peaks. * * @param ion the ion of interest * * @return the expected intensity */ public static Double getIntensity(Ion ion) { if (ion instanceof PeptideFragmentIon) { if (ion.getSubType() == PeptideFragmentIon.B_ION || ion.getSubType() == PeptideFragmentIon.Y_ION) { if (ion.getNeutralLosses().isEmpty()) { return 50.0; } else { return 25.0; } } else if (ion.getSubType() == PeptideFragmentIon.A_ION) { return 25.0; } } return 0.0; } }