This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Has anyone run Phobius locally? Error - could not read provided fasta sequences

Hi,

I am currently trying to run Phobius (http://phobius.sbc.su.se/data.html) in LInux to predict signal peptides in some proteins. I am not sure if anyone has run this recently, but please help me if you have!

After typing in the absolute path to the directory in phobius.pl:

my $PHOBIUS_DIR = "/full/path/to/phobius";

In that directory, I typed in the command below. test.fasta exists in the same folder. Then, it returns

perl phobius.pl -short test.fasta

Phobius ver 1.01 
(c) 2004 Lukas Kall, Anders Krogh, Erik Sonnhammer
 SEQENCE ID                     TM SP PREDICTION

Could not read provided fasta sequence at phobius.pl line 408.

Test.fasta looks like just usual a fasta file with >seq1 \n sequences

phobius

In my case, Duan's solution worked for me. I copied decodeanhmm.Linux_i686 from tmhmm-2.0c/bin to the Phobius folder as decodeanhmm.

You shouldn't need to alter the line:

my $PHOBIUS_DIR =      "$FindBin::RealBin";

The FindBin module function is to locates the full path to the script bin directory, to allow the use of paths relative to the bin directory, so there should be no need to hard-code paths into the script.

2 answers

It could be the problem of decodeanhmm, in my case I copy a new decodeanhmm from the installation directory of tmhmm-2.0c and it works.

This fixed it for me -

./decodeanhmm

would result in an error:

 -bash: ./decodeanhmm: No such file or directory

(how is that even possible? the file is right there!), so I downloaded this copy: https://github.com/chefnb/ParseTargs/blob/master/tmhmm-2.0c/bin/decodeanhmm

and tried to run phobius.pl and got output immediately, instead of the above 'could not read provided fasta file'

In my case this was causing problems in the RGaugury pipeline, where the files with RLK and RLP candidate genes were empty because of phobius not working properly.

Edit: I now figured out what the No such file or directory error means. If you use the strings tool on the decodeanhmm binary that comes with phobius, you'll see this file pop up:

/lib/ld-linux.so.2

On my system that file doesn't exist, which causes the error. The decodeanhmm in the ParseTargs package doesn't have that string in its header, so it doesn't look for that file. The decodeanhmm.64bit file that comes with phobius also doesn't have that file, maybe renaming decodeanhmm.64bit to decodeanhmm (overwriting the 'original') fixes this problem too?

Edit phobius.pl L25 to my $DECODEANHMM = "$PHOBIUS_DIR/decodeanhmm.64bit"; and everything works.

Hi! This L25 substitution does work! Huge thanks!

Just for future visitors, My fasta file was with * at the end of every sequence and I was getting the same error i.e. 'could not read provided fasta file'. I removed the * and run the Phobius without any other change and it finished successfully.

Log in to answer this question.