Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SignalP v6? #650

Open
Dikaryotic opened this issue Oct 10, 2021 · 17 comments
Open

SignalP v6? #650

Dikaryotic opened this issue Oct 10, 2021 · 17 comments

Comments

@Dikaryotic
Copy link

Hi John,

I've got some SingalP6 output I'd like to include in my annotate stage. I've tried the --signalp method but it threw an error. I'm using funannotate v1.8.7. I'll pop in the error then a head of the singalp output file. Maybe you can advise? I suspect it's something to do with the format but can't quite figure it out. Ideally I wouldve liked funannotate to run it natively but it didnt want to pickup the installation.

Existing SignalP results found: Predict/annotate_misc/signalp.results.txt
Traceback (most recent call last):
File "/home/chris/miniconda3/envs/Funannotate/bin/funannotate", line 10, in
sys.exit(main())
File "/home/chris/miniconda3/envs/Funannotate/lib/python3.7/site-packages/funannotate/funannotate.py", line 705, in main
mod.main(arguments)
File "/home/chris/miniconda3/envs/Funannotate/lib/python3.7/site-packages/funannotate/annotate.py", line 963, in main
lib.parseSignalP(signalp_out, secreted_out)
File "/home/chris/miniconda3/envs/Funannotate/lib/python3.7/site-packages/funannotate/library.py", line 5634, in parseSignalP
if col[9] == 'Y': # then there is signal peptide
IndexError: list index out of range

head signalp.results.txt

SignalP-6.0 Organism: Eukarya Timestamp: 20211008163009

ID Prediction OTHER SP(Sec/SPI) CS Position

FUN_000001-T1_FUN_000001 NO_SP 1.000034 0.000000
FUN_000002-T1_FUN_000002 NO_SP 1.000061 0.000000
FUN_000003-T1_FUN_000003 NO_SP 1.000047 0.000000
FUN_000004-T1_FUN_000004 NO_SP 1.000045 0.000000
FUN_000005-T1_FUN_000005 NO_SP 0.999985 0.000069
FUN_000006-T1_FUN_000006 NO_SP 1.000068 0.000000
FUN_000007-T1_FUN_000007 NO_SP 1.000054 0.000000
FUN_000008-T1_FUN_000008 NO_SP 1.000050 0.000001

Cheers,
Chris

@nextgenusfs
Copy link
Owner

Looks like another new format.... is it tab delimited or space? And what does a "has signal peptide" look like?

@Dikaryotic
Copy link
Author

It's tab delimited. Here are the first two identified with signal peptides.

SignalP-6.0 Organism: Eukarya Timestamp: 20211008163009

ID Prediction OTHER SP(Sec/SPI) CS Position

FUN_000010-T1_FUN_000010 SP 0.000237 0.999737 CS pos: 21-22. Pr: 0.9766
FUN_000017-T1_FUN_000017 SP 0.000320 0.999666 CS pos: 25-26. Pr: 0.4228

@nextgenusfs
Copy link
Owner

Thanks can you attach file so I can make sure the parser gets the last column correctly? I do t want to make any assumptions based on if GitHub stripped any formatting, etc.

@Dikaryotic
Copy link
Author

signalp.results.txt

@nextgenusfs
Copy link
Owner

Thanks. How about the call to signalP v6, this is what is being run on v5:

cmd = ['signalp', '-stdout', '-org', 'euk', '-format', 'short', '-fasta']

Does that still work with v6?

nextgenusfs pushed a commit that referenced this issue Oct 11, 2021
nextgenusfs pushed a commit that referenced this issue Oct 11, 2021
This reverts commit 01336e8.
nextgenusfs pushed a commit that referenced this issue Oct 11, 2021
@nextgenusfs
Copy link
Owner

Parser should be working (I hope) in the master branch, can install with pip to check.

@Dikaryotic
Copy link
Author

Hiya,

I've found time again to work on this, I just pulled the new master branch and had a go, I've hit a new error.

: Existing SignalP results found: Predict/annotate_misc/signalp.results.txt
Traceback (most recent call last):
File "/home/chris/miniconda3/envs/Funannotate/bin/funannotate", line 8, in
sys.exit(main())
File "/home/chris/miniconda3/envs/Funannotate/lib/python3.7/site-packages/funannotate/funannotate.py", line 705, in main
mod.main(arguments)
File "/home/chris/miniconda3/envs/Funannotate/lib/python3.7/site-packages/funannotate/annotate.py", line 1002, in main
lib.parseSignalP(signalp_out, secreted_out)
File "/home/chris/miniconda3/envs/Funannotate/lib/python3.7/site-packages/funannotate/library.py", line 5681, in parseSignalP
ID, prediction, score1, score2, position = cols[:5]
ValueError: not enough values to unpack (expected 5, got 4)

@nextgenusfs
Copy link
Owner

Oh, they must not write the last empty column if there is no hit. That's not very nice of them.... should just be able to put a try/except on that line.

