Skip to content

leahvschaffer/mzLib

 
 

Repository files navigation

mzLib

A library for mass spectrometry projects.

Build status codecov Coverity Scan Build Status Codacy Badge

Releases are here: https://www.nuget.org/packages/mzLib/

Usage

Reading Spectra Files

To read Thermo or mzML files, use

ThermoStaticData staticThermo = ThermoStaticData.LoadAllStaticData(@"spectra.raw");
ThermoDynamicData dynamicThermo = ThermoDynamicData.InitiateDynamicConnection(@"spectra.raw")
Mzml mzmlFile = Mzml.LoadAllStaticData(@"spectra.mzML");

Both filetypes implement the same interface that has all of the necessary functionality to interact with spectra files:

IMsDataFile<IMsDataScan<IMzSpectrum<IMzPeak>>> thermoFile = new ThermoRawFile(@"spectra.RAW");
IMsDataFile<IMsDataScan<IMzSpectrum<IMzPeak>>> mzmlFile = new Mzml(@"spectra.mzML");

Loading Databases From Online Sources

Loaders.LoadElements("elements.dat"); // void, loads elements into static PeriodicTable class 
IEnumerable<ModificationWithLocation> unimodMods = Loaders.LoadUnimod("unimod.dat");
IEnumerable<ModificationWithLocation> uniprotMods = Loaders.LoadUniprot("uniprot.dat");

Reading Protein Database Files

To read .fasta, .xml, or .xml.gz files, use

List<Protein> proteins = ProteinDbLoader.LoadProteinDb("proteins.xml", generateDecoys, allKnownModifications, IsContaminant, out unknownModifications);

The parameters are:

  • bool generateDecoys True if wish to generate decoy proteins.
  • IDictionary<string, IList<Modification>> allKnownModifications Dictionary of modifications with keys that correspond to modifications in the xml file.
  • bool IsContaminant True if it is a contaminant database
  • out Dictionary<string, Modification> unknownModifications An auxiliary output of modifications that were in the xml file but are not known.

Reading Modification Files

To load modifications from ptmlist formatted files use

IEnumerable<ModificationWithLocation> ptms = PtmListLoader.ReadMods("ptms.txt")

License

Code heavily borrowed from https://github.com/dbaileychess/CSMSL and distrubuted under the appropriate license, LGPL.

About

Library for mass spectrometry projects

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 99.7%
  • Other 0.3%