Dear fellows,
I am studying to generate fragments for structure prediction ab initio locally, on my laptop (OS - Linux OpenSUSE), with a help of appropriate script "make_fragments.pl". I met with several problems during its running.
Firstly, "make_fragments.pl" can not connect to dependencies links. When I run such command, as "~/rosetta_bin_linux_2019.22.60749_bundle/tools/fragment_tools/make_fragments.pl name.fasta >& make_fragments.local", it gives me such error:
"Resolving www.ncbi.nlm.nih.gov (www.ncbi.nlm.nih.gov)... 130.14.29.110, 2607:f220:41e:4290::110
Connecting to www.ncbi.nlm.nih.gov (www.ncbi.nlm.nih.gov)|130.14.29.110|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://www.ncbi.nlm.nih.gov/blast/docs/update_blastdb.pl [following] --2019-08-26 12:52:03-- https://www.ncbi.nlm.nih.gov/blast/docs/update_blastdb.pl
Connecting to www.ncbi.nlm.nih.gov (www.ncbi.nlm.nih.gov)|130.14.29.110|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2019-08-26 12:52:03 ERROR 404: Not Found.
ERROR! wget http://www.ncbi.nlm.nih.gov/blast/docs/update_blastdb.pl failed."
How I understood, there are problems about foregoing sites. It is looked like, that these sites are expired, or don't exist more. How I can fix these problems with these sites? Creating or downloading API for such dependencies is a good option for 'make_fragments.pl'? Or I should download appropriate databases at "~/rosetta_bin_linux_2019.22.60749_bundle/main/database" or even create a separated database directory in Rosetta?
Secondly, a next part of my problem with "make_fragments.pl" consists in next:
"WARNING! ~/rosetta_bin_linux_2019.22.60749_bundle/tools/fragment_tools/../../main/source/bin/fragment_picker.boost_thread.linuxgccrelease does not exist. Trying default.
ERROR! ~/rosetta_bin_linux_2019.22.60749_bundle/tools/fragment_tools/../../main/source/bin/fragment_picker.default.linuxgccrelease does not exist."
I downloaded such version of Rosetta with binaries, where all default.scripts are replaced by static.scripts. It means, that I should replace "fragment_picker.default.linuxgccrelease" to "fragment_picker.static.linuxgccrelease", in "make_fragments.pl" script, shouldn't I?
I attach some files to this topic.
I will be sincerely grateful for your response and help and I am looking forward to it.
Best regards,
Corvin.
Attachment | Size |
---|---|
![]() | 420.54 KB |
![]() | 53.14 KB |
Hello
I noticed a few errors
#1. it looks like your csblast installation is failing. make sure your g++ gcc version is 5.4 (maybe 6+ works but I've never tested that)
#2. judging from your errors, I'd say that your copy of make_fragments.pl and install_dependencies.pl is too old. the script was updated to now download from ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/ncbi-blast-2.9.0+-src.tar.gz
#3. you don't need to change any file names! just set the environment variable FRAGMENT_PICKER to whatever your installation has ie:
(or something like the above)
hopefully downgrading to gcc 5.5/5.4 setting the FRAGMENT_PICKER env variable, and using a newer copy of rosetta will fix these problems.!
Dear danpf,
I am sincerely thankful for your advice.
I have tried to fix these problems in according to your advises, but I met with several problems on that way.
Firstly, I found out, that the best option for my OS is gcc-g++ compiler installing on virtual machine. I can not downgrade or install parallel, old version of gcc-compiler, because of such circumstance, that my operation system (Linux OpenSUSE Tumbleweed) is updated constantly and rely on the newest version of gcc-compiler. Downgrading gcc or installation of multiple gcc-versions can cause catastrophic consequences for OS work. Do you know something about fragment_picker.pl running with a help of gcc-compiler, which is installed on virtual machine? If it isn't a good option for Rosetta, how I can install the second, older gcc-version without any negative consequence for my OS?
Secondly, I tried to update fragment_picker.pl script from source, which was mentioned by you via bash.
I carried out such bash-commands, as:
wget ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/ncbi-blast-2.9.0+-src.tar.gz
tar xvzf ncbi-blast-2.9.0+-src.tar.gz.
./configure at ~/ncbi-blast-2.9.0+-src/c++/ directory
/usr/bin/make all_r at ~/ncbi-blast-2.9.0+-src/c++/ReleaseMT/build directory
And I got such errors:
make[3]: Leaving directory '~/ncbi-blast-2.9.0+-src/c++/ReleaseMT/build/corelib'
make[3]: *** [~/ncbi-blast-2.9.0+-src/c++/ReleaseMT/build/Makefile.rules:88: test_boost.o] Error 1
FAILED: src/corelib/Makefile.test_boost.lib
make[3]: Entering directory '~/ncbi-blast-2.9.0+-src/c++/ReleaseMT/build/corelib'
/bin/rm -f libtest_boost.a .test_boost.dep .libtest_boost.a.stamp
/bin/rm -f ~/ncbi-blast-2.9.0+-src/c++/ReleaseMT/lib/libtest_boost.a /home/ihor/Завантажене/ncbi-blast-2.9.0+-src/c++/ReleaseMT/status/.test_boost.dep \ ~/ncbi-blast-2.9.0+-src/c++/ReleaseMT/lib/libtest_boost-static.a /home/ihor/Завантажене/ncbi-blast-2.9.0+-src/c++/ReleaseMT/status/.test_boost-static.dep
make[3]: Leaving directory '~/ncbi-blast-2.9.0+-src/c++/ReleaseMT/build/corelib'
make[2]: *** ~/ncbi-blast-2.9.0+-src/c++/src/build-system/Makefile.meta_l:318: all.nonusr] Error 2
make[2]: Leaving directory '~/ncbi-blast-2.9.0+-src/c++/ReleaseMT/build/corelib'
make[1]: *** [~/ncbi-blast-2.9.0+-src/c++/src/build-system/Makefile.meta_l:276: all_l.real] Error 2
make[1]: Leaving directory '~/ncbi-blast-2.9.0+-src/c++/ReleaseMT/build/corelib'
make: *** [~/ncbi-blast-2.9.0+-src/c++/src/build-system/Makefile.meta_r:41: all_r.real] Error 5
Could you explain, what is wrong with that package or where I made a mistake, please? Should I perform all these activities at fragment_tools directory? How can I update that script correctly via bash or fix that error?
UPD: Installation of gcc-g++ 4.8 instead of 5.4 version is a good option for make_fragments.pl? If I install the second, older version of gcc-g++ compiler, how will I make this script work with a help of the older gcc-compiler instead the new one? Should I write some flag in appropriate bash-command?
Thanks in advance.