You are here

Install rosetta_2014.30.57114_bundle on ubuntu-14.04.1-desktop-amd64

15 posts / 0 new
Last post
Install rosetta_2014.30.57114_bundle on ubuntu-14.04.1-desktop-amd64
#1

Dear Sir or Madam,
I want to install rosetta_2014.30.57114_bundle on my Win 7 PC. After installing VMware Player and ubuntu-14.04.1-desktop-amd64, I tried to follow instructions on

https://www.rosettacommons.org/docs/latest/Build-Documentation.html#Comp...

After "Change directory to main/source" and "./scons.py -j1 bin", I was told:

lanselibai@ubuntu:/mnt/hgfs/lscf/rosetta_2014.30.57114_bundle/main/source$ ./scons.py -j1 bin
Traceback (most recent call last):
File "./scons.py", line 187, in <module>
import SCons.Script
ImportError: No module named SCons.Script

As a beginner, I have almost little knowledge about installing it on Ubuntu.
Can I ask
1) Is the above the first thing I should do? If not, what should I do first? If yes, how to solve the "ImportError"?
2) What is the meaning of "executable"?

I will ask further if the above is solved. Thank you very much.

Yours sincerely
Cheng

Category: 
Post Situation: 
Wed, 2014-09-03 07:55
lanselibai

1) If you've downloaded and extracted the Rosetta source bundle appropriately, that command should work. (Although I would recommend adding "mode=release" after the "-j1" and before the "bin" to compile the release-mode version, which should run faster than the debug-mode version which will be compiled by default.)

I'm guessing the problem you're running into is that you're trying to run Rosetta from a Windows filesystem that you've mounted on your Ubuntu virtual system. The problem with that is that Windows drives don't really understand symlinks all that well, and the magic that scons does relies on the symlink dereferencing in order to work properly. You may be able to get around that by running the script directly, as opposed to through a symlink. (So do "./external/scons-local/scons.py" instead of "./scons.py").

Note that you may run into other issues related to symlinks, though. (For example, the bin directory is actually just symlinks into the build directory, so if symlinks don't work, your bin/ directory may not be all that useful.) You may just want to extract and compile Rosetta on a Linux-format disk that's "internal" to the VMware image, rather than doing so on a Windows-format disk that's mounted from outside the image. (For example, by extracting and compiling in your Ubuntu home directory, rather than a directory under /mnt/) -- That's just for the Rosetta installation itself - you can still run a Rosetta executable stored in an Ubuntu directory on PDBs and input files that are on a mounted Windows directory.

2) An executable is a computer program that you run (See http://en.wikipedia.org/wiki/Executable) .

Wed, 2014-09-03 14:35
rmoretti

Hi rmoretti,
As you suggested, I extracted "rosetta_2014.30.57114_bundle.tgz" into "home" directory. Afterwards, I typed "./scons.py -j1 mode=release bin" within "main/source" directory. It worked! Amazing!

1) However, I encountered the following prompt of "... not found". Are they normal?
2) When I successfully use "./scons.py -c" to clean, the hard disc is still losing space. Do you know why? And I have to uninstall Ubuntu and re-install ubuntu again to prevent losing hard disc space.
3) Can I ask is "./scons.py -j1 mode=release bin" the only thing I should do to install Rosetta3? I am using a two core CPU. So should I use "j1" or "j2"?

Thank you.

Yours sincerely
Cheng

......

