Skip to content

A C++ implementation of the SweetSEQer Python algorithm

License

Notifications You must be signed in to change notification settings

optimusmoose/C-SEQer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A C++11 rewrite of the Python SweetSEQer algorithm. This version has been compiled and executed in Linux using gnu compiler.

This work is a derivative of the original SweetSEQer algorithm licensed to Oliver Serang (2012):
  https://pubmed.ncbi.nlm.nih.gov/23443135/

Required files if compiling from source:
  SweetSEQer.cpp
  MGF.h
  main_functions.h
  DeNovo.h
  DiGraph.h
  dict.h
  plot_glycan.py
	
Required Operating Environment:
  linux (developed in Ubuntu bash shell for Windows 10)
  g++ 9.3.0 compiler (if compiling from source)
  gnu plot 5.2 patchlevel 8
  Python 2.7
    Matplotlib 1.5.3
    NetworkX 1.1
    Numpy 1.16.6
  (If running in Ubuntu bash shell for Windows 10) Xming server 6.9.0.31 for display of charts if desired

Execution:
  Required files:
    output from compilation
    .mgf file

  Compile: 
    e.g. g++ SweetSEQer.cpp
	
  Execute the output file (default is 'a.out' unless specified with -o flag on compilation) 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

  Example of execution with parameters:
    ./a.out 0.01 0.01 1 1 500 1 1 120810_JF_HNU142_5.mgf

Output:
  1. 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
  2. Two .png files: one for the annotated spectrum and another for the glycan graph; uses the spectrum name as image title.