A C++11 rewrite of the Python SweetSEQer algorithm. View the publication here.
This work is a derivative of the original SweetSEQer algorithm licensed to Oliver Serang (2012): https://pubmed.ncbi.nlm.nih.gov/23443135/
- Python 2.7 (for plotting)
- Matplotlib 1.5.3
- NetworkX 1.1
- Numpy 1.16.6
- g++ 9.3.0 compiler
- gnu plot 5.2 patchlevel 8
- (If running in Ubuntu bash shell for Windows 10) Xming server 6.9.0.31 for display of charts
- MinGW compiler for C and C++
C-SEQer uses the Cmake build system which makes compilation from source straightforward.
- Generate the Makefile (this will appear in the
build/
directory):
cmake .
- Build the executable by executing from the build directory:
Linux:make Makefile
Windows:mingw32-make -f Makefile
If compiling from source, navigate to the src/
directory with the following files:
- C-SEQER.cpp
- MGF.hpp
- main_functions.hpp
- DeNovo.hpp
- DiGraph.hpp
- dictionary.hpp
- (plot_glycan.py is only required when running the executable and passing in a positive print argument)
Execute g++ C-SEQER.cpp -o c-seqer.exe
Required files:
- executable
- .mgf file
- plot_glycan.py if plotting .png format figures
Example of execution command with parameters:
./c-seqer.exe 0.01 0.01 1 1 500 1 1 120810_JF_HNU142_5.mgf
Run the executable with 8 parameters:
- epsilon: maximum absolute error between predicted and actual peak (in m/z)
- lambda: minimum peak intensity (relative to maximum peak intensity)
- p: minimum length of inferred peptide sequence
- g: minimum size of inferred glycan graph (including isotope peaks, not shown in graph)
- tau: minimum m/z value to include in glycan
- print output: either 0 (doesn't print text results) or 1 (prints text results for matches)
- plot results: either 0 (doesn't plot results) or 1 (interactively plots each matching spectrum
- MGF file: paths to an MGF files to process
-
One .txt file with title of format
<MGf file Name>_<epsilon>Da<lambda>int<g>g.txt
- Contains a single line per valid spectrum (any spectrum containing glycan fragments meeting the user set p and g parameters) that is contained in the .mgf file, with the following data:
- Spectrum charge
- spectrum pepMass
- spectrum rtInSeconds
- charge state of spectrum for described fragment
- start node of fragment
- end node of fragment
- Contains a single line per valid spectrum (any spectrum containing glycan fragments meeting the user set p and g parameters) that is contained in the .mgf file, with the following data:
-
Two .png files with the spectrum name as image title:
- one for the annotated spectrum
- another for the glycan graph