# MS-GF+ ChangeLog

MS-GF+ Documentation home

07/21/2017 v2017.07.21

- Performance improvements when reading mzML and mzIdentML files

05/18/2017 v2017.05.18

- Add scoring parameters for UVPD TMT6Plex
- ScoringParamGen: Write and keep the converted TSV files to reduce time to re-run training on the same data
- ScoringParamGen: Write both the binary and text versions of the training results
- ScoringParamGen: Run multithreaded
- Improve the error message displayed when there are too many duplicate proteins

01/27/2017 v2017.01.27

- Reduce the number of exceptions seen when a thread exits with an exception - There were multiple exceptions being displayed that were the result of killing the other threads.
- Change how the overall progress reporting and exception handling is managed, to minimize the thread overhead burden.
- Allow the user to specify a number of tasks on the command line using "-tasks n", and modify the default calculation. The previous default had a hard-coded limit of 64, and multiplied the number of threads by 10; new default removes the hard-coded limit, and multiplies by only 3.
- Change the output behavior - by default, the per-thread status messages will no longer be output. Per-thread status messages are a large amount of output, and aren't usually necessary with good progress reporting. The old output can be re-enabled using the command line argument "-verbose 1"
- Add the elapsed time to the overall progress report
- Fix the overall progress reporting - get the active task progress again with the overall task progress.

01/10/2017 v2017.01.10

- Allow CustomAminoAcid formulas to not specify a number if it is 1.
- Updating UVPD scoring parameters

12/12/2016 v2016.12.12

- Properly output the unitCvRef when outputting the scan start time. Since v2016.08.31

12/08/2016 v2016.12.08

- Internal PeptideId change for mzid files
  Last version had a possibility of duplicate peptide ID strings, when the same mod was possible on the first residue and the N-terminal, or on the last residue and the C-terminal. N-terminal mods are now added prior to the first residue, prefixed with '[', and C-terminal mods are added after the last residue, prefixed by ']'

12/02/2016 v2016.12.02

- Fix some oddities with the mzid file peptide id strings

11/29/2016 v2016.11.29

- Clean up some debugging messages, and limit the number of times in a single search

10/26/2016 v2016.10.26

- Minimum spectra per thread reduced from 1000 to 250

10/24/2016 v2016.10.24

- Return a non-zero exit code if an error occurs
- Better exception handling for multi-threaded searches

10/14/2016 v2016.10.14

- Fix: handling of -m (FragmentMethodID) when processing .mgf files

10/10/2016 v2016.10.10

- Fix: mzid output - Peptide IDs were being mishandled and led to creating incorrect PeptideEvidence references in SpectrumIdentificationItems. Also, added more information to the Peptide IDs to decrease the possibility of ID collision on edge cases.

09/22/2016 v2016.09.22

- New: Add the ability to set the charge carrier mass to something besides the mass of a proton.

08/31/2016 v2016.08.31

- Fix: output the scan start time units to the mzid file when the input is mzML; previously only the value (without the units specified) was being output, which was ambiguous and did not comply with the CV specification
- New: When input is a _dta.txt file, with supporting _ScanType.txt file, a 4th column listing scan start time (in minutes) is supported, and will be output to the mzid if present.

07/26/2016 v2016.07.26

- Add UVPD as a dissociation method
- Add new ions: a. and x.
- Fix off-by-one error in IonType code that ignores c-NH3

06/29/2016 v2016.06.29

- Clean up the mzid output a little, reducing file size (v2016.06.15 introduced a change that resulted in larger mzid files)
- Reduced the amount of unnecessary data in the .jar file, cutting size by ~1/2

06/15/2016 v2016.06.15

- Fix the mzid output when the modification is unknown to unimod. (cvRef now correctly references PSI-MS, and the value will be the name provided in the Mods.txt file)
- Update the unimod.obo to date 2016:02:01, and change code to parse it properly after updating
- Bump some dependencies to a newer version, and change code to properly work with those changes.

05/25/2016 v2016.05.25

- Output the residue letter and mass of any custom amino acids to the "MassTable" portion of the mzid.
- Update the URIs for the ontologies to their current locations (psi-ms.obo and unit.obo).

02/12/2016 v2016.02.12

- Ensure that ETciD and EThcD are handled as ETD when using a _dta.txt file with a _ScanType.txt file

