Nesvilab / FragPipe

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

Philosopher: panic: runtime error: index out of range [1] with length 0 in database annotation command. #544

Closed Irkcy closed 2 years ago

Irkcy commented 2 years ago

Hi Fragpipe

I downloaded DIA files and DDA files from PXD011691(http://proteomecentral.proteomexchange.org/cgi/GetDataset?ID=PXD011691). Then I used the FLI_180509_JMK_Brain_DIA_40seg_Biog_S2-2.raw this file and turned it into mzML format. Similarly, I converted FLI_170706_JMK_Pool_Brain_HpH_6fr_orig_DDA_MS1_AGC_5e5_Fr1.raw this file into mzML format. Then I used FragPipe v17.1. There is no DIA-Umpire.workflow in the Select a workflow option. Then I copied the DIA-Umpire.workflow this file from the FragPipe V17.0 package into the FragPipe V17.1 package. DIA-Umpire now is available in the Select a workflow option of FragPipe V17.1. Then I followed Build a library from combined DDA and DIA data of Github(https://fragpipe.nesvilab.org/docs/tutorial_DIA.html). When I ran part A with FLI_180509_JMK_Brain_DIA_40seg_Biog_S2-2.mzML, the following error occured: ERROR: Cannot open data stream. ERROR: Failed to read in file, check if the correct file-format was used. I wonder if you could help me with this problem?

Best, Irkcy

1638346147(1) a4edd46132d08797566f891c6be7263 4414905afcaff37c7b9292701b59cc8 e942aa1e972dec8b8af6342b2d5ed63 a2f74d42ef09fb24d5463bc2bde1f4a d6e5717bb730338f314cfbf9ec6d0a1 1638347855(1) log_2021-11-30_11-47-30.txt

fcyu commented 2 years ago

There is no DIA-Umpire.workflow in the Select a workflow option. Then I copied the DIA-Umpire.workflow this file from the FragPipe V17.0 package into the FragPipe V17.1 package.

You shouldn't do that. We have DIA_SpecLib_Quant and DIA_DIA-Umpire_SpecLib_Quant workflows in the 17.1. The first one is using MSFragger-DIA and the second one is using DIA-Umpire. Load the one you like, load data, load fasta, check digestion and variable modification, specify the output folder, and run. Please do not make additional changes if you are not sure what they are.

Also, please be sure that EasyPQP is installed. Please also specify data types for your mzML files.

Best,

Fengchao

Irkcy commented 2 years ago

Hello @fcyu , Thanks for your prompt reply. I used the DIA_DIA-Umpire_SpecLib_Quant workfolw as you suggested. And I also installed EasyPQP and converted raw files to mzML as Github followed. There seemed to be some error with the PhilosopherDbAnnotate. The following error occured: panic: runtime error: index out of range [1] with length 0.

log_2021-12-03_17-55-50.txt

With kind regards, Irkcy

fcyu commented 2 years ago

The error was from Philosopher. Felipe @prvst , can you take a look? It was from database annotation command:

PhilosopherDbAnnotate [Work dir: F:\DIA\new-mouse\result]
F:\Fragpipe\fragpipe_module\philosopher_v4.1.0_windows_amd64\philosopher.exe database --annotate F:\DIA\new-mouse\2021-12-03-decoys-swissprot_mouse_20180910_16985_iRT_contaminant.fasta.fas --prefix rev_
INFO[17:55:50] Executing Database  v4.1.0                   
INFO[17:55:50] Annotating the database                      
panic: runtime error: index out of range [1] with length 0

goroutine 1 [running]:
philosopher/lib/dat.ProcessUniProtKB(0xc000108091, 0xb, 0xc0001080a0, 0x9, 0xc00001e100, 0x4, 0x0, 0x0, 0x0, 0x0, ...)
    /workspace/philosopher/lib/dat/db.go:216 +0xccf
philosopher/lib/dat.(*Base).ProcessDB(0xc000116100, 0xc00009c060, 0x5b, 0xc00001e100, 0x4)
    /workspace/philosopher/lib/dat/dat.go:132 +0x90b
philosopher/lib/dat.Run(0xc00001ba40, 0x24, 0xc000020c48, 0x17, 0xc0001ae3c0, 0x48, 0xc00001ba70, 0x26, 0xc00001cfa0, 0x1d, ...)
    /workspace/philosopher/lib/dat/dat.go:64 +0xb96
philosopher/cmd.glob..func4(0x86be9c0, 0xc000114080, 0x0, 0x4)
    /workspace/philosopher/cmd/database.go:23 +0xdc
github.com/spf13/cobra.(*Command).execute(0x86be9c0, 0xc000114040, 0x4, 0x4, 0x86be9c0, 0xc000114040)
    /home/prvst/go/pkg/mod/github.com/spf13/cobra@v0.0.6/command.go:844 +0x2c2
github.com/spf13/cobra.(*Command).ExecuteC(0x86bda00, 0x40bb01, 0x0, 0x0)
    /home/prvst/go/pkg/mod/github.com/spf13/cobra@v0.0.6/command.go:945 +0x336
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:22 +0x75
Process 'PhilosopherDbAnnotate' finished, exit code: 2
Process returned non-zero exit code, stopping

Best,

Fengchao

prvst commented 2 years ago

Can you share your database with me?

Irkcy commented 2 years ago

Hello @prvst , sure.

fasta.zip

Irkcy commented 2 years ago

The error was from Philosopher. Felipe @prvst , can you take a look? It was from database annotation command:

PhilosopherDbAnnotate [Work dir: F:\DIA\new-mouse\result]
F:\Fragpipe\fragpipe_module\philosopher_v4.1.0_windows_amd64\philosopher.exe database --annotate F:\DIA\new-mouse\2021-12-03-decoys-swissprot_mouse_20180910_16985_iRT_contaminant.fasta.fas --prefix rev_
INFO[17:55:50] Executing Database  v4.1.0                   
INFO[17:55:50] Annotating the database                      
panic: runtime error: index out of range [1] with length 0

goroutine 1 [running]:
philosopher/lib/dat.ProcessUniProtKB(0xc000108091, 0xb, 0xc0001080a0, 0x9, 0xc00001e100, 0x4, 0x0, 0x0, 0x0, 0x0, ...)
  /workspace/philosopher/lib/dat/db.go:216 +0xccf
philosopher/lib/dat.(*Base).ProcessDB(0xc000116100, 0xc00009c060, 0x5b, 0xc00001e100, 0x4)
  /workspace/philosopher/lib/dat/dat.go:132 +0x90b
philosopher/lib/dat.Run(0xc00001ba40, 0x24, 0xc000020c48, 0x17, 0xc0001ae3c0, 0x48, 0xc00001ba70, 0x26, 0xc00001cfa0, 0x1d, ...)
  /workspace/philosopher/lib/dat/dat.go:64 +0xb96
philosopher/cmd.glob..func4(0x86be9c0, 0xc000114080, 0x0, 0x4)
  /workspace/philosopher/cmd/database.go:23 +0xdc
github.com/spf13/cobra.(*Command).execute(0x86be9c0, 0xc000114040, 0x4, 0x4, 0x86be9c0, 0xc000114040)
  /home/prvst/go/pkg/mod/github.com/spf13/cobra@v0.0.6/command.go:844 +0x2c2
github.com/spf13/cobra.(*Command).ExecuteC(0x86bda00, 0x40bb01, 0x0, 0x0)
  /home/prvst/go/pkg/mod/github.com/spf13/cobra@v0.0.6/command.go:945 +0x336
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:22 +0x75
Process 'PhilosopherDbAnnotate' finished, exit code: 2
Process returned non-zero exit code, stopping

Best,

Fengchao

Hello @fcyu ,thanks for pointing it out. I tried as you suggested and it worked. But when I tried "part B" with three pseudo-MS/MS mzML files generated by “part A” as Github followed, there was an error in extracting isolation windows: Cannot get isolation window info from scan FLI_180509_JMK_Brain_DIA_40seg_Biog_S2-2_Q1.1.1.0.

log_2021-12-07_10-04-22.txt

Best, Irkcy

fcyu commented 2 years ago

Hi Irkcy,

If you load *_Q1.mzML, *_Q2.mzML, and *_Q3.mzML to FragPipe, you should label them as DDA, not DIA, because they are pseudo-MS/MS similar to DDA data.

Best,

Fengchao

Irkcy commented 2 years ago

Hi Irkcy,

If you load *_Q1.mzML, *_Q2.mzML, and *_Q3.mzML to FragPipe, you should label them as DDA, not DIA, because they are pseudo-MS/MS similar to DDA data.

Best,

Fengchao

Hi @fcyu ,

Thanks for your prompt reply. I tried as you pointed it out and it worked successfully. Excuse me for the confusion.

With kind regards, Irkcy

prvst commented 2 years ago

@Irkcy I suspect that your contaminants are not following the required format. You can use Philosopher to add the contaminants to your FASTA file, that way you can be sure they will be in the right format. The wiki has a description on how to do that.

Irkcy commented 2 years ago

@Irkcy I suspect that your contaminants are not following the required format. You can use Philosopher to add the contaminants to your FASTA file, that way you can be sure they will be in the right format. The wiki has a description on how to do that.

Thanks for your prompt reply. I tried as you suggested and it worked

Best, Irkcy

Irkcy commented 2 years ago

@Irkcy I suspect that your contaminants are not following the required format. You can use Philosopher to add the contaminants to your FASTA file, that way you can be sure they will be in the right format. The wiki has a description on how to do that.

Hi @prvst ,

I wonder if Fragpipe supports fasta downloaded from NCBI or TrEMBL. I have added decoys and contaminants to my FASTA file with Philosopher.

Best, Irkcy

prvst commented 2 years ago

@Irkcy Unfortunately, neither of them has an exposed API or system that allows us to pull data directly like we do with Uniprot. NCBI has a command-line application that can pull some data, but it's a little tricky to use, and quite slow.