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

panic: runtime error: index out of range [0] with length 0 #114

Closed trishorts closed 4 years ago

trishorts commented 4 years ago

running philosopher pipeline

philosopher.yml and comet.params.zip

image

image

prvst commented 4 years ago

@trishorts when running the pipeline, Philosopher will look for search results with the pepXML extension, instead of the pep.xml. This happens because MSFragger outputs pepXML and Comet outputs pep.xml. I'll add a fix to this on the next small release (probably tomorrow), until there you have two options, you can change the search results extensions to pepXML and run from PeptideProphet or you can complete your analysis running each step individually

prvst commented 4 years ago

Actually there is a third option that you can try. On the yaml file, look for the PeptideProphet section and change this:

extension: pepXML # pepXML file extension

to this:

extension: pep.xml # pepXML file extension

Let me know if that works

trishorts commented 4 years ago

LOL. now I'm stuck in an endless loop of search. when the pipeline finishes searching files the first time it just starts all over again without moving on..... maybe workspace cleaan

also removed .meta

prvst commented 4 years ago

Yes, please try again from the beginning with a clean workspace, let me know if you are still stuck on a loop

trishorts commented 4 years ago

no mas. stuck in the endless loop. deleted .meta folder and all .pep.xml files from the data folder. deleted .meta folder from the E:\Programs\philosopher_v3.2.2_windows_amd64\ folder

prvst commented 4 years ago

OK, I'm working on this now

prvst commented 4 years ago

You actually found a bug on the pipeline command. I just compiled a fix and issued a new release v.3.2.3. We haven't been using Comet that much lately because of MSFragger, and recent changes in the pipeline command created the issue you found. Thanks for finding that for us and for reporting. Please go ahead and download the new update and try again, let me know if that works for you. I tested here on my computer with your yaml file and your comet param and I got the final tables in a few minutes.

anesvi commented 4 years ago

Dear trishorts, Thank you for using the tools. As Felipe said, we switched 100% to MSFragger, but should have tested Comet with the latest release better. Thanks for your patience, hopefully the new release fixes the issue. Best regards, Alexey