01/29/2016 v2016.01.29

- Added ability to enter custom amino acids using the Mods.txt file.

01/21/2016 v2016.01.21

- Changed the versioning system - SVN revisions don't work for Git repositories. Now commit date is used for the version.
- Improve the overall progress reporting.
- Cause entire search to fail if a thread exits with a failure.
- Retention Time/Scan Start Time is now output to the mzid file for searches performed on mzML files, as long as the data is available.

07/16/2014 v10089

- Fixed a bug that crashes when C-term mod mass is below -57Da.
- Added a test that checks whether the output path is valid before processing the data.

06/30/2014 v10072

- Optimization for multithreaded performance.
- Several minor bug fixes.

02/10/2014 v9949

- New scoring parameters are added for HCD/Q-Exactive/Trypsin/TMT. Parameters for HCD/HighRes/Trypsin/TMT have also been changed. As a result, for HCD spectra of TMT peptides, the number of identifications has been significantly increased.
- MS-GF+ now automatically recognize "TMT6plex" in the modification file and change the protocol to TMT.
- For mzML files converted from Thermo raw data using msconvert, MS-GF+ now reads monoisotopic precursor m/z first from a user parameter ([Thermo Trailer Extra]Monoisotopic M/Z:) instead of the CvParam "MS:1000744".
- The maximum number of variable modifications (per peptide) is written to the mzIdentML output file.
- Previously MS-GF+ ignored spectra having less than 20 peaks for non-TOF spectra. Now it ignores spectra having less than 10 peaks.

08/28/2013 v9881

- Change in database indexing format. The index file keeps non-standard amino acids (characters other than 20 standard residue characters). Previously, non-standard amino acids were converted into ‘?’ while indexing. It caused a problem when converting mzid into pepXML using idconvert (ProteoWizard).
- Fixed a bug that creates duplicate PeptideEvidence items when more than one matches are reported for a spectrum (e.g. -n 10),
- Fixed a bug that crashes MS-GF+ when a modification makes the amino acid mass 0 or smaller (e.g. M-131).

08/28/2013 v9733

- Added parameters for CID-LowRes-NoCleavage.
- Misc bug fixes.

04/03/2013 v9517

- Previously separate SpectrumIdentificationItems were created for the same peptide if "pre" is different (e.g. R.SIPDSMNYGDEEENK and K.SIPDSMNYGDEEENK). Now they show up as the same SpectrumIdentificationItem. If the score is different due to different NTT (e.g. G.SIPDSMNYGDEEENK), a separate SpectrumIdentificationItem is created.
- Bug fix: falling into an infinite loop while reading an mzML file if it contains <binaryDataArray> of encodedLength="0"

04/03/2013 v9501

- Previously, spectra are ignored in the search if the number of peaks is less than 20 for all types spectra. Now, for TOF spectra (i.e. -inst 2), this number has been changed to 3.

04/02/2013 v9494

- The following features are added in the SpectrumIdentificationItem when "-addFeatures 1"
  - MeanErrorAll: Mean of mass errors of explained fragment ion peaks
  - StdevErrorAll: Standard deviation of mass errors of explained fragment ion peaks
  - MeanErrorTop7: Mean of mass errors of 7 fragment ion peaks with highest intensities
  - StdevErrorTop7: Standard deviation of mass errors of 7 fragment ion peaks with highest intensities

03/25/2013 v9436

- Added TMT scoring model for HCD/HighRes (-m 3 -inst 1)
- Bug fix: duplicate PeptideEvidence id in mzid output
- Bug fix: crashing while using user-trained scoring parameters

03/05/2013 v9324

- Added Q-Exactive unlabeled phosphorylation parameters
- Bug fix: recognizing ETD+SA spectra in mzML as CID

02/27/2013 v9324

- Minor bug fix: mistakenly assigning 3 mods to a N-term amino acid.

02/15/2013 v9312

- Added scoring parameter sets for Q-Exactive iTRAQ (-inst 3 -protocol 2) and iTRAQ phosphopeptide enriched (-inst 3 -protocol 3) samples.

02/15/2013 v9284

- When "-protocol" parameter is missing, MS-GF+ automatically selects an appropriate protocol depending on the modification file.
- In the mzid output, Enzyme has attributes "missedCleavages".

02/14/2013 v9249

