MSGFPlus / msgfplus

MS-GF+ (aka MSGF+ or MSGFPlus) performs peptide identification by scoring MS/MS spectra against peptides derived from a protein sequence database.
Other
76 stars 36 forks source link

Request for TMT-16plex option #82

Open progistar opened 4 years ago

progistar commented 4 years ago

Dear dev team,

I am Seunghyuk Choi, a Ph.D candidate at Hanyang University. I am appreciated to your nice software. I have a quick request about TMT-16plex option because it shows very cost effective in terms of experimental cost. Thanks for your efforts.

Sincerely,

Seunghyuk Choi,

alchemistmatt commented 4 years ago

MS-GF+ already supports 16-plex TMT. You simply have to change the static mods to use the 16-plex linker mass. Specifically:

#Modifications (see below for examples)
StaticMod=304.207146,    *,  fix, N-term,    TMTpro
StaticMod=304.207146,    K,  fix, any,       TMTpro
StaticMod=C2H3N1O1,      C,  fix, any,       Carbamidomethyl       # Fixed Carbamidomethyl C (alkylation, +57.0215)

DynamicMod=O1, M, opt, any,                  Oxidation             # Oxidized methionine

For a complete MS-GF+ parameter file, see https://github.com/MSGFPlus/msgfplus/blob/master/docs/examples/MSGFPlus_Params.txt

For MS-GF+ usage, see https://msgfplus.github.io/msgfplus/MSGFPlus.html

progistar commented 4 years ago

Dear Matthew,

Thank you for the notification! It was really helpful for me.

Sincerely,

Seunghyuk Choi,

Seunghyuk Choi

PhD Candidate Department of Computer and Software Hanyang University

Room 405 R and D Building 17 Haengdang-dong, Sungdong-gu Seoul, Korea, 133-791

Tel: +82-2-2220-4704 Fax: +82-2-2299-2377

progistar@naver.com https://bislab.hanyang.ac.kr

-----Original Message----- From: "Matthew Monroe"notifications@github.com To: "MSGFPlus/msgfplus"msgfplus@noreply.github.com; Cc: "progistar"progistar@naver.com; "Author"author@noreply.github.com; Sent: 2019-11-22 (금) 14:32:30 (GMT+09:00) Subject: Re: [MSGFPlus/msgfplus] Request for TMT-16plex option (#82)

MS-GF+ already supports 16-plex TMT. You simply have to change the static mods to use the 16-plex linker mass. Specifically:

Modifications (see below for examples) StaticMod=304.207146, *, fix, N-term, TMTpro StaticMod=304.207146, K, fix, any, TMTpro StaticMod=C2H3N1O1, C, fix, any, Carbamidomethyl # Fixed Carbamidomethyl C (alkylation, +57.0215) DynamicMod=O1, M, opt, any, Oxidation # Oxidized methionine

For a complete MS-GF+ parameter file, see https://github.com/MSGFPlus/msgfplus/blob/master/docs/examples/MSGFPlus_Params.txt For MS-GF+ usage, see https://msgfplus.github.io/msgfplus/MSGFPlus.html — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

glormph commented 4 years ago

Hi, a search with the TMTpro runs fine, but I get an "incorrect" accession identifier in the mzid file, e.g.:

  <Peptide id="Pep_AEGEEEMDTGADDQDGDAAQHPEEHSEEQQQSVEEK">
    <PeptideSequence>AEGEEEMDTGADDQDGDAAQHPEEHSEEQQQSVEEK</PeptideSequence>
    <Modification location="0" monoisotopicMassDelta="304.207146">
      <cvParam cvRef="PSI-MS" accession="MS:1001460" name="unknown modification" value="TMTpro"/>
    </Modification>
    <Modification location="36" monoisotopicMassDelta="304.207146">
      <cvParam cvRef="PSI-MS" accession="MS:1001460" name="unknown modification" value="TMTpro"/>
    </Modification>
  </Peptide>

This is of course correctly reported PSM wise, but it crashes my downstream percolator process which only accepts unimod IDs. I guess it could be updated to the UNIMOD identifier (which I guess is 2016). I'm on 2019.07.03, so I'll test with the latest release also (although I didnt see it in release notes).

FarmGeek4Life commented 4 years ago

MS-GF+ has an old copy of unimod.obo (from 2016); the most recently released version does not know about TMTpro (especially since the TMTpro entries are the most recent entries in UNIMOD, added in September 2019). Release v2020.03.12 contains an updated unimod.obo file, which should allow TMTpro to resolve properly.

glormph commented 4 years ago

Thanks! You may have forgotten to include the actual MSGFPlus_v202000312.zip file in the release on github though, I think I can only find the source?

FarmGeek4Life commented 4 years ago

Forgot to drag-and-drop the zip file... It should be there now.

glormph commented 4 years ago

Unfortunately now I get this in stdout:

  ...
  Search progress: 24 / 24 tasks, 100.00%               11.19 minutes elapsed
  Search progress: 24 / 24 tasks, 100.00%               11.19 minutes elapsed
  Writing results...
  Error: Could not parse element/molecule "Al"

stderror:

  Exception in thread "main" java.lang.ExceptionInInitializerError
        at edu.ucsd.msjava.mzid.AnalysisProtocolCollectionGen.getModificationParam(AnalysisProtocolCollectionGen.java:212)
        at edu.ucsd.msjava.mzid.AnalysisProtocolCollectionGen.generateSpectrumIdentificationProtocol(AnalysisProtocolCollectionGen.java:114)
        at edu.ucsd.msjava.mzid.AnalysisProtocolCollectionGen.<init>(AnalysisProtocolCollectionGen.java:29)
        at edu.ucsd.msjava.mzid.MZIdentMLGen.generateAnalysisProtocolCollection(MZIdentMLGen.java:782)
        at edu.ucsd.msjava.mzid.MZIdentMLGen.init(MZIdentMLGen.java:96)
        at edu.ucsd.msjava.mzid.MZIdentMLGen.<init>(MZIdentMLGen.java:90)
        at edu.ucsd.msjava.ui.MSGFPlus.runMSGFPlus(MSGFPlus.java:442)
        at edu.ucsd.msjava.ui.MSGFPlus.runMSGFPlus(MSGFPlus.java:110)
        at edu.ucsd.msjava.ui.MSGFPlus.main(MSGFPlus.java:58)
  Caused by: java.lang.NullPointerException
        at edu.ucsd.msjava.mzid.Unimod.readUnimodOBOFile(Unimod.java:65)
        at edu.ucsd.msjava.mzid.Unimod.<init>(Unimod.java:28)
        at edu.ucsd.msjava.mzid.Unimod.<clinit>(Unimod.java:82)
        ... 9 more

Is there something weird in the new obo file? I found one Aluminium term, nr. 1910, but it didnt especially look strange.

FarmGeek4Life commented 4 years ago

The something weird in the new obo file is modifications that use unimod 'bricks' that did not exist in the previous release, like aluminium, platinum, and ruthenium. Release 2020.03.14 should fix the problem; I haven't tested it to be sure.

It's unfortunate that these are hard-coded, but they are not available in the unimod.obo file; maybe sometime a task to do is convert MS-GF+ to using the unimod.xml file, since the obo file is generated from that file, and the xml contains the 'brick' definitions.

glormph commented 4 years ago

Thanks very much! I tested and 2020.03.14 seems to work well!

higsch commented 4 years ago

:D I just had the exact same issue. Nice to see that my lab colleague @glormph ran into the same issue. Thanks for fixing though!