update mass tracing--now works for basic cases
[greylag.git] / README
blobcd114ab63e022ebc9c25cc9b31ddbb0d2ae5def4
1 # README for greylag
4 XXX add some desc here
8 ##############################################################################
10 Features:
12 - Can simultaneously search multiple potential modifications on the same
13 residue (e.g., K+14, K+16, K+28).  [Both X!Tandem and SEQUEST silently fail to
14 do this.  Myrimatch does it?  OMSSA?]
16 - No limit on the number of simultaneous modifications searched (aside from
17 user patience).  [SEQUEST limited to three deltas.  OMSSA limited to 32 sites
18 per peptide.  Myrimatch limited to sizeof(int)-1 sites/kinds per peptide (and
19 fails silently for more).]
21 - Can simultaneously search multiple mass regimes in a single search.  (A
22 "mass regime" is an assignment of residue masses.  Two common regimes would be
23 "monoisotopic" and "monoisotopic with N15".)  [Currently X!Tandem supports
24 isotopes searches in a manner similar to SEQUEST (requiring a follow-on
25 merge), or by searching for isotopes as potential modifications.]  XXX
27 - Can simultaneously search alternate potential modification sets.  So, for
28 example, one can search for methylation of {K,S}, or acetylation of {K,S,T},
29 without searching peptides that may have combinations of both.
31 - Simultaneous search should improve statistical accuracy, as compared to
32 separate search with a subsequent merge.  It also should be at least a little
33 faster.
35 - Modification limit can be specified as a limit on modifications per peptide
36 (similar to SEQUEST) (and Myrimatch?) and/or as a limit on the combinations
37 searched per peptide (similar to X!Tandem and OMSSA).  (The first limit
38 differs from SEQUEST in that a SEQUEST limit of N would allow N modifications
39 for each delta in a peptide, whereas greylag allows N modifications total per
40 peptide.)
42 - Modifications can be specified by formula (e.g., +CH2 instead of +14 for
43 methylation).  This allows the mass delta to be calculated more accurately,
44 and correctly handles cases for which the delta depends on the mass regime
45 (e.g., because the modification involves an isotope).  XXX
47 - Modifications may be named ("14@K(methylation),14@S(methylation)"), which
48 simplifies modification tracking in downstream software.  XXX
50 - Supports different mass regimes for parent and fragment mass calculations
51 (e.g., average for parent and monoisotopic for fragment).  [X!Tandem currently
52 only supports monoisotopic parent masses.]  XXX
54 - Automatic search for PCA (pyrrolidone carboxyl acid) potential
55 modifications, as X!Tandem does.  (SEQUEST apparently doesn't do this.)
57 - Refinement steps, similar to X!Tandem.  XXX
59 - X!Tandem-compatible input and output file formats.  Can be used as a drop-in
60 replacement for X!Tandem, with some limitations.
62 - Has a "quirks-mode" feature that attempts to replicate X!Tandem's behavior
63 as closely as possible (warts and all).
65 - Supports ms2 spectrum files.  [X!Tandem, OMSSA, Myrimatch require
66 conversion.]
68 - Supports multiple spectrum files.  [X!Tandem handles only one at a time.]
70 - Integrated cluster implementation.  [X!Tandem has a multithreading feature
71 that works on single machines, and an add-on cluster implementation.
72 Myrimatch uses multithreading and MPI.]
74 - Source code is relatively small and simple (currently about 15% of
75 X!Tandem's size).  Most functionality is implemented in a high-level
76 interpreted language (Python), with low-level code (C++) used only for
77 performance-critical sections.  This makes it much easier to understand, learn
78 from, fix, and extend.
80 - Carefully checks its input for correctness.  [X!Tandem ignores errors in
81 many cases, leading to incorrect output.]
83 - Implemented with numerical stability in mind, and all calculations performed
84 in double-precision.  [X!Tandem has some issues with quantization and
85 floating-point comparison, and uses single-precision in most places.]
87 - Source code carefully examined for correctness.  [X!Tandem has mismatched
88 new/delete, potential buffer overflows, etc.]
90 - Relative speed.  XXX seems okay, but not yet tested or optimized...
92 - Platform independent.  XXX (only Linux tried so far)
94 - Better progress logging.
96 - Built-in profiling feature.
99 XXX = feature not yet completed
102 ------------------------------------------------------------------------------
103 Author: Mike Coleman  (mkc ...at... stowers-institute ...dot... org)
104         Stowers Institute for Medical Research
105         1000 East 50th Street
106         Kansas City, MO 64110  USA
107 ------------------------------------------------------------------------------