- Scoring parameters for Q-Exactive (-inst 3) have been added.

02/04/2013 v9244

- A bug (crash with an exception) in edu.ucsd.msjava.ui.ScoringParamGen has been fixed.

01/03/2013 v9176

- "-ti" parameter accepts only two comma separated integers, i.e., "-ti 1" will be rejected.
- MzIDToTsv adds "Title" column to the tsv file if the input spectrum is the mgf format.

12/19/2012 v9107

- "No enzyme" (-e 1) was renamed to "unspecific cleavage".
- "No enzyme (peptidomics)" (-e 9) was renamed to "no cleavage".
- <Enzyme>...</Enzyme> in the mzid output now shows right CVs for -e 1 and -e 9.
- The following bug has been fixed
  - Precursor errors are negated when MzIDToTsv was run.
  - C-term specific modifications do not show up in result files.

12/10/2012 v9014

- The following bug has been fixed
  - Ignoring some spectra when -n value is larger than 1

11/30/2012 v9012

- The following bugs have been fixed
  - Profile spectra should be ignored but not.
  - Peptides shorter than MinLength are reported.
  - Redundant proteins are reported in the same line in tsv files
  - Some SpectrumIdentificationResult elements have no SpectrumIdentificationItem element.
  - Different PeptideEvident elements have the same ID.

11/09/2012 v8884

- Bug fix: crashing while reading mzML files converted from wiff

11/09/2012 v8873

- Fixed a bug of ignoring N-term peptide when N-term Met cleaved peptide exists.
- Add scan numbers for NIST mgf files

10/30/2012 v8806

- Fixed a bug in edu.ucsd.msjava.misc.MS2ToMgf

10/29/2012 v8792

- Fixed bugs to ignore N-term fixed mods in the output
- Added edu.ucsd.msjava.misc.MS2ToMgf

10/11/2012 v8719

- Fixed bugs reporting NaN as additional features when spectrum has charge 0

10/04/2012 v8605

- Updates to handle multiple charge states in the ms2 format

10/03/2012 v8597

- Fixed the bug to erroneously report precursorMz in converted tsv files

09/26/2012 v8540

- Update MS2 parser to support http://noble.gs.washington.edu/proj/crux/ms2-format.html
- Old MS2 format (http://fields.scripps.edu/sequest/SQTFormat.html) is no longer supported

09/20/2012 v8490

- Fix the following bugs:
  - Same PeptideEvidence occurs more than once
  - SearchModification/SpecificityRules is always empty
  - Unknown modification cvParam does not have cvRef
  - SpectrumIdentificationResult has no SpectrumIdentificationItem
- MzIDToTsv -o TSVFile is now an optional parameter.

09/18/2012 v8477

- The extension of target/decoy concatenated database file has changed from .revConcat.fasta to .revCat.fasta.
- *.revConcat.fasta: decoy proteins have prefix "REV_" (used by MS-GFDB)
- *.revCat.fasta: decoy proteins have prefix "XXX_" (used by MS-GF+)

09/18/2012 v8472

- Bug fix: N-term or C-term residue-specific modifications (e.g. pyro-glu from Q) will have locations 1 (N-term) or length (C-term).
- Fix a bug to write SpectrumIdentificationResult twice for some spectra without precursor charges

09/17/2012 v8449

- Fix a bug in parsing Agilent mzML files

09/13/2012 v8442

- Fix the bug ignoring PSMs with IsotopeError=0, when MinIsotopeError was negative
- Change the '-ntt' parameter to set the minimum number of termini following the enzyme specificity rule
- Change the default value of '-ntt' from 1 to 2
- Fix the bug to set "fixedMod=true" for variable modifications
- Fix the bug not showing fixed modifications in the peptide list
- Fix the bug to show the location of N-term modification as 1 instead of 0
- Fix the bug to calculate massToChargeRatio as neutral masses instead of charged masses
- Replace the cvParam showing the dissociation method with a userParam named AssumedDissociationMethod in the SpectrumIdentificationItem

08/30/2012 v8299

- Provide MzID to TSV converter (edu.ucsd.msjava.ui.MzIDToTsv)
- Ignore profile spectra in the analysis
- Support JRE 1.6

08/29/2012 v8297

- Fix minor bugs
- Add the scan number CV in the output

08/27/2012 v8283

- Fix minor bugs