funannotate icon indicating copy to clipboard operation
funannotate copied to clipboard

SignalP v6?

Open Dikaryotic opened this issue 4 years ago • 19 comments

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

Dikaryotic avatar Oct 10 '21 22:10 Dikaryotic

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

nextgenusfs avatar Oct 10 '21 22:10 nextgenusfs

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

Dikaryotic avatar Oct 10 '21 22:10 Dikaryotic

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.

nextgenusfs avatar Oct 10 '21 22:10 nextgenusfs

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 avatar Oct 11 '21 04:10 nextgenusfs

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

nextgenusfs avatar Oct 13 '21 20:10 nextgenusfs

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)

Dikaryotic avatar Oct 18 '21 23:10 Dikaryotic

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 avatar Oct 19 '21 03:10 nextgenusfs

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

nextgenusfs avatar Oct 20 '21 05:10 nextgenusfs

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 avatar Oct 21 '21 01:10 Dikaryotic

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

Dikaryotic avatar Oct 21 '21 02:10 Dikaryotic

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.

nextgenusfs avatar Oct 21 '21 04:10 nextgenusfs

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.

fteufel avatar Oct 31 '21 13:10 fteufel

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 ?

hassantarabai avatar Mar 10 '23 11:03 hassantarabai

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

lukaskon avatar Jun 15 '23 19:06 lukaskon

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.

hyphaltip avatar Jun 16 '23 18:06 hyphaltip

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!

lukaskon avatar Jun 20 '23 22:06 lukaskon