public static int[] GetSequenceCoverage(this AminoAcidPolymer baseSequence, IEnumerable <AminoAcidPolymer> allPolymers, bool useLeucineSequence) { int[] bits = new int[baseSequence.Length]; string masterSequence = useLeucineSequence ? baseSequence.BaseLeucineSequence : baseSequence.BaseSequence; foreach (AminoAcidPolymer polymer in allPolymers) { string seq = useLeucineSequence ? polymer.BaseLeucineSequence : polymer.BaseSequence; int startIndex = 0; while (true) { int index = masterSequence.IndexOf(seq, startIndex, StringComparison.Ordinal); if (index < 0) { break; } for (int aa = index; aa < index + polymer.Length; aa++) { bits[aa]++; } startIndex = index + 1; } } return(bits); }
/// <summary> /// Create a new peptide based on another amino acid polymer /// </summary> /// <param name="aminoAcidPolymer">The other amino acid polymer to copy</param> /// <param name="includeModifications">Whether to copy the modifications to the new peptide</param> public Peptide(AminoAcidPolymer aminoAcidPolymer, bool includeModifications) : base(aminoAcidPolymer, includeModifications) { Parent = aminoAcidPolymer; StartResidue = 0; EndResidue = Length - 1; }
public Fragment(FragmentTypes type, int number, double monoisotopicMass, AminoAcidPolymer parent) { FragmentType = type; Number = number; Parent = parent; MonoisotopicMass = monoisotopicMass; }
public Peptide(AminoAcidPolymer aminoAcidPolymer, int firstResidue, int length, bool includeModifications) : base(aminoAcidPolymer, firstResidue, length, includeModifications) { Parent = aminoAcidPolymer; StartResidue = firstResidue; EndResidue = firstResidue + length - 1; PreviousResidue = aminoAcidPolymer.GetResidue(StartResidue - 1); NextResidue = aminoAcidPolymer.GetResidue(EndResidue + 1); }
public ChemicalFormulaFragment(FragmentTypes type, int number, ChemicalFormula formula, AminoAcidPolymer parent) : base(type, number, formula.MonoisotopicMass, parent) { ThisChemicalFormula = ChemicalFormula.ParseFormula(formula.Formula); }
public Peptide(AminoAcidPolymer aminoAcidPolymer, int firstResidue, int length) : this(aminoAcidPolymer, firstResidue, length, true) { }
public Peptide(AminoAcidPolymer aminoAcidPolymer) : this(aminoAcidPolymer, true) { }
public static int[] GetSequenceCoverage(this AminoAcidPolymer baseSequence, IEnumerable <AminoAcidPolymer> sequences) { return(GetSequenceCoverage(baseSequence, sequences, true)); }
public static double GetSequenceCoverageFraction(this AminoAcidPolymer baseSequence, IEnumerable <AminoAcidPolymer> sequences, bool useLeucineSequence) { int[] counts = baseSequence.GetSequenceCoverage(sequences, useLeucineSequence); return(((double)counts.Count(x => x > 0)) / baseSequence.Length); }
public static double GetSequenceCoverageFraction(this AminoAcidPolymer baseSequence, IEnumerable <AminoAcidPolymer> sequences) { return(GetSequenceCoverageFraction(baseSequence, sequences, true)); }