Getting modified peptides into skyline

support
Getting modified peptides into skyline Jan Refsgaard  2013-02-14 04:27
 
I have converted some Thermo rawfiles to mzML (with msconvert.exe), and subsequently altered the <binary>fields to only contain the peaks identified by maxquant and updated the checksum, all 'pointers' and the 3 'array length' attributes accordingly, for none modified peptides I can build a library by supplying skyline with my modified mzML file and a ssl file (build from max quants msms.txt), but for some reason I cannot get skyline to accept modifications

snippet of my SSL file:
file scan charge sequence modifications
...
20130204_QE5_LC3_KBE_QC_MNT_HELA_01_filtered.mzML 2006 3 AGMTHIVREVDR AGM[+15.994914]THIVREVDR
...

How do I tell skyline that the modication of weight +15.994 is an oxygen?

I have also looked at the sql tables of the biblospeck files generated by skyline to compare my constructed library with 'custom libraries' and even there I cannot see which column maps the weight to modification...

I could of course spend a week or two writing a parser to convert MaxQuant files into *.mzid files and then everything should work (I think)... but there must be a simpler way :)

Thanks for your help, keep up the good work
Jan, the confused bioinformatician :)
 
 
Brendan MacLean responded:  2013-02-14 14:23
Hi Jan,
I am not super familiar with the SSL parser, but it looks like it takes whatever is between the brackets and calls atof() on it, using the result as the delta mass. My guess is that atof() does not like the plus symbol at the beginning of your "+15.994914". So, it stops and returns zero. This should certainly be fixed, as it is clearly unexpected and annoying, but I am guessing you can get around this in a lot less than a week by simply running a string replace of [+ to [ on your file. Give it a try at least. This will be fixed in the next release. Thanks for reporting it.

Kaipo Tamura, the developer currently working on the library builder code, has recently implemented support for building libraries directly from the MaxQuant Andromeda msms.txt file. That will also be available in the next release, probably within 2 weeks.

So, things should look a lot better for your case in a couple weeks, but until then, hopefully I have provided you with a workaround that will allow you to continue forward.

Thanks for your interest in using Skyline for your research.

--Brendan
 
Jan Refsgaard responded:  2013-02-15 02:25
Hi Brendan, thanks for the quick response, the string replacing change anything, but I think the ssl file should have them otherwise it is kinda misleading that the example file at:
http://proteome.gs.washington.edu/software/bibliospec/documentation/egssl.txt
have them and the website at http://proteome.gs.washington.edu/software/bibliospec/documentation/fileFormats.html#lib
uses the following example peptide: TASEFDC[+57.0]SAIO[+16.0]AQDK

also the c++ atof implementation should be able to handle the +, both the 98 and 11 implementation of c++ is as follows:
"A valid floating point number for atof using the "C" locale is formed by an optional sign character (+ or -), followed by..."

Though I am happy to hear you are making progress supporting MaxQuant!...

Do you have any other suggesting? - other than waiting :), is there some format

PS for modifications MaxQuant also uses a modifications.xml file that can be modifier from the user interface, so maybe Kaipo Tamura have to parse that along with msms.text so costume modifications can also be converted
 
Brendan MacLean responded:  2013-02-17 21:20
Hi Jan,
Thanks for sending your files. I think I see the problem. Your SSL files contain both a "sequence" column and a "modifications" column, with the former containing the bare unmodified sequence and the latter containing the modified sequence with the delta mass annotations we have been discussing. It looks to me like the Skyline library parser is expecting only the "sequence" column, but parses it for modification annotations, which you are never supplying:

    // add the required columns
    fileReader.addRequiredColumn("file", sslPSM::setFile);
    fileReader.addRequiredColumn("scan", sslPSM::setScanNumber);
    fileReader.addRequiredColumn("charge", sslPSM::setCharge);
    fileReader.addRequiredColumn("sequence", sslPSM::setModifiedSequence);

    // add the optional columns
    fileReader.addOptionalColumn("score-type", sslPSM::setScoreType);
    fileReader.addOptionalColumn("score", sslPSM::setScore);

This is all open source, and you sound like you are a programmer. So, you may want to have a closer look yourself:

http://proteowizard.svn.sourceforge.net/viewvc/proteowizard/trunk/pwiz/pwiz_tools/BiblioSpec/src/SslReader.cpp?revision=4249&view=markup

See lines 88-95.

I think renaming your "modifications" column to "sequence" and removing your current "sequence" column should get you what you are looking for. Let me know, if it does not.

Thanks for your persistence and for sending your files.

--Brendan