scons: Building targets ...
o build/src/release/linux/3.13/64/x86/gcc/4.8/default/apps/public/AbinitioRelax.o -c -std=c++98 -isystem external/boost_1_55_0/ -isystem external/include/ -isystem external/dbio/ -pipe -ffor-scope -Wall -Wextra -pedantic -Wno-long-long -Wno-strict-aliasing -O3 -ffast-math -funroll-loops -finline-functions -finline-limit=20000 -s -Wno-unused-variable -Wno-unused-parameter -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_SYSTEM_NO_DEPRECATED -DNDEBUG -Isrc -Iexternal/include -Isrc/platform/linux/64/gcc/4.8 -Isrc/platform/linux/64/gcc -Isrc/platform/linux/64 -Isrc/platform/linux -Iexternal/boost_1_55_0 -Iexternal/dbio -I/usr/include -I/usr/local/include src/apps/public/AbinitioRelax.cc
sh: 1: o: not found
o build/src/release/linux/3.13/64/x86/gcc/4.8/default/devel/init.os -c -std=c++98 -isystem external/boost_1_55_0/ -isystem external/include/ -isystem external/dbio/ -pipe -ffor-scope -Wall -Wextra -pedantic -Wno-long-long -Wno-strict-aliasing -O3 -ffast-math -funroll-loops -finline-functions -finline-limit=20000 -s -Wno-unused-variable -Wno-unused-parameter -fPIC -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_SYSTEM_NO_DEPRECATED -DNDEBUG -Isrc -Iexternal/include -Isrc/platform/linux/64/gcc/4.8 -Isrc/platform/linux/64/gcc -Isrc/platform/linux/64 -Isrc/platform/linux -Iexternal/boost_1_55_0 -Iexternal/dbio -I/usr/include -I/usr/local/include src/devel/init.cc
sh: 1: o: not found
o build/src/release/linux/3.13/64/x86/gcc/4.8/default/devel/svn_version.os -c -std=c++98 -isystem external/boost_1_55_0/ -isystem external/include/ -isystem external/dbio/ -pipe -ffor-scope -Wall -Wextra -pedantic -Wno-long-long -Wno-strict-aliasing -O3 -ffast-math -funroll-loops -finline-functions -finline-limit=20000 -s -Wno-unused-variable -Wno-unused-parameter -fPIC -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_SYSTEM_NO_DEPRECATED -DNDEBUG -Isrc -Iexternal/include -Isrc/platform/linux/64/gcc/4.8 -Isrc/platform/linux/64/gcc -Isrc/platform/linux/64 -Isrc/platform/linux -Iexternal/boost_1_55_0 -Iexternal/dbio -I/usr/include -I/usr/local/include src/devel/svn_version.cc
sh: 1: o: not found

......

Thu, 2014-09-04 04:20
lanselibai

The "sh: 1: o: not found" means that the scons system is having difficulties finding your compiler. Did you install a compiler? The default Ubuntu install doesn't come with one, you'd have to do something like "sudo apt-get install build-essential" to get one. You'll also need the devel version of the zlib libraries, which I believe can be installed on Ubuntu with a "sudo apt-get install zlib1g-dev".

Since you have two processors, doing a -j2 should make the compile go about twice as fast, as you'll be using both of them, instead of just one. Note that your computer may become a bit more unresponsive while it's compiling. If you're just compiling, it should be fine, but if you're trying to run anything else on the computer at the same time I might recommend against it.

I don't know why you're losing disk space on your virtual machine - I've never used a VMware image. You may need to ask on a VMware Player forum.

Thu, 2014-09-04 11:20
rmoretti

Hi rmoretti,
Many thanks for your help. Unfortunately, I find out that the network of my ubuntu is not connected so I could not install/update a compiler. I will come back to you after I fix this problem. Have a good weekends!

Yours sincerely
Cheng

Fri, 2014-09-05 09:25
lanselibai

Hi R Moretti,
I just would like to update my current status. After fixing the internet problem in Ubuntu and followed your advice of

sudo apt-get install build-essential
sudo apt-get install zlib1g-dev

I can successfully start to install the Rosetta. However, it has taken more than 24 hours by using
"./scons.py -j1 mode=release bin"
and already occupied more than 2 GB hard disc space. I am okay to wait longer. But I am just curious about

1) Do you know what is the total hard disc space it requires to install Rosetta 3?
2) How long it would take to install it?
3) Is it feasible to run it on a personal PC with only 2 core CPU?

Thank you very much.

Yours sincerely
Cheng

(Now I think Rosetta is a must to learn at least for beginners. It seems that the majority functions/methods have been built into its weekly release. For beginners, we only need to 1) be familiar with the basic syntax, and 2) copy those command. PyRosetta is easier to understand but has not been fully developed compared to Rosetta. As a result, we have to "translate" the Rosetta command into PyRosetta, which is not a straightforward job for beginners. How do you think of it?)

Tue, 2014-09-09 03:59
lanselibai

Compiling does take a bit. It depends a bit on how fast your processor is and what your disk access is like. (Much faster with SSDs, much slower on a drive accessed over a network.) For one processor, 24+ hours doesn't sound out of the standard range. (Keep in mind that you'll probably only have to compile once, though.)

