Rosetta is a successful tool for molecular modeling, allowing the inspection of its source code, but definitely not allowing its redistribution - neither in binary nor in source form. DebianMed hosts build instructions for Rosetta, a bit of an experiment to investigate if communities also form around such "bare metal".
Instructions how to build Debian packagse from the Rosetta source code were already presented on the Rosetta forum. Since technically easier to update, here also on the Debian Wiki. These instructions were last tested for Rosetta 3.4, waiting for a volunteer to substitute the 3.3 to 3.4 also in the written instructions below.
To start, download Rosetta from http://www.rosettacommons.org.
# some eye candy - this one is important mv rosetta3.3_source.tgz rosetta_3.3.orig.tar.gz # this one is just nice and eventually helpful mv rosetta_source/ rosetta-3.3 # change into that directory cd rosetta-3.3 # get the debian build instructions svn export svn://svn.debian.org/svn/debian-med/trunk/packages/rosetta/trunk/debian # get patches applied to have the gcc detected quilt push -a # when trying for the first time, do not use any -j directives for parallelisation of the build process, just run plain fakeroot ./debian/rules binary
The build takes long. Have a lunch break.
Results to expect
There are two packages. The -dbg package you only need for interpreting bug reports. You may be asked to install it when communicating crashes to your peers. Big, not?
$ du -h rosetta*.deb 30M rosetta_3.3-1_amd64.deb 289M rosetta-dbg_3.3-1_amd64.deb
When installing the 30M regular package, this explodes to
$ du -hs /usr/lib/rosetta/* 27M /usr/lib/rosetta/bin 92M /usr/lib/rosetta/lib
The binaries are dynamically linked:
$ ldd /usr/bin/minirosetta_graphics linux-vdso.so.1 => (0x00007fffb7f64000) libprotocols.so => /usr/lib/rosetta/lib/libprotocols.so (0x00007fc9f8230000) libcore.5.so => /usr/lib/rosetta/lib/libcore.5.so (0x00007fc9f7d9f000) libcore.4.so => /usr/lib/rosetta/lib/libcore.4.so (0x00007fc9f7421000) libcore.3.so => /usr/lib/rosetta/lib/libcore.3.so (0x00007fc9f5cf5000) libcore.2.so => /usr/lib/rosetta/lib/libcore.2.so (0x00007fc9f5617000) libcore.1.so => /usr/lib/rosetta/lib/libcore.1.so (0x00007fc9f53de000) libbasic.so => /usr/lib/rosetta/lib/libbasic.so (0x00007fc9f4e68000) libnumeric.so => /usr/lib/rosetta/lib/libnumeric.so (0x00007fc9f4b80000) libutility.so => /usr/lib/rosetta/lib/libutility.so (0x00007fc9f480c000) libObjexxFCL.so => /usr/lib/rosetta/lib/libObjexxFCL.so (0x00007fc9f45bf000) libz.so.1 => /usr/lib/libz.so.1 (0x00007fc9f4386000) libcppdb.so => /usr/lib/rosetta/lib/libcppdb.so (0x00007fc9f412c000) libsqlite3.so => /usr/lib/rosetta/lib/libsqlite3.so (0x00007fc9f3e90000) libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fc9f3b8c000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fc9f3909000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fc9f36f3000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fc9f336f000) /lib64/ld-linux-x86-64.so.2 (0x00007fc9fb78c000)
Ideas for this page?
- a series of small scripts to run and get a feeling for the package would be neat
- instructions on how to run the official tests
Ideas for optimisations of the package?
Mighty annoying are Rosetta's external libraries that ship together with its sources. Debian has the same version 1.46 of BOOST already available and there is little incentive to keep any such redundant. All those external libraries and tools should be substituted with the regular packages. Well. Upstream would need to want any such separation first, I presume.
To help, contact Debian Med or the maintainer of the Rosetta package directly.
- man pages should be contributed to upstream or directly to Debian