nextgenusfs pushed a commit that referenced this issue Oct 20, 2021
@nextgenusfs
Copy link
Owner

Okay, can you try with latest in master again and see if it prints any lines to stderr that it cannot parse?

@Dikaryotic
Copy link
Author

Heya, looks like it's sort of worked. There appear to be a handful of entries it cannot parse. See below for the output.

Existing SignalP results found: Predict/annotate_misc/signalp.results.txt
signalP parse error: FUN_001618-T1_FUN_001618 SP 0.379709 0.620269
signalP parse error: FUN_001686-T1_FUN_001686 SP 0.491810 0.508172
signalP parse error: FUN_003357-T1_FUN_003357 SP 0.449099 0.550900
signalP parse error: FUN_003817-T1_FUN_003817 SP 0.398018 0.601982
signalP parse error: FUN_004349-T1_FUN_004349 SP 0.432366 0.567619
signalP parse error: FUN_005570-T1_FUN_005570 SP 0.471067 0.528935
signalP parse error: FUN_005972-T1_FUN_005972 SP 0.409434 0.590562
signalP parse error: FUN_008891-T1_FUN_008891 SP 0.363779 0.636212
[Oct 21 02:55 PM]: 697 secretome and 1,949 transmembane annotations added

@Dikaryotic
Copy link
Author

Oh, also, I get this when I try to include phobius results. Seems to be some sort of clash. I've run this directly after my last test using --phobius phobius.results.txt

Existing SignalP results found: Predict/annotate_misc/signalp.results.txt
Traceback (most recent call last):
File "/home/chris/miniconda3/envs/Funannotate/bin/funannotate", line 8, in
sys.exit(main())
File "/home/chris/miniconda3/envs/Funannotate/lib/python3.7/site-packages/funannotate/funannotate.py", line 705, in main
mod.main(arguments)
File "/home/chris/miniconda3/envs/Funannotate/lib/python3.7/site-packages/funannotate/annotate.py", line 1019, in main
phobius_out, signalp_out, membrane_out, secreted_out)
File "/home/chris/miniconda3/envs/Funannotate/lib/python3.7/site-packages/funannotate/library.py", line 5746, in parsePhobiusSignalP
if col[9] == 'Y': # then there is signal peptide
IndexError: list index out of range

@nextgenusfs
Copy link
Owner

Okay thanks. The ones that it can't parse don't have the last column, that must be a bug or something. It is predicting a signal peptide but not the cleavage site?

Second error makes sense I think, let me see what I need to do to make new results work.

@fteufel
Copy link

fteufel commented Oct 31, 2021

Hey @Dikaryotic , saw this issue by chance, could you provide me with the sequences that show no CS being predicted? This is definitely unexpected behaviour.

@hassantarabai
Copy link

Hello,

I recently installed funannotate and it appear the signalp6 pursing error is still there "ValueError: not enough values to unpack (expected 5, got 4)" when passing signalp6 results to funannotate annotate.

Have anybody managed a solution for it ?

@lukaskon
Copy link

I am also having the same issue. What is the exact input file type or path supposed to be for --signalp ?

--signalp predict_results/signalp/prediction_results.txt \
Existing SignalP results found: /mnt/ufs18/rs-008/Hausbeck_group/Lukasko/BotrytisDNASeq/CCR7/Predict_Annotate/AI7_fun/annotate_misc/signalp.results.t
xt
-------------------------------------------------------
Traceback (most recent call last):
  File "/mnt/home/lukaskon/anaconda3/envs/funannotate/bin/funannotate", line 10, in <module>
    sys.exit(main())
  File "/mnt/home/lukaskon/anaconda3/envs/funannotate/lib/python3.8/site-packages/funannotate/funannotate.py", line 716, in main
    mod.main(arguments)
  File "/mnt/home/lukaskon/anaconda3/envs/funannotate/lib/python3.8/site-packages/funannotate/annotate.py", line 1341, in main
    lib.parseSignalP(signalp_out, secreted_out)
  File "/mnt/home/lukaskon/anaconda3/envs/funannotate/lib/python3.8/site-packages/funannotate/library.py", line 7299, in parseSignalP
    pos = components[2].split("-")[0]
IndexError: list index out of range

@hyphaltip
Copy link
Collaborator

would help to have a snapshot of your failed file and what version of funannotate you are running. are you running signalp outside of funannotate then?

I just ran an annotation with signalp6 installed but I think I had to tweak something in the latest code release so you might need to grab code from github to make sure it is all working.

@lukaskon
Copy link

I am running funannotate v1.8.15 and yes, signalp6 outside of funannotate.

Here is the annotate log file:
B5_signalp_annotate_slurm.txt
Here are the signalp results from annotate_misc:
image
signalp.results.txt

If the issue is the signalp file format, maybe I can reformat to make this compatible for the time being.

Let me know if anything else would be helpful. Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants