Hi @yztxwd. Thanks for the comment. I tried changing the second line to both homp (my $uname = "Linux") and homp (my $uname = "IRIX64"). When I used "Linux", and ran the code rnammer -S bac -m tsu,ssu,lsu -gff output_gff -h output_hmmreport -f output_fasta sample1.fasta I do now get a output_gff file. However, it is simply empty. My sample1.fasta is just a .fasta file containing reordered contigs. I find it surprising that there would be no tsu/ssu/lsu output at all for this sample (and I tried on several other samples and got the same blank output_gff file. Any ideas why this may be happening (and is it because it cannot be run on Mac, which is the only OS I can currently download programs to?)
I recently tried to user rnammer.
I first used the web browser version and uploaded a .fasta file. Unfortunately, this resulted in an error as my .fasta file contains more than 1,000,000 total residues (twice as much in fact).
I decided to try the command line version to see if it could accept input files larger than 1,000,000 total residues? I am using macOS High Sierra. I downloaded the rnammer-1.2 and hmmer-3.2.1. Then, I followed directions here and here regarding updating the file locations. I then tried to run the following command:
rnammer -S 'bac' -m 'tsu' -gff output_gff -h output_hmmreport -f output_fasta sample1.fasta
which resulted in the error: "unknown platform"
This message seems to come from a section of the /user/local/bin/rnammer file:
# path to hmmsearch of HMMER package
chomp ( my $uname = `uname`);
my $HMMSEARCH_BINARY;
my $PERL;
if ( $uname eq "Linux" ) {
$HMMSEARCH_BINARY = "/usr/local/bin/hmmsearch";
$PERL = "/usr/bin/perl";
} elsif ( $uname eq "IRIX64" ) {
$HMMSEARCH_BINARY = "/usr/local/bin/hmmsearch";
$PERL = "/usr/sbin/perl";
} else {
die "unknown platform\n";
}
I updated this file twice. Once such that the second line of the above file said:
chomp ( my $uname = `Linux`);
And again such that the second line of the above file said
chomp ( my $uname = `IRIX64`);
But I receive the same brief error. I would greatly appreciate any advice anyone on this forum may have to resolve this issue. Many thanks.
1 answer
I'm not very familiar with perl, but it seems you should use
chomp (my $uname = "Linux")
instead of
chomp (my $uname = `Linux`)
` is used to call uname in shell
By the way, why do you want to run RNAmmer on mac? I think the code is very clear that it doesn't want to be run under Mac OS environment
Sorry, due to the platform you used is not what the program expected, It is very hard to find out what was the cause. I strongly recommend you to run it on linux system to see what will happen
Log in to answer this question.