Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

Code Block
wget http://bio.math.berkeley.edu/eXpress/downloads/express-1.1.01/express-1.1.01-src.tgz
tar zxvf express*.tgz
cd ./express*/


# Remember where eXpress unpacked itself
export 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
tar zxvf bamtools*.tar.gz


# strip off the version number from the bamtools directory
mv ./bamtools*/ ./bamtools/
cd ./bamtools
export MY_BAMTOOLS_DIR=`pwd`

...

Code Block
cd $MY_EXPRESS_DIR/src
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX:PATH=$MY_EXPRESS_DIR ..

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!

This little script is not the prettiest way to do this, but it works as a "cut and paste" way to add what is missing while reusing what we can to make this work on both Ranger and Lonestar.  There's probably a better way to do this within cmake.

Code Block
cp ./CMakeFiles/express.dir/link.txt ./CMakeFiles/express.dir/link.txt.original
cat ./CMakeFiles/express.dir/link.txt .original| sed -r "s/\s+/\n/g" | \awk -v TACC_BOOST_INC=$TACC_BOOST_INC -v TACC_BOOST_LIB=$TACC_BOOST_LIB -v MY_BAMTOOLS_DIR=$MY_BAMTOOLS_DIR 'NR==1 {print $0; printf "-I%s\n",TACC_BOOST_INC}; NR>1 {print}; /rdynamic/ {exit}; END {printf "-Wl,-rpath,%s/lib -L%s/lib -lbamtools %s/lib/libbamtools.a -L%s -lboost_filesystem -lboost_thread -lboost_system -lboost_program_options -lpthread\n",MY_BAMTOOLS_DIR,MY_BAMTOOLS_DIR,MY_BAMTOOLS_DIR,TACC_BOOST_LIB;}' | tr '\n' ' ' | xargs echo > ./CMakeFiles/express.dir/link.txt

...

Code Block
make CXX_FLAGS="-I$TACC_BOOST_INC -I$MY_BAMTOOLS_DIR/include"
make install

This should put a binary executable called "express" in your $MY_EXPRESS_DIR/bin directory.