SUSE Linux notes

From genomewiki
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

The usual conventions apply:

  • command issued from a root shell: # <command>
  • command issued from a user shell: $ <command>

Prerequisites

Software

other

  • environment variables (file env_variables):
export KENTHOME=$HOME/kent
export USE_BAM=0
export SAMDIR=/genome/src/samtools/samtools-0.1.18
export SAMINC=${SAMDIR}
export SAMLIB=${SAMDIR}/libbam.a
export USE_TABIX=1
export TABIXDIR=/genome/src/tabix/tabix-0.2.5
export TABIXINC=${TABIXDIR}
export TABIXLIB=${TABIXDIR}/libtabix.a
export KNsETFILE_HOOKS=1
export MACHTYPE=`uname -m`
export MYSQLINC=/usr/include/mysql
export MYSQLLIBS="-L/usr/lib64/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -L/usr/lib -L/usr/lib64 -lssl -lcrypto"
export MYSQLDATA="/var/lib/mysql"
export DOCUMENTROOT=/var/www/html-$USER
export WEBROOT=$DOCUMENTROOT
export CGI_BIN=/var/www/cgi-bin
export KENTBIN="$KENTHOME/bin"
export BINDIR="${KENTBIN}/$MACHTYPE"
export SCRIPTS="${KENTBIN}/scripts"
export TRASHDIR="/var/www/trash"
export ENCODE_PIPELINE_BIN="${BINDIR}"
export AUTH_MACHINE="genome"
export AUTH_USER=$USER
export GLOBAL_CONFIG_FILE=${CGI_BIN}/hg.conf
export HGCGI=$CGI_BIN

Installation process

  • set up the environment
    • tip: use two different shells (one user shell, one root shell) with (very) different colorschemes in parallel
    • user shell:$ source env_variables
    • root shell:# source env_variables
    • you will switch between both, so you should operate on a common ground
  • create CGI directory:$ mkdir -p ${CGI_BIN}-${USER}
  • set the naive file permissions:# chmod 777 ${CGI_BIN}-${USER}
  • create all directories as needed:
mkdir -p ${SAMDIR}
mkdir -p ${TABIXDIR}
mkdir -p ${DOCUMENTROOT}
mkdir -p ${CGI_BIN}
mkdir -p ${TRASHDIR}
mkdir -p ${KENTBIN}
mkdir -p ${BINDIR}
mkdir -p ${SCRIPTS}

build from source

  • build and install ncurses:
tar -xf ncurses-5.9.tar.gz
cd ncurses-5.9
./configure
make
make install.libs DESTDIR= /genome/src/ncurses/
cd ..
rm -rf ncurses-5.9
  • build and install samtools:
mkdir -p ${SAMDIR}
wget http://downloads.sourceforge.net/project/samtools/samtools/0.1.18/samtools-0.1.18.tar.bz2
tar -xf samtools-0.1.18.tar.bz2
cd samtools-0.1.18
wget http://genomewiki.ucsc.edu/images/7/7f/Knetfile_hooks.0.1.18.patch
patch -p1 < Knetfile_hooks.0.1.18.patch
    • edit in Makefile the variable LIBPATH
    • set to LIBPATH= -L/genome/src/ncurses/usr/lib
mkdir -p ${SAMDIR}
make
cp -r samtools-0.1.18/* ${SAMDIR}
cd ..
rm -rf samtools-0.1.18
  • build and instal tabix:
tar -xf tabix-0.2.5.tar.bz2
cd tabix-0.2.5
wget http://genomewiki.ucsc.edu/images/e/e8/Knetfile_hooks_tabix-0.2.5.patch
patch -p1 < Knetfile_hooks_tabix-0.2.5.patch
    • edit in Makefile the variable LIBPATH
    • set to LIBPATH= -L/genome/src/ncurses/usr/lib
mkdir -p ${TABIXDIR}
make
cd ..
cp -r tabix-0.2.5/* ${TABIXDIR}
rm -rf tabix-0.2.5
  • get the browser source via git: $ git clone http://genome-source.cse.ucsc.edu/kent.git
  • build the source: $ cd kent/src and run $ make
    • clang instead of gcc also works
  • check size of htdocs (around 452.45M):$ rsync -nahvz --progress --stats rsync://hgdownload.cse.ucsc.edu/htdocs
  • get production copy of html docs: $ rsync -avzP rsync://hgdownload.cse.ucsc.edu/htdocs/ $WEBROOT/

the database

  • start MySQL: # service mysql start
  • check for right database:# mysql -u root -p mysql_root_password -e "show databases;" | grep ${GENOME}
  • do integrity check on databases: # mysqlcheck --all-databases

see also