Пример #1
0
        public void Write(BinaryWriter writer)
        {
            writer.Write(mass);
            writer.Write(deltaMass);
            writer.Write(sequence);
            if (modifications == null)
            {
                modifications = new PeptideModificationState(sequence.Length);
            }
            modifications.Write(writer);
            writer.Write(mascotScore);
            writer.Write(altScore);
            writer.Write(pep);
            int len = proteinIndex.Length;

            writer.Write(len);
            for (int i = 0; i < len; i++)
            {
                writer.Write(proteinIndex[i]);
            }
        }
Пример #2
0
        public void Write(BinaryWriter writer)
        {
            writer.Write(rawFileIndex);
            writer.Write(scanNumber);
            writer.Write(silacIndex);
            switch (type)
            {
            case MascotQueryType.Silac:
                writer.Write((byte)0);
                break;

            case MascotQueryType.Isotope:
                writer.Write((byte)1);
                break;

            case MascotQueryType.Peak:
                writer.Write((byte)2);
                break;
            }
            writer.Write(pep);
            writer.Write(score);
            writer.Write(altScore);
            writer.Write(deltaScoreAll);
            writer.Write(deltaScoreDifferentPep);
            labelModifications.Write(writer);
            trueModifications.Write(writer);
            writer.Write(elutionTime);
            writer.Write(id);
            writer.Write(mz);
            writer.Write(monoisotopicMz);
            writer.Write(evidenceId);
            writer.Write(ptmScore);
            writer.Write(deltaPtmScore);
            writer.Write(ptmScoreCounts);
            writer.Write(ptmScoreFinished);
            writer.Write(MassErrorPpm);
            writer.Write(changed);
            writer.Write(description.Length);
            for (int i = 0; i < description.Length; i++)
            {
                description[i].Write(writer);
                writer.Write(intensities[i]);
                writer.Write(massDiffs[i]);
            }
            writer.Write(charge);
            ushort[] keys = DataUtil.GetKeys(modProbabilities);
            writer.Write(keys.Length);
            for (int i = 0; i < keys.Length; i++)
            {
                writer.Write(keys[i]);
            }
            foreach (ushort key in keys)
            {
                double[] value = modProbabilities[key];
                writer.Write(value.Length);
                for (int i = 0; i < value.Length; i++)
                {
                    writer.Write(value[i]);
                }
            }
            keys = DataUtil.GetKeys(modScoreDiffs);
            writer.Write(keys.Length);
            for (int i = 0; i < keys.Length; i++)
            {
                writer.Write(keys[i]);
            }
            foreach (ushort key in keys)
            {
                double[] value = modScoreDiffs[key];
                writer.Write(value.Length);
                for (int i = 0; i < value.Length; i++)
                {
                    writer.Write(value[i]);
                }
            }
        }