Open nextgenusfs opened 8 years ago
This is still a problem on OS X only. So here is the short term fix until the Augustus developers can fix the code and/or somebody smarter than me can fix the home-brew augustus formulae.
First uninstall home-brew augustus:
brew uninstall --force augustus
Then make sure you have GCC-5 installed and bamtools:
brew install gcc5 bamtools
Now you can download the "fixed" augustus source code from my dropbox account, all I've changed here are some values in the Makefiles to use g++-5
and then use home-brew installed bamtools
:
wget https://www.dropbox.com/s/1v3u3ii0j51faq5/augustus-3.2.1-osx.tar.gz
Unpack the code:
tar xzvf augustus-3.2.1-osx.tar.gz
Move into the directory and compile and install (might want to cross your fingers....)
#navigate
cd augustus-3.2.1
#compile
make
#install
sudo make install
Now make sure to change your AUGUSTUS_CONFIG_PATH in your ~/.bash_profile
:
export AUGUSTUS_CONFIG_PATH=/opt/augustus-3.2.1/config
Note, if you have a more recent version of GCC installed, i.e. gcc6, then you can modify this distribution as such to configure for gcc-6.
#move into augustus folder
cd augustus-3.2.1
#change gcc version
find . -name Makefile | xargs sed -i 's/g++-5/g++-6/g'
+1 I am also plagued by this issue
Did the above installation of v3.2.1 work by chance? I have not tried the newest version (v3.2.3) yet so I don't know if it will compile on Mac or not.
Walking through the steps now. Currently at the make stage (with fingers crossed)
I installed Augustus via homebrew a week ago and that still didn't work which is how I found this. I think that was 3.2.2.
Yes, the home-brew installation appears to install correctly, but protein profile is broken. I've opened several tickets with Augustus developers and have never gotten a response.... hopefully my hack solution will work for you. If you don't need to run BUSCO2 than rest of pipeline will work however.
Just ran it on the test data file and no errors in the augustus.log from BUSCO. Looks like it ran like a charm. Now to test on some bio data. Thanks so much for implementing a workable solution that's well documented to boot!
Great! Best of luck, let me know if you run into any problems or something isn't clear.
Hey there. I am also running into this issue. I installed augustus over brew (current AUGUSTUS (3.2.2), and I am getting the same error (PP::Profile: Error parsing pattern file"PF00012.13.prfl", line 9.
). I was trying your solution, but when I go for make
, I get the following error (I am pasting here everything that terminal prints out):
mkdir -p bin cd src && /Library/Developer/CommandLineTools/usr/bin/make g++-5 -c -Wall -Wno-sign-compare -ansi -pedantic -O3 -o genbank.o genbank.cc -I../include g++-5 -c -Wall -Wno-sign-compare -ansi -pedantic -O3 -o properties.o properties.cc -I../include /var/folders/nd/65wyxsxn52d55wrw0gjrd5q80000gn/T//ccgtdMcJ.s:6186:suffix or operands invalid for 'movq' make[1]: [properties.o] Error 1 make: [all] Error 2
Hi @sarah872. There still isn't an easy solution for this. I have never been able to get any help from Augustus developers, thus here is what I know currently as the status of Augstus with Mac OSx. I can't get Augustus v3.2.2 through v3.3 to compile on Mac correctly.
I have gotten v3.2.1 to compile where both ProteinProfile search works for BUSCO and the rest of the program seems to function, but with several caveats. The programs bundled in Augustus that read BAM files (bam2hints, filterBAM, etc) must be compiled with same compiler used to compile Bamtools. AND the Makefiles for these programs have hard coded paths to a particular machine, which is of course not where Bamtools is located on everybody else system. Notably, I also can't get Bamtoolsv2.4.1 to work either. And then Augustus itself must be compile with g++ v4.8 or greater in order to get the proteinprofile to work. Obviously this really sucks and makes it hard to use/install Augustus....
I've actually now managed to break my augustus install on my MacBook, and it has taken me several hours to get it figured out how to rebuild it. If you have a Linux machine it will be easier to install/run. If not, I think I'm going to dump the modified Augustus v3.2.1 onto a GitHub repository and post some instructions on how I got it to work. Will let you know when that's done.
Thanks for keeping me updated. I actually have access to Linux on a grid server, but not as admin - so installation is restricted to my user.
Hi @sarah872. You can give this a try, let me know if it works: https://github.com/nextgenusfs/augustus
thanks I did. Unfortunately I am getting an error when doing this step:
make CC=gcc-7 CXX=g++-7 BAMTOOLS_CC=clang BAMTOOLS_CXX=clang++ BAMTOOLS=/usr/local/bin/bamtools
bam2hints.cc:16:10: fatal error: 'api/BamReader.h' file not found
#include <api/BamReader.h>
^~~~~~~~~~~~~~~~~
1 error generated.
make[2]: *** [bam2hints.o] Error 1
make[1]: *** [all] Error 2
make: *** [all] Error 2
It can't find the include folder from bamtools, where did you install bamtools?
Try a git pull
on the augustus repository, I added print command to print out where the make file is trying to build bamtools from.
There is an error when using Augustus that seems to only show up on Mac systems. When training Augustus using BUSCO, BUSCO uses the --proteinprofile option to find a gene model that matches that protein profile. Augustus compiled on Mac throws an error here that looks like this:
I've seen this error on several version of Augustus compiled on Mac. The error does not exist when Augustus is compiled on Linux.
The result of this is that BUSCO cannot train Augustus if running funannotate on Mac. You can still use funannotate but must pass in a valid species name using the
--augustus_species
parameter. The script will still run if you try to use BUSCO to train Augustus, however you will get no gene model predictions from Augusuts and only GeneMark models will get passed to EVM.