[FEATURE] ProteinProphetAdapter

TPP PeptideProphet and ProteinProphet adapter. This version is working for XTandemAdapter idXML results. TPP/xinteract program will do the PeptideProphet analysis on the peptideID results and TPP/ProteinProphet will do the protein inference. 
Tests are added into the SEARCHENGINES folder.
jep, Hannes, that's how it is (or should be). I would be seriously 
amazed if there was a bug in the MetaValue code.

Am 8/21/2014 12:36 AM, schrieb Hannes Roest:
>> @@ -362,7 +362,7 @@ namespace OpenMS
>>                   f << h.getScore() << "\"" << "/>\n";
>>                 }
>>               }
>> -            else if (it->metaValueExists("XTandem_score"))
>> +            else // if (it->metaValueExists("XTandem_score")) // it's not registered...
>
> This seems quite strange to me, looking at the implementation of Metavalue I dont think that this is correct behavior. E.g. if `metaValueExists` returns false, then it cannot contain the metavalue otherwise there is something seriously wrong. Are you saying that this has happened to you in the OpenMS code? If so, I would be quite curious to see how this possibly could happen. If you use `setMetaValue` then it _needs_ to be registered, I dont see how it is possible to have the metavalue but not being registered??
>
> Basically `MetaInfoInterface::setMetaValue` calls `MetaInfo::setValue` which calls `MetaInfoRegistry::getIndex` in all cases. Looking at https://github.com/OpenMS/OpenMS/blob/develop/src/openms/source/METADATA/MetaInfoRegistry.cpp#L231 the name gets then registered if it was not found, so to me it seems that it must be registered if it is present?
> Maybe @aiche or @cbielow could comment here, am I missing something here?
>
> I do believe that it can happen to have a DataValue::EMPTY as Metavalue which will produce a `metaValueExists` to be true while actually no meta-value is present. This could be captured by
> ```
> if (it->metaValueExists("XTandem_score") && it->getMetaValue("XTandem_score") != DataValue::EMPTY)
> ```
>
> ---
> Reply to this email directly or view it on GitHub:
> https://github.com/OpenMS/OpenMS/pull/934/files#r16510688
>