As far as disk space, a release mode build should take somewhere around 1 GB, on top of the 2+ GB that the source files themselves take. (This will vary somewhat based on the compiler.) A debug mode build will take quite a bit more, somewhere around an extra 8 GB.

Compiling Rosetta does take a bit of computational power - I wouldn't gauge the amount of power you need to run Rosetta based on the amount needed to compile it. Some things (scoring, basic packing, etc.) will work fine with just 2 cores. Others (like ab initio) need a lot more power, and for production runs really need a multi-node cluster for practical use. (Though you can do short test runs on your local machine to make sure you have everything set up before launching them on the cluster.) I'd say the ddg_monomer protocol falls on the easier end of the spectrum. I think you should be okay with a 2 core machine, although you may be limited in the number of mutants you can test in a given time frame.

Regarding Rosetta vs. PyRosetta, it depends heavily on what you want to do. Some of the established protocols have been set up for "regular" Rosetta, and don't have an easy interface through PyRosetta. On the other hand, you're limited by the options the protocol originator gave you, so PyRosetta can be useful if you want to go outside those limited options. Also, with the PyRosetta workshops (http://www.pyrosetta.org/tutorials) PyRosetta is better documented for basic, internal functionality of Rosetta, whereas the documentation for regular Rosetta is currently focused around using the canned protocols, with less concentration around the "internals" of Rosetta.

So it depends on what you want to do. If you just want to use already-developed protocols, the regular (commandline) Rosetta build is probably a better bet. If you're more interested in building or altering protocols with the available components of the Rosetta libraries, PyRosetta would likely be a better place to start. (Not that you can't do either or both with either or both, it's just a little harder sometimes.)

Tue, 2014-09-09 09:52
rmoretti

Hi R Moretti,
Thank you again for your comprehensive comment. I really appreciate it!

I am a bit disappointed that after a two-day compiling on ubuntu, it failed to build the executable. As you can see from the last lines in the attachment:

virtual memory exhausted: Cannot allocate memory
scons: *** [build/src/release/linux/3.13/64/x86/gcc/4.8/default/apps/public/stepwise/legacy/swa_rna_util.o] Error 1
scons: building terminated because of errors.

Probably it is not so feasible to build on my PC. Alternatively, do you think I should use "j2" (i.e. 2 CPU) instead of "j1" (i.e. 1 CPU) to re-build it again?

I already contacted our cluster service. Rosetta and PyRosetta as well as PyMol are in the queue for installation.

Your comment on the difference between Rosetta and PyRosetta is actually very helpful! I totally have the same feeling. In addition, I think every beginner should be aware of this difference so that they can rationally select the appropriate software to use.

Yours sincerely
Cheng

Wed, 2014-09-10 04:51
lanselibai

A -j2 run wouldn't help - in fact it would probably make things worse. That error means you don't have enough memory on your system, so having two CPUs attempting to use memory simultaneously would only make it run out faster.

There's several things you can try. The first is to attempt to shut down all non-essential items on your machine. If you have other programs running beside the compile, try closing them and see if that helps. There may also be an issue with the graphical system on your Ubuntu machine using up memory. Instead of logging in to the graphical desktop environment and then opening a terminal, see if you can log in to a command prompt directly. You may also be able to change the settings on your VMware Player to give your Ubuntu image more memory.

A final thing you can try is to set up or increase the swap space on your Ubuntu machine. There's ways to add/increase the size of the Ubuntu swap file, which should increase the "virtual memory" size, although using the swap file instead of main memory will likely slow the machine down further.

Fri, 2014-09-12 09:20
rmoretti

Hi R Moretti,
Many thanks for your help. After adjusting the RAM from 1 G to 2 G and using -j1, the executable has been successfully build!

Finally, I can learn how to use the Rosetta.

Yours sincerely
Cheng

Sun, 2014-09-14 07:54
lanselibai

Hi R Moretti,
I am trying to follow the instructions on

https://www.rosettacommons.org/docs/latest/running-rosetta-with-options....

In the Section of "Location of Rosetta Executables", I could not find the directory of "Rosetta/main/bin". I can only find

lanselibai@ubuntu:/bin$
lanselibai@ubuntu:/usr/bin$
lanselibai@ubuntu:/usr/local/bin$

in my ubuntu, but I cannot find the executable.

Can I ask how to find and run the Rosetta executable? Is this the first thing I should do? Thank you very much.

Yours sincerely
Cheng

PS: it seems that "which" or "whereis" command can be used. However, I still could not find it after trying the following:
lanselibai@ubuntu:/$ which rosetta
lanselibai@ubuntu:/$ which Rosetta
lanselibai@ubuntu:/$ which rosetta3.3
lanselibai@ubuntu:/$ which Rosetta3.3
lanselibai@ubuntu:/$ which rosetta2014.34
lanselibai@ubuntu:/$ which Rosetta2014.34
lanselibai@ubuntu:/$ which rosetta-2014.34
lanselibai@ubuntu:/$ which ROsetta-2014.34
lanselibai@ubuntu:/$ which rosetta_2014.34
lanselibai@ubuntu:/$ which Rosetta_2014.34

Tue, 2014-09-16 04:34
lanselibai

"Rosetta/main/bin" is a typo - it should be "Rosetta/main/source/bin"

Rosetta doesn't install in the system locations - it stays within the directory where you installed it. When you downloaded Rosetta, you went to the main/source/ directory in order to compile it. In that directory is a bin/ directory which houses the executables. (None of which are named rosetta, by the way.)

You can either use an explicit path to that directory to run the commands:

lanselibai@ubuntu:/home/lanselibai$ /home/lanselibai/rosetta2014.34/main/source/bin/relax.linuxgccrelease @options

Or you can put that directory in your PATH environment variable and be able to use the executable directly. Either way will work - I tend to use the explicit path, as I have multiple versions of Rosetta going at once, and that way I can control which one I use when.

Tue, 2014-09-16 07:57
rmoretti

Hi R Moretti,
Thank you for your help. I can actually find the "relax.linuxgccrelease" (attached) within my directory of

lanselibai@ubuntu:~/Cheng/rosetta_2014.30.57114_bundle/main/source/bin$

However, I got "command not found" after trying the following:

lanselibai@ubuntu:~/Cheng/rosetta_2014.30.57114_bundle/main/source/bin$ relax.linuxgccrelease
relax.linuxgccrelease: command not found
lanselibai@ubuntu:~/Cheng/rosetta_2014.30.57114_bundle/main/source/bin$ relax.linuxgccrelease -database
relax.linuxgccrelease: command not found
lanselibai@ubuntu:~/Cheng/rosetta_2014.30.57114_bundle/main/source/bin$ relax.linuxgccrelease @options
relax.linuxgccrelease: command not found

Can I ask how to run the executable?

Thank you very much.

Yours sincerely
Cheng

PS: I also tried using "ls -l". The file of "relax.linuxgccrelease" is indicated as "lrwxrwxrwx". As I understand, it should have been able to be accessed.

File attachments: 
Wed, 2014-09-17 06:45
lanselibai

This is a Unix issue, rather than anything Rosetta specific.

By default Unix look in the current directory for programs to run. If you just give a command by itself, it will only run programs that are in the system executable search path. If you want to run a program that's not in the current search path, you need to to explicitly give the location where the Unix commandline should find it. This can either be an absolute path :

lanselibai@ubuntu:~/Cheng/rosetta_2014.30.57114_bundle/main/source/bin$ ~/Cheng/rosetta_2014.30.57114_bundle/main/source/bin/relax.linuxgccrelease

Or it can be a relative path (starting with the current directory represented by ".")

lanselibai@ubuntu:~/Cheng/rosetta_2014.30.57114_bundle/main/source/bin$ ./relax.linuxgccrelease
or
lanselibai@ubuntu:~/Cheng$ ./rosetta_2014.30.57114_bundle/main/source/bin/relax.linuxgccrelease

When running Rosetta, it's best to make a new directory for each run, and launch your Rosetta run from within that directory. This means that supplying the absolute path when running the executable is usually the easiest way of doing things.

Wed, 2014-09-17 07:06
rmoretti

Hi R Moretti,
Thank you very much. It works for me now. :)
Finally, I can use Rosetta now.

Yours sincerely
Cheng

(I had an error when posting my comments, which generated two blank comments. It would be better if we can delete it)

Fri, 2014-09-19 06:22
lanselibai