Issue 926: Implement Bruker Paser support in BlibBuild

issues
Status:resolved
Assigned To:Brendan MacLean
Type:Todo
Area:Skyline
Priority:2
Milestone:23.1
Opened:2022-12-02 15:28 by Brendan MacLean
Changed:2023-12-13 09:04 by Matt Chambers
Resolved:2023-12-13 09:04 by Matt Chambers
Resolution:Fixed
Closed:
2022-12-02 15:28 Brendan MacLean
Title»Implement Bruker Paser support in BlibBuild
Assigned To»Matt Chambers
Type»Todo
Area»Skyline
Priority»2
Milestone»23.1
Matt, we need to create a variant on what you implemented for DIA-NN for Bruker Paser in BlibBuild.

The Van Eyk lab at Cedars Sinai is sharing data with us for this here:

https://panoramaweb.org/MacCoss/brendan/Transfer/Cedars/project-begin.view

I gave you permission to access this folder.

I think the file organization is very similar to DIA-NN with the following equivalencies:
1. Canonical Library: _ip2_ip2_data_paser_spectral_library_<lib-name>.tsv => <name>.speclib
2. Search Result: <search-name>_result.tsv => <name>.*.tsv

Where the _ip2_ip2_data_paser_spectral_library_<lib-name>.tsv format is a derivative of the TSVReader.cpp format without any analysis file information.

It has also become clear that what is implemented for DIA-NN is less than ideal because it starts with a canonical library and goes out looking for the best matching search result in the folder with that library. However, the relationship between the canonical library and search results files is intentionally one to many. You are not necessarily expected to be able to find a single "best" search result file from the library in a folder.

Though, certainly, you might be able to, and you can also certainly build a blib file entirely from the canonical library without any detailed search results information.

It's tricky, but we need to keep working on both DIA-NN and Paser support, and fortunately, we have great collaborators for this work.

2022-12-02 16:24 Brendan MacLean
Perhaps TSVReader.cpp can be adapted to:
1. Determine if the TSV is a _results.tsv of the Paser type.
2. If so, find the canonical library TSV and parse it to build a library with no retention times table, and then use the original TSV to populate a retention times table.
3. If the user has pointed to just a canonical library... I am conflicted whether we should simply build a library without a retention times table, or behave as we do today for a .speclib file looking for a single matching _results.tsv file in the same folder. Probably we should be consistent an allow both directions for either Paser or DIA-NN.

2023-12-13 09:04 Matt Chambers
resolve as Fixed
Statusopen»resolved
Assigned ToMatt Chambers»Brendan MacLean