Week 11: Preparing the New Suitability Calculation
The plan on how to correct the suitability to behave more linear is to correct the number of top deNovo hits found. This is done with a factor which is calculated like this:
#identifications with only deNovo / #identifications with only the database
To calculate this factor two individual identification searches need to be performed, one with only the database without the deNovo peptide and one the other way around. It is very crucial that those searches are done with the same settings as the original database+deNovo one. Currently those infomations are not completely exported by the OpenMS-Adapters that bind the search engines into the library. Only a few informations are written. So that's what I did first this week.
Export Adapter Parameters
I added a static function to DefaultParamHandler (This is the OpenMS class that is build for parameter stuff.) which takes a Param object (storage for parameters), a MetaInfoInterface object (here meta values can be written) and a string which is appended to the parameter name as a prefix.
The parameters that are already exported are exported in an extra section called SearchParameters. That's where I want the other parameters too. Therefore the I added the new function to all the search engine adapters. The only thing that I did in addition was add a function to TOPPBase, which is the class where all the general funtions for each tool are keept. The function I added was a pretty simple one. It just returns a string which consists of the tool name and some other stuff. This basicly just returns the prefix which will be used for the parameters.
After all of this was done the "only" thing left was to fix all the test for all the adapters I changed. This took a lot of time because I also had some problems getting all the adapters and test to work in the first place before I even could change the test files.
After this was done I created a PR for this.
Suitability changes
The second important thing I did this week was to put FDR calculations into the suitability calculation. This was rather simple because there is an existing class that calculates q-values.
I than worked on the existing PR for the Suitability class. Here I added a lot of docu and also changed some minor implementations.
So for now I'm only waiting for the two PRs to pass after which I will be able to implement the corrected version of the suitability. This will hopefully happen next week.
Comments
Post a Comment