Hi Bill,

While the currently support Visual Studio version for the TPP is the  
(not-free) 2005 Professional version, you might want to first give the  
(free) 2008 Express version a try.  You would not be able to build the  
SPC raw file converters (readw, etc), and you will probably turn up a  
few places in the code that you'd need to change to build under 2008  
Express.

Hope this helps,

Natalie


On Oct 6, 2009, at 6:13 AM, bill wrote:

>
> Thanks for your help. My next step was to run it in a debugger but I
> don't have a visual studio license. I hate to do it but I guess I'll
> have to give Microsoft more money.I'll post the results if I figure it
> out.
> Bill
>
> On Oct 6, 8:44 am, Brendan <[email protected]> wrote:
>> Hi Bill,
>> I think you are going to have to build it yourself, and do some  
>> printf
>> debugging to get yourself through this one.  I looked over what you
>> wrote, and the only issue I can see is that next_score appears to be
>> 221 and not 210, but that only makes the final value further from  
>> what
>> is reported.
>>
>> At this point I'd start having the code print out values for me to
>> check my assumptions.  I am afraid I can't help you with that,  
>> though.
>>
>> By the way, I can't take any credit for the k-score discriminant
>> function.  It is the same function created for the original Keller
>> OMICS paper where the score was introduced, and mimics Comet
>> discriminant score.  I created the discriminant score for X! Tandem
>> native scoring.
>>
>> The expect_wt_ and len_wt_ values are initialize to zero in the
>> TandemDiscrimFunction base class.
>>
>> --Brendan
>>
>> On Oct 5, 12:19 pm, bill <[email protected]> wrote:
>>
>>
>>
>>> Thanks again for the feedback! We compared plain old expect values  
>>> to
>>> those with the Brendan's discriminant scoring and our samples
>>> performed better with Brendan's scoring. So, now I'm back to  
>>> figuring
>>> out how fval is calculated.
>>
>>> I'm trying to maually work through calculating the fval for an  
>>> xtandem
>>> (k-score) result.
>>
>>> My stripped down pep.xml entry looks like this:
>>
>>> <spectrum_query spectrum="010319_f16.00923.00923.1"
>>>   <search_result>
>>>     <search_hit hit_rank="1" peptide="AISDAMFANPK" >
>>>       <search_score name="hyperscore" value="253"/>
>>>       <search_score name="nextscore" value="221"/>
>>>       <search_score name="expect" value="0.79"/>
>>>       <analysis_result analysis="peptideprophet">
>>>         <peptideprophet_result probability="0.1732"
>>> all_ntt_prob="(0.0000,0.0000,0.1732)">
>>>           <search_score_summary>
>>>             <parameter name="fval" value="1.0108"/>
>>
>>> I'm plugging the values into the getDiscriminantScore method in
>>> TandemDiscrimFunction:
>>
>>> double TandemDiscrimFunction::getDiscriminantScore(SearchResult*
>>> result)
>>> {
>>>   TandemResult* tresult = (TandemResult*)(result);
>>>   double tot = const_;
>>>   double disc = score_wt_ * log((double)tresult->hyper_) +  
>>> expect_wt_
>>> * (0-log((double)tresult->expect_)) + delta_wt_ * (1.0 - (tresult- 
>>> >next_ / tresult->hyper_));
>>
>>>   if (len_wt_)
>>>       disc /= len_wt_ * sqrt((double)strlen(tresult->peptide_));
>>>   tot += disc;
>>>   if (use_expect_) {
>>>     tot = 3 * tot  - 8;
>>>   }
>>>   return tot;
>>
>>> }
>>
>>> I'm initailizing through TandemKscoreDF.cxx with TandemKscoreDF(1,
>>> false)
>>
>>> static double consts[] = {-13.287, -28.708, -31.083, -31.083,
>>> -31.083};
>>> static double score_wts[] = {2.256, 4.91, 4.983, 4.983, 4.983};
>>> static double delta_wts[] = {14.346, 10.882, 18.091, 18.091,  
>>> 18.091};
>>
>>> if (!use_expect)
>>> {
>>>         const_ = consts[charge];
>>>         score_wt_ = score_wts[charge];
>>>         delta_wt_ = delta_wts[charge];
>>
>>> }
>>
>>> So my manual calculation looks like this:
>>> tot = -28.708
>>> disc = 4.91 * ln(253) + 0 * (0 - ln(0.79)) + 10.882 * (1.0 -
>>> (210/253)) =
>>>        4.91 * 5.533 + 0 * 0.236 + 10.882 * 0.169 =
>>>        27.169 + 0 + 1.8495 =
>>>        29.185
>>
>>> tot = -28.708 + 29.185 = 0.311
>>
>>> But, I'm trying to reproduce the fval of 1.0108. I'm not an
>>> experienced C++ programmer. Am I missing where expect_wt_ and  
>>> len_wt_
>>> are initaillized? Is ther another step to the calculation?
>>
>>> Thanks,
>>> Bill
>>
>>> On Sep 17, 1:05 pm, David Shteynberg  
>>> <[email protected]>
>>> wrote:
>>
>>>> The EXPECTSCORE option was something that was added after f-val at
>>>> Alexey request.  I believe the reason for the inclusion of this  
>>>> option
>>>> is in the usage statement:
>>
>>>> E [only use Expect Score as the Discriminant(applies only to X! 
>>>> Tandem data,
>>>>      helpful for data with homologous top hits e.g. phospho or  
>>>> glyco)]
>>
>>>> -David
>>
>>>> On Thu, Sep 17, 2009 at 4:54 AM, Brendan <[email protected]>  
>>>> wrote:
>>
>>>>> Hi Jimmy and Bill,
>>>>> I am sure using EXPECTSCORE in place of the fval has received less
>>>>> testing for the veracity of its probabilities, something Alexei  
>>>>> was
>>>>> adamant about when I developed the fval for the X! Tandem native
>>>>> score.  You have to run searches with decoys and look at q-q  
>>>>> plots for
>>>>> this.  Also, Alexei was initially dubious whether PeptideProphet  
>>>>> would
>>>>> work at all on X! Tandem native, because the expect scoring
>>>>> distribution has a significant left skew, and is far from normal,
>>>>> which I believe I was able to mitigate somewhat with the  
>>>>> variables I
>>>>> added in the fval.  And, finally, my own ROC plots showed this  
>>>>> fval
>>>>> doing a better job at discriminating between true- and false- 
>>>>> positive
>>>>> hits.
>>
>>>>> So, go cautiously into throwing that switch, and make your own
>>>>> estimations of benefit v. cost.
>>
>>>>> --Brendan
>>
>>>>> On Sep 16, 9:36 am, Jimmy Eng <[email protected]> wrote:
>>>>>> Bill,
>>
>>>>>> If you're interested in Tandem's E-value , there is an option  
>>>>>> that
>>>>>> David added in a long time ago that allows the Tandem's E-value  
>>>>>> to be
>>>>>> used in place of the discriminant function.  The xinteract  
>>>>>> option to
>>>>>> invoke this is "-OE".  Looks like this adds "EXPECTSCORE" to the
>>>>>> PeptideProphetParser command line.
>>
>>>>>> On Wed, Sep 16, 2009 at 5:52 AM, Brendan  
>>>>>> <[email protected]> wrote:
>>
>>>>>>> Hi Bill,
>>>>>>> I am the one who wrote it several years back.  I derived the  
>>>>>>> fval
>>>>>>> somewhat by voodoo, using analysis tools I created in CPAS.   
>>>>>>> It tested
>>>>>>> quite well, and if anything produces slightly conservative
>>>>>>> probabilities, where I felt the k-score fval was slightly  
>>>>>>> optimistic
>>>>>>> in its estimates (but only slightly).  Note that the k-score  
>>>>>>> fval was
>>>>>>> derived for the scoring function originally published by  
>>>>>>> Keller, et
>>>>>>> al, before the score was incorporated into X! Tandem, and  
>>>>>>> therefore
>>>>>>> makes no use of X! Tandem's expect value.
>>
>>>>>>> These fval calculations can be found in <tpproot>/src/ 
>>>>>>> Validation/
>>>>>>> DiscriminateFunction/Tandem (for native scoring) and Comet  
>>>>>>> (for k-
>>>>>>> score).
>>
>>>>>>> I remember that a peptide length correction (I think  
>>>>>>> sqrt(length)
>>>>>>> actually) was important in the final native fval.  Because of  
>>>>>>> how
>>>>>>> aggressively X! Tandem weights the presence of matching ions,  
>>>>>>> a larger
>>>>>>> peptide is more likely to produce a wider spread between its  
>>>>>>> best and
>>>>>>> second best score, the key factor in the expectation value.
>>
>>>>>>> Hope that helps.
>>
>>>>>>> --Brendan
>>
>>>>>>> On Sep 15, 2:30 pm, bill <[email protected]> wrote:
>>>>>>>> If this is not easily available can you direct me to the  
>>>>>>>> class/script/
>>>>>>>> method that creates the xtandem fval?
>>>>>>>> Thanks,
>>>>>>>> Bill
>>
>>>>>>>> On Sep 14, 4:16 pm, Bill Nelson <[email protected]> wrote:
>>
>>>>>>>>> Can you please explain how ProteinProphet calculates the  
>>>>>>>>> fval from the
>>>>>>>>> xtandem output?
>>>>>>>>> It doesn't seem to be tracking the xtandem E-value, what  
>>>>>>>>> else is
>>>>>>>>> included?
>>>>>>>>> Thanks,
>>>>>>>>> Bill
> >


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"spctools-discuss" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/spctools-discuss?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to