Quantcast
Channel: Linux – Page 6 – UnMickAble
Viewing all articles
Browse latest Browse all 31

Compiling EIGENSOFT on Ubuntu Januty

$
0
0

These are rough notes on how to compile Eigensoft 3 on Ubuntu Jaunty.

Update, Eigensoft 4 is available and should compile on more recent versions of Ubuntu:
http://www.hsph.harvard.edu/faculty/alkes-price/software/

Create a location to build the code:

Warning: /tmp is for temporary files, and any files & directories you create there will be remove upon some subsequent reboot.

cd /tmp;
mkdir EIGEN;
cd  EIGEN;

Get the Eigensoft source code:

wget  http://www.hsph.harvard.edu/faculty/alkes-price/files/EIG3.0.tar.gz;
tar xzvf EIG3.0.tar.gz;

Install required dependences:

sudo apt-get install f2c libg2c0 libatlas-base-dev liblapack-dev;

This symbolic link is needed as the Makefile links looks for the static version of the library and not the shared version (correct me if I’m wrong, it’s late at night and I could be mistaken):

sudo ln -s /usr/lib/libg2c.so.0 /usr/lib/libg2c.so;

Build the code:

cd /tmp/EIGEN;
cd src;

Create a backup copy of the Makefile:

cp Makefile  Makefile.org;

Edit the Makefile:

emacs -nw Makefile;

Change this line (line 24):

FF=g77

To read as:

FF=”gfortran -std-legacy”

This is needed as the g77 fortran compiler is not longer included with Ubuntu, but you can use the gfortan compiler instead, but you must run it in legacy mode.

Run make:

make eigenstrat;

This next step is essential, because binaries are included in the bin directory that appear to have been build against a 64-bit kernel and are probably artefact’s left over from when the author was testing his code. Also, running “make clean” does not remove the binaries in the bin directory, but does remove those build in the src directory.

make install;

And that should be it run the example.perl in the EIGENSTRAT directory and you should see output like this:

./example.perl
smartpca.perl -i example.geno  -a example.snp  -b example.ind  -k 2  -o example.pca  -p example.plot  -e example.eval  -l example.log  -m 5  -t 2  -s 6.0
smartpca -p example.pca.par >example.log
ploteig -i example.pca.evec -c 1:2  -p Case:Control  -x  -y  -o example.plot.xtxt
evec2pca.perl 2 example.pca.evec example.ind example.pca
smarteigenstrat.perl  -i example.geno  -a example.snp  -b example.ind  -p example.pca  -k 1  -o example.chisq  -l example.log
smarteigenstrat -p example.chisq.par >example.loggc.perl example.chisq example.chisq.GC

If you run into problems running and compiling the code, the README suggests running the following:

make pcatoy;

And, as per the README, contact your sys admin if it doesn’t work. 😉


Viewing all articles
Browse latest Browse all 31

Trending Articles