Пример #1
0
        public SrmTransition GetModel(PepV01 peptide)
        {
            int offset = FragmentIon.OrdinalToOffset(FragmentType,
                                                     FragmentOrdinal, peptide.Length);
            double      mh       = NeutralMass + BioMassCalc.MassProton;
            FragmentIon fragment = new FragmentIon(peptide, FragmentType, offset, mh);
            double      start    = StartRT ?? 0;
            double      stop     = StopRT ?? 0;

            return(new SrmTransition(fragment, CollisionEnergy,
                                     DeclusteringPotential, start - stop,
                                     PrecursorCharge, ProductCharge));
        }
Пример #2
0
        public override bool Equals(object obj)
        {
            if (ReferenceEquals(this, obj))
            {
                return(true);
            }

            PepV01 pep = obj as PepV01;

            return(pep != null &&
                   pep.Begin == Begin &&
                   pep.End == End &&
                   Equals(pep._fastaSequence, _fastaSequence));
        }
Пример #3
0
 public XmlPeptide(PepV01 peptide, XmlTransition[] transitions)
 {
     Begin           = peptide.Begin;
     End             = peptide.End;
     Sequence        = peptide.Sequence;
     PrevAA          = peptide.PrevAA;
     NextAA          = peptide.NextAA;
     NeutralMass     = SequenceMassCalc.PersistentNeutral(peptide.MassH);
     MissedCleavages = peptide.MissedCleavages;
     if (peptide.PredictedRetentionTime.HasValue)
     {
         PredictedRetentionTime = Math.Round(peptide.PredictedRetentionTime.Value, 2);
     }
     Transitions = transitions;
 }
Пример #4
0
        public FragmentIon(PepV01 peptide, IonType type, int offset, double mh)
        {
            _peptide = peptide;

            IType          = type;
            CleavageOffset = offset;
            MassH          = mh;

            // Derived values
            if (IsNTerminal())
            {
                Ordinal = offset + 1;
                AA      = peptide.Sequence[offset];
            }
            else
            {
                Ordinal = _peptide.Length - offset - 1;
                AA      = peptide.Sequence[offset + 1];
            }
        }
Пример #5
0
        public FragmentIon(PepV01 peptide, IonType type, int offset, double mh)
        {
            _peptide = peptide;

            IType          = type;
            CleavageOffset = offset;
            MassH          = new TypedMass(mh, MassType.MonoisotopicMassH);

            // Derived values
            if (IsNTerminal())
            {
                Ordinal = offset + 1;
                AA      = peptide.Target.Sequence[offset];
            }
            else
            {
                Ordinal = _peptide.Length - offset - 1;
                AA      = peptide.Target.Sequence[offset + 1];
            }
        }
Пример #6
0
        public XmlTransition(SrmTransition transition)
        {
            FragmentType    = transition.Fragment.IType;
            FragmentOrdinal = transition.Fragment.Ordinal;
            NeutralMass     = SequenceMassCalc.PersistentNeutral(transition.Fragment.MassH);
            PrecursorCharge = transition.PrecursorCharge;
            ProductCharge   = transition.Charge;
            PrecursorMz     = SequenceMassCalc.PersistentMZ(transition.PrecursorMZ);
            ProductMz       = SequenceMassCalc.PersistentMZ(transition.MZ);
            CollisionEnergy = Math.Round(transition.CollisionEnergy, 6);
            if (transition.DeclusteringPotential.HasValue)
            {
                DeclusteringPotential = Math.Round(transition.DeclusteringPotential.Value, 6);
            }

            PepV01 peptide = transition.Fragment.Peptide;

            if (peptide.PredictedRetentionTime.HasValue && transition.RetentionTimeWindow > 0)
            {
                double start = Math.Round(peptide.PredictedRetentionTime.Value - transition.RetentionTimeWindow / 2, 2);
                StartRT = start;
                StopRT  = Math.Round(start + transition.RetentionTimeWindow, 2);
            }
        }
Пример #7
0
        public FragmentIon(PepV01 peptide, IonType type, int offset, double mh)
        {
            _peptide = peptide;

            IType = type;
            CleavageOffset = offset;
            MassH = mh;

            // Derived values
            if (IsNTerminal())
            {
                Ordinal = offset + 1;
                AA = peptide.Sequence[offset];
            }
            else
            {
                Ordinal = _peptide.Length - offset - 1;
                AA = peptide.Sequence[offset + 1];
            }
        }
Пример #8
0
 public SrmTransition GetModel(PepV01 peptide)
 {
     int offset = FragmentIon.OrdinalToOffset(FragmentType,
                                              FragmentOrdinal, peptide.Length);
     double mh = NeutralMass + BioMassCalc.MassProton;
     FragmentIon fragment = new FragmentIon(peptide, FragmentType, offset, mh);
     double start = StartRT ?? 0;
     double stop = StopRT ?? 0;
     return new SrmTransition(fragment, CollisionEnergy,
                              DeclusteringPotential, start - stop,
                              PrecursorCharge, ProductCharge);
 }
Пример #9
0
 public XmlPeptide(PepV01 peptide, XmlTransition[] transitions)
 {
     Begin = peptide.Begin;
     End = peptide.End;
     Sequence = peptide.Sequence;
     PrevAA = peptide.PrevAA;
     NextAA = peptide.NextAA;
     NeutralMass = SequenceMassCalc.PersistentNeutral(peptide.MassH);
     MissedCleavages = peptide.MissedCleavages;
     if (peptide.PredictedRetentionTime.HasValue)
         PredictedRetentionTime = Math.Round(peptide.PredictedRetentionTime.Value, 2);
     Transitions = transitions;
 }