Nesvilab / FragPipe

A cross-platform proteomics data analysis suite
http://fragpipe.nesvilab.org
Other
205 stars 38 forks source link

Philosopher crashes when there are no PSMs passing the filtering threshold #650

Closed Dmorgen closed 2 years ago

Dmorgen commented 2 years ago

search stopped with the following error: Process 'PhilosopherFilter' finished, exit code: 2 Process returned non-zero exit code, stopping

search was LFQ-MBR with two additional modifications. please see both log and search parameters.

log_2022-04-17_15-25-04.txt

fragger.zip

Thanks! David.

fcyu commented 2 years ago

This issue is from two bugs: one is already known, and the other is unknown.

The known one is from Percolator: all posterior error probabilities are one because of a high scoring decoy PSM. I am not sure if is has been fully fixed. Maybe Kevin can answer this question.

The unknow one is from Pholosopher. Because all posterior error probabilities are one, there are no PSMs passing the filtering, which crashed Philosopher. @prvst Can you take a look? I remember that we made Philosopher to print a warning, and continue if there are no PSMs passing the threshold. Not sure if it is something else.

PhilosopherFilter [Work dir: H:\Proteomics\Projects\RnD\Glycoenrichment\Glyco_enrichment_paper\INCPM_11610_PNGase\FP_closed\TEAA_3]
C:\Users\protolab\Downloads\FragPipe-17.1\fragpipe\tools\philosopher\philosopher.exe filter --sequential --prot 0.01 --tag rev_ --pepxml H:\Proteomics\Projects\RnD\Glycoenrichment\Glyco_enrichment_paper\INCPM_11610_PNGase\FP_closed\TEAA_3 --protxml H:\Proteomics\Projects\RnD\Glycoenrichment\Glyco_enrichment_paper\INCPM_11610_PNGase\FP_closed\combined.prot.xml --razorbin H:\Proteomics\Projects\RnD\Glycoenrichment\Glyco_enrichment_paper\INCPM_11610_PNGase\FP_closed\ABC_1\.meta\razor.bin
INFO[15:24:56] Executing Filter  v4.2.1                     
INFO[15:24:56] Fetching razor assignment from: H:\Proteomics\Projects\RnD\Glycoenrichment\Glyco_enrichment_paper\INCPM_11610_PNGase\FP_closed\ABC_1\.meta\razor.bin: 34012 razor groups imported. 
INFO[15:24:56] Processing peptide identification files      
INFO[15:24:56] Parsing interact-EX1_YL_16110_teaa3_14042022.pep.xml 
INFO[15:25:00] 1+ Charge profile                             decoy=0 target=0
INFO[15:25:00] 2+ Charge profile                             decoy=1716 target=2458
INFO[15:25:00] 3+ Charge profile                             decoy=2942 target=5411
INFO[15:25:00] 4+ Charge profile                             decoy=1480 target=2667
INFO[15:25:00] 5+ Charge profile                             decoy=1363 target=1579
INFO[15:25:00] 6+ Charge profile                             decoy=653 target=643
INFO[15:25:00] Database search results                       ions=18616 peptides=16584 psms=20912
INFO[15:25:00] Converged to 0.00 % FDR with 0 PSMs           decoy=0 threshold=10 total=0
INFO[15:25:00] Converged to 0.00 % FDR with 0 Peptides       decoy=0 threshold=10 total=0
INFO[15:25:00] Converged to 0.00 % FDR with 0 Ions           decoy=0 threshold=10 total=0
INFO[15:25:03] Protein inference results                     decoy=8443 target=8617
INFO[15:25:03] Converged to 1.27 % FDR with 236 Proteins     decoy=3 threshold=0.9984 total=239
panic: reflect: reflect.flag.mustBeAssignable using unaddressable value

goroutine 1 [running]:
reflect.flag.mustBeAssignableSlow(0x16)
    /usr/lib/go-1.13/src/reflect/value.go:247 +0x13f
reflect.flag.mustBeAssignable(...)
    /usr/lib/go-1.13/src/reflect/value.go:234
reflect.Value.Set(0xbab380, 0xc0001b0060, 0x16, 0xbab380, 0x0, 0x16)
    /usr/lib/go-1.13/src/reflect/value.go:1531 +0x42
github.com/vmihailenco/msgpack/v5.ptrValueDecoder.func1(0xc00011c900, 0xbab380, 0xc0001b0060, 0x16, 0xbab380, 0xc0001b0060)
    /home/prvst/go/pkg/mod/github.com/vmihailenco/msgpack/v5@v5.3.5/decode_value.go:130 +0x103
github.com/vmihailenco/msgpack/v5.(*Decoder).DecodeValue(0xc00011c900, 0xbab380, 0xc0001b0060, 0x16, 0xc0001b0060, 0x16)
    /home/prvst/go/pkg/mod/github.com/vmihailenco/msgpack/v5@v5.3.5/decode.go:309 +0x93
github.com/vmihailenco/msgpack/v5.(*Decoder).Decode(0xc00011c900, 0xb0ee60, 0xc00149e4c0, 0xc00011b000, 0xc000406100)
    /home/prvst/go/pkg/mod/github.com/vmihailenco/msgpack/v5@v5.3.5/decode.go:288 +0x1e5
philosopher/lib/sys.Restore(0xbab380, 0xc0001b0060, 0xc000705ae0, 0xd, 0x0)
    /workspace/philosopher/lib/sys/sys.go:269 +0x235
philosopher/lib/id.(*PepIDList).Restore(0xc0001b0060, 0xc4c78d, 0x3)
    /workspace/philosopher/lib/id/pep.go:952 +0x101
philosopher/lib/fil.Run(0xc00001c840, 0x24, 0xc000024540, 0x65, 0xc000022460, 0x49, 0xc0000cc500, 0x74, 0xc0000245b0, 0x6b, ...)
    /workspace/philosopher/lib/fil/fil.go:111 +0x1de8
philosopher/cmd.glob..func5(0x2314c80, 0xc0000f6580, 0x0, 0xb)
    /workspace/philosopher/cmd/filter.go:43 +0x45b
github.com/spf13/cobra.(*Command).execute(0x2314c80, 0xc0000f64d0, 0xb, 0xb, 0x2314c80, 0xc0000f64d0)
    /home/prvst/go/pkg/mod/github.com/spf13/cobra@v0.0.6/command.go:844 +0x2b1
github.com/spf13/cobra.(*Command).ExecuteC(0x2316c00, 0x456570, 0xc0000c7f48, 0xc0000c7f40)
    /home/prvst/go/pkg/mod/github.com/spf13/cobra@v0.0.6/command.go:945 +0x31e
github.com/spf13/cobra.(*Command).Execute(...)
    /home/prvst/go/pkg/mod/github.com/spf13/cobra@v0.0.6/command.go:885
philosopher/cmd.Execute()
    /workspace/philosopher/cmd/root.go:35 +0x34
main.main()
    /workspace/philosopher/main.go:25 +0x83
Process 'PhilosopherFilter' finished, exit code: 2
Process returned non-zero exit code, stopping

Thanks,

Fengchao

yangkl96 commented 2 years ago

Hi David,

Can you try the FragPipe pre-release here: https://drive.google.com/drive/folders/1g1Z_v_eWKhIuuC2wTqu0WahkIAgEBxzi

In the MSBooster section of the Validation tab, do not check the box for "Use correlated features". The use of correlated features is probably overpromoting a decoy and causing the issue

Let us know if this helps, Kevin

prvst commented 2 years ago

@fcyu probably something else, and I can see it's related to @guoci changes. I'll check with him.

Dmorgen commented 2 years ago

@yangkl96 will do - thanks!

guoci commented 2 years ago

I have just pushed a fix for the Philosopher error. https://github.com/Nesvilab/philosopher/commit/95084a9129c8ffe174f86cb322c89e437c7906ed @prvst, that error is not caused by my changes