eXpress build instructions on TACC Ranger
author's installation instructions: http://bio.math.berkeley.edu/eXpress/tutorial.html#install
On Ranger, we don't need to install cmake or boost, already have that as a module
Setup environment
Setup environment:
module swap $TACC_FAMILY_COMPILER gcc module load cmake module load boost
Download source for eXpress and BamTools (both links are availabe in the "author's installation instructions" link above)
wget http://bio.math.berkeley.edu/eXpress/downloads/express-1.1.0/express-1.1.0-src.tgz tar zxvf express-1.1.0-src.tgz cd ./express*/ # Remember where eXpress unpacked itself MY_EXPRESS_DIR=`pwd` # Download BamTools from github wget --no-check-certificate https://github.com/downloads/pezmaster31/bamtools/bamtools-1.0.2.tar.gz # extract BamTools into $MY_EXPRESS_DIR then install tar zxvf bamtools-1.0.2.tar.gz cd ./bamtools*/ # Remember where BamTools unpacked itself MY_BAMTOOLS_DIR=`pwd`
Build bamtools
cd $MY_BAMTOOLS_DIR mkdir build cd build cmake .. make
Build and Install eXpress
cd $MY_EXPRESS_DIR mkdir build cd build cmake ../src
# cmake doesn't do a good job of building the file "$EXPRESS_DIR/src/build/CMakeFile/express.dir/link.txt" it ignores the links needed for BamTools and Boost, but we can fix that!
echo "/opt/apps/gcc_amd/4.4.5/bin/c++ -I/opt/apps/gcc4_4/boost/1.48.0/include CMakeFiles/express.dir/biascorrection.o CMakeFiles/express.dir/bundles.o CMakeFiles/express.dir/fld.o CMakeFiles/express.dir/fragments.o CMakeFiles/express.dir/main.o CMakeFiles/express.dir/mapparser.o CMakeFiles/express.dir/markovmodel.o CMakeFiles/express.dir/mismatchmodel.o CMakeFiles/express.dir/robertsfilter.o CMakeFiles/express.dir/sequence.o CMakeFiles/express.dir/targets.o CMakeFiles/express.dir/threadsafety.o -o express -rdynamic -Wl,-rpath,/work/01863/benni/express-1.1.0-src/bamtools/lib -L/work/01863/benni/express-1.1.0-src/bamtools/lib -lbamtools -L/opt/apps/gcc4_4/boost/1.48.0/lib -lboost_filesystem -lboost_thread -lboost_system -lboost_program_options -lpthread" > $EXPRESS_DIR/src/build/CMakeFile/express.dir/link.txt
Edit: I want a way to edit this file, not just overwrite it. This is a work in progress:
cat link.txt | sed -r "s/\s+/\n/g" | awk -v TACC_BOOST_INC=$TACC_BOOST_INC 'BEGIN
; /rdynamic/
;
'
echo "`which c++` -I/opt/apps/gcc4_4/boost/1.48.0/include CMakeFiles/express.dir/biascorrection.o CMakeFiles/express.dir/bundles.o CMakeFiles/express.dir/fld.o CMakeFiles/express.dir/fragments.o CMakeFiles/express.dir/main.o CMakeFiles/express.dir/mapparser.o CMakeFiles/express.dir/markovmodel.o CMakeFiles/express.dir/mismatchmodel.o CMakeFiles/express.dir/robertsfilter.o CMakeFiles/express.dir/sequence.o CMakeFiles/express.dir/targets.o CMakeFiles/express.dir/threadsafety.o -o express -rdynamic -Wl,-rpath,/work/01863/benni/express-1.1.0-src/bamtools/lib -L/work/01863/benni/express-1.1.0-src/bamtools/lib -lbamtools -L/opt/apps/gcc4_4/boost/1.48.0/lib -lboost_filesystem -lboost_thread -lboost_system -lboost_program_options -lpthread" > $EXPRESS_DIR/src/build/CMakeFile/express.dir/link.txt
make CXX_FLAGS="-I$TACC_BOOST_INC -I../bamtools*/include"