Giter Club home page Giter Club logo

c-seqer's Introduction

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.

c-seqer's People

Contributors

koos-burgoyne avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.