From: trishorts notifications@github.com Sent: Wednesday, March 11, 2020 4:18 PM To: Nesvilab/philosopher philosopher@noreply.github.com Cc: Subscribed subscribed@noreply.github.com Subject: Re: [Nesvilab/philosopher] panic: runtime error: index out of range [0] with length 0 (#114)

External Email - Use Caution

no mas. stuck in the endless loop. deleted .meta folder and all .pep.xml files from the data folder. deleted .meta folder from the E:\Programs\philosopher_v3.2.2_windows_amd64\ folder

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHubhttps://github.com/Nesvilab/philosopher/issues/114#issuecomment-597846094, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AIIMM63E4ELENTENXGKDVPLRG7WWNANCNFSM4LF5HLIA.


Electronic Mail is not secure, may not be read every day, and should not be used for urgent or sensitive issues

trishorts commented 4 years ago

thank you. i will try to do this tomorrow.

trishorts commented 4 years ago

i have found it nearly impossible with my meager skills to install fragger. so the comet solution is easier for me.

prvst commented 4 years ago

@trishorts If you want I can assist you with the steps necessary to get MSFragger up and running

anesvi commented 4 years ago

FragPipe GUI is the easiest way to run MSFragger with Philosopher, in case you may want to consider that option. But as far as running Comet vs. MSFragger, it should be the same. Except MSFragger may require more memory for certain type of searches. Best, Alexey

From: trishorts notifications@github.com Sent: Wednesday, March 11, 2020 4:49 PM To: Nesvilab/philosopher philosopher@noreply.github.com Cc: Nesvizhskii, Alexey nesvi@med.umich.edu; Comment comment@noreply.github.com Subject: Re: [Nesvilab/philosopher] panic: runtime error: index out of range [0] with length 0 (#114)

External Email - Use Caution

i have found it nearly impossible with my meager skills to install fragger. so the comet solution is easier for me.

— You are receiving this because you commented. Reply to this email directly, view it on GitHubhttps://github.com/Nesvilab/philosopher/issues/114#issuecomment-597871420, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AIIMM6ZSVL4BQYESWGMFUQTRG72MBANCNFSM4LF5HLIA.


Electronic Mail is not secure, may not be read every day, and should not be used for urgent or sensitive issues

trishorts commented 4 years ago

thank you. you've been so kind and responsive. it's really appreciated. staty tuned

trishorts commented 4 years ago

i did have some luck with fragpipe. don't know about the batch stuff. only went thrugh it a couple times. that was pretty nice.

chliu1992 commented 4 years ago

Hi, I used three mzML files to take a test with the TMT pipeline following https://github.com/Nesvilab/philosopher/wiki/Pipeline-mode-for-TMT-analysis . And I created a work folder that conains four subfolder as this tutorial said and set the .yml configuration file. Before running the pipeline command"philosopher pipeline --config philosopher.yml BAT_tmt", which folder should I run the " philosopher workspace --init " command in?

Thank you very much for your recent help.

prvst commented 4 years ago

If you are running the pipeline command, then you don't need to create a workspace, the program will do that for you. The pipeline command should ideally be executed on your work folder where you have your four subfolders:

philosopher pipeline --config philosopher.yml folder1 folder2 folder3 folder4

chliu1992 commented 4 years ago

I take a try but,

F:\MSFragger_test\BAT_TMT6_data_test>philosopher pipeline --config philosopher.yml BAT_tmt 'philosopher' is not recognized as an internal or external command, operable program or batch file.

Is there anything wrong with my command or else?

prvst commented 4 years ago

@chliu1992 I see that your issue is not actually related to the subject reported here previously bytrishorts, can I ask you to open a new issue with the detailed report of your error or problem ?

Thanks

chliu1992 commented 4 years ago

ok,I'll open a new issue.Thank you.

trishorts commented 4 years ago

I wasn't in yesterday so i wasn't able to try P.3.2.3 until today. This version no longer does the endless loop search. But we are back to the original problem. panic error. I did check that pep.xml was the extension in the philosopher.yml file. I attach here a screen shot of the error report and also provide the yml and comet params files for you entertainment.

image

philosopherStuff.zip

prvst commented 4 years ago

hi @trishorts

In your yaml file, in the PeptideProphet section, try changing this:

extension: pep.XML

to

extension: pep.xml

trishorts commented 4 years ago

image

image

prvst commented 4 years ago

Those search parameters you see above PeptideProphet are for MSFragger, if you are running Comet , those parameters will not be used and the search results will be named pep.xml.

trishorts commented 4 years ago

i changed it everywhere to be safe. i'm not using fragger (which you know). i don't know where else to change it.

prvst commented 4 years ago

from your image I see that you are still using pep.XML instead of pep.xml . Could you try using pep.xml in lowercase ?

trishorts commented 4 years ago

VICTORY image

prvst commented 4 years ago

great !

trishorts commented 4 years ago

First. thank you so much for your responsiveness. It's commendable. Without your help, I would have be lost. I'm grateful.

But, you can see that philospher is too fragile to extension differences. There are ubiquitous in proteomics: .fasta .FASTA .fa .fas .mzml .mzML pep.xml pepXML.

There should be a method to deal with this. And, given time I'm sure you will.

For now. Keep up the good work!

anesvi commented 4 years ago

Thanks trishort !

Felipe, let’s update our online tutorials now, while we it is still fresh. We have been using MSFragger exclusively for so long that we need to refresh the Comet-specific parts.

Alexey

From: trishorts notifications@github.com Sent: Friday, March 13, 2020 12:11 PM To: Nesvilab/philosopher philosopher@noreply.github.com Cc: Nesvizhskii, Alexey nesvi@med.umich.edu; Comment comment@noreply.github.com Subject: Re: [Nesvilab/philosopher] panic: runtime error: index out of range [0] with length 0 (#114)

External Email - Use Caution

First. thank you so much for your responsiveness. It's commendable. Without your help, I would have be lost. I'm grateful.

But, you can see that philospher is too fragile to extension differences. There are ubiquitous in proteomics: .fasta .FASTA .fa .fas .mzml .mzML pep.xml pepXML.

There should be a method to deal with this. And, given time I'm sure you will.

For now. Keep up the good work!

— You are receiving this because you commented. Reply to this email directly, view it on GitHubhttps://github.com/Nesvilab/philosopher/issues/114#issuecomment-598799565, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AIIMM6ZJREHJKB2RDEPA5ALRHJLJVANCNFSM4LF5HLIA.


Electronic Mail is not secure, may not be read every day, and should not be used for urgent or sensitive issues

prvst commented 4 years ago

Thank you for your comments @trishorts.

I'm planning to work on this for the next update, my idea is to follow the behaviour you see on Linux systems where the extension doesn't actually matter and files are evaluated according to their content.

@anesvi @hayse1 uploaded the Comet tutorial to our wiki, we will review the extensions on the documentation as well.

jspaezp commented 3 years ago

Sorry for resurrecting this issue but it seems like it has not been "fixed".

My command fails with the panic: runtime error: index out of range [0] with length 0 error when I am using comet unless I specifically change the Peptideprophet: extension: pep.xml parameter.

Would it be possible for philosopher to set it to that when the database search is enabled and the search engine is comet, since it is know that it would output such "extension" (or philosopher could just rename it after calling comet...).

(in an un-related issue, I noticed the .params file that is printed from philosopher comet --print is made for low-res data but peptideprophet assumes high res output, could the default comet .params in philosopher be modified to be high-res ??)

# Default params                                                #  High res params 
#                                                               #                                                            
# fragment ions                                                 # fragment ions                                              
#                                                               #                                                            
# ion trap ms/ms:  1.0005 tolerance, 0.4 offset (mono masses)   # ion trap ms/ms:  1.0005 tolerance, 0.4 offset (mono masses)                                                                
# high res ms/ms:    0.02 tolerance, 0.0 offset (mono masses)   # high res ms/ms:    0.02 tolerance, 0.0 offset (mono masses)                                                                
#                                                               #                                                                                                                            
fragment_bin_tol = 1.0005              # binning to use on fr | fragment_bin_tol = 0.02                # binning to use on fr                                                                
fragment_bin_offset = 0.4              # offset position to s | fragment_bin_offset = 0.0              # offset position to s                                                                
theoretical_fragment_ions = 1          # 0=use flanking peaks | theoretical_fragment_ions = 0          # 0=use flanking peaks                                                                
use_A_ions = 0                                                  use_A_ions = 0                                                                                                               
use_B_ions = 1                                                  use_B_ions = 1                                                                                                               
use_C_ions = 0                                                  use_C_ions = 0                                                                                                               

Thanks again for the attention. Kindest wishes, Sebastian