Nesvilab / philosopher

PeptideProphet, PTMProphet, ProteinProphet, iProphet, Abacus, and FDR filtering
https://philosopher.nesvilab.org
GNU General Public License v3.0
111 stars 19 forks source link

Philosopher report command fails at "Creating Protein FASTA report" #17

Closed chhh closed 6 years ago

chhh commented 6 years ago

Tried running with two small mzml files, just 1000 spectra in each. Philosopher report failed, see log below.

Full log: log_2018-02-28_15-05-03.txt

All the input files (mzml, fastsa, fragger.params) and the whole output directory are on the server in my data folder "for_felipe".

Short log:

System info:
System OS: Windows 10, Architecture: AMD64
Java Info: 1.8.0_144, Java HotSpot(TM) 64-Bit Server VM, Oracle Corporation

Version info:
MSFragger-GUI version 4.9
MSFragger version 20171106
Philosopher version 20180227 (build 201802271552)

Will execute 11 commands:
java -jar C:\data\andy\fragger-programs\MSFragger-20171106\MSFragger-20171106.jar C:\data\andy\fragger-gui-test-output-04\fragger.params C:\data\mzml\1000-scans-anonymous\file-001.mzML C:\data\mzml\1000-scans-anonymous\file-002.mzML 

java -cp C:\projects\msfragger-gui\MSFragger-GUI\build\classes umich.msfragger.util.FileMove C:\data\mzml\1000-scans-anonymous\file-001.pepXML C:\data\andy\fragger-gui-test-output-04\file-001.pepXML 

java -cp C:\projects\msfragger-gui\MSFragger-GUI\build\classes umich.msfragger.util.FileMove C:\data\mzml\1000-scans-anonymous\file-002.pepXML C:\data\andy\fragger-gui-test-output-04\file-002.pepXML 

C:\data\andy\fragger-programs\philosopher_windows_amd64_20180227.exe workspace --clean 

C:\data\andy\fragger-programs\philosopher_windows_amd64_20180227.exe workspace --init 

C:\data\andy\fragger-programs\philosopher_windows_amd64_20180227.exe peptideprophet --decoy rev --decoyprobs --ppm --accmass --nonparam --expectscore --database C:\data\andy\fasta\Uniprot.20151009.Hs.revDecoys.fa C:\data\andy\fragger-gui-test-output-04\file-001.pepXML 

C:\data\andy\fragger-programs\philosopher_windows_amd64_20180227.exe peptideprophet --decoy rev --decoyprobs --ppm --accmass --nonparam --expectscore --database C:\data\andy\fasta\Uniprot.20151009.Hs.revDecoys.fa C:\data\andy\fragger-gui-test-output-04\file-002.pepXML 

C:\data\andy\fragger-programs\philosopher_windows_amd64_20180227.exe proteinprophet --output interact interact-file-001.pep.xml interact-file-002.pep.xml 

C:\data\andy\fragger-programs\philosopher_windows_amd64_20180227.exe database --annotate C:\data\andy\fasta\Uniprot.20151009.Hs.revDecoys.fa 

C:\data\andy\fragger-programs\philosopher_windows_amd64_20180227.exe filter --sequential --pepxml C:\data\andy\fragger-gui-test-output-04 --protxml C:\data\andy\fragger-gui-test-output-04\interact.prot.xml 

C:\data\andy\fragger-programs\philosopher_windows_amd64_20180227.exe report 

~~~~~~~~~~~~~~~~~~~~~~

.....
.....
.....

INFO[15:02:39] Calculating Spectral Counts                  

INFO[15:02:39] Done                                         

Process finished, exit value: 0
Executing command:
$> C:\data\andy\fragger-programs\philosopher_windows_amd64_20180227.exe report 
Process started
panic: runtime error: index out of range

goroutine 1 [running]:
github.com/prvst/philosopher/lib/rep.Run(0xc0420866f0, 0x24, 0xc042086720, 0x27, 0xc042098500, 0x46, 0xc04209a380, 0x36, 0xc042086750, 0x2d, ...)
    /home/felipevl/go/src/github.com/prvst/philosopher/lib/rep/rep.go:276 +0x703
github.com/prvst/philosopher/cmd.glob..func14(0x2c1c0a0, 0x2c3f208, 0x0, 0x0)
    /home/felipevl/go/src/github.com/prvst/philosopher/cmd/report.go:26 +0xea
github.com/spf13/cobra.(*Command).execute(0x2c1c0a0, 0x2c3f208, 0x0, 0x0, 0x2c1c0a0, 0x2c3f208)
    /home/felipevl/go/src/github.com/spf13/cobra/command.go:757 +0x2c8
github.com/spf13/cobra.(*Command).ExecuteC(0x2c1c300, 0xaf5b05, 0xc042091f78, 0x404083)
    /home/felipevl/go/src/github.com/spf13/cobra/command.go:843 +0x311
github.com/spf13/cobra.(*Command).Execute(0x2c1c300, 0x1, 0x0)
    /home/felipevl/go/src/github.com/spf13/cobra/command.go:791 +0x32
github.com/prvst/philosopher/cmd.Execute()
    /home/felipevl/go/src/github.com/prvst/philosopher/cmd/root.go:32 +0x34
main.main()
    /home/felipevl/go/src/github.com/prvst/philosopher/main.go:19 +0x77

INFO[15:02:39] Executing report                             
INFO[15:02:39] Creating Protein FASTA report                

Process finished, exit value: 2
prvst commented 6 years ago

I'll take a look a them for you today, but just looking at the output log I see that the PeptideProphet models failed for almost all the charge states, you have less than 200 PSMs in there. Also, try using the same decoy tag for both the filtering and the peptide validation, you have 'rev' for the validation and 'rev_' for the filtering.

chhh commented 6 years ago
prvst commented 6 years ago

The tag is not only used for finding decoys on the fasta file, it is used internally for other purposes, that's why its important to have it defined exactly the same way every time it's requested.

chhh commented 6 years ago

Ok, that's much simpler than the way it is set up now. I'll sync the tag between all 3 commands.

prvst commented 6 years ago

You can add a text field to one of the GUI elements, like the one with the the search parameters, and then just use that for all the others commands, for example.

chhh commented 6 years ago

Yeah, maybe I'll do that too. I'll probably just move the database definition to a separate tab.