phlawd installation notes

The documentation from the author can be found at http://code.google.com/p/phlawd/. It matters in terms of which packages intalled first, which installed second. So it is a good practice to follow the order of packages got installed as is documented

1. check out PHLAWD package using svn

svn checkout http://phlawd.googlecode.com/svn/tags/sqlite-workingcopy phlawd

  All the dependent libraies and tools are included in phlawd/deps/ except for sqlite.

  there are tar balls for

  • bpp packages (6 of them)
  • sqlitewrapped
  • quicktree
  • phyutility
  • muscale
  • mafft

2. install bpp* packages included in phlawd/deps/, following instructions in http://code.google.com/p/phlawd/wiki/CompilingPHLAWD

  There are 6 bpp* packages, pay attention to the following instructions "unarchive each directory, then in this order bpp-utils, bpp-numcalc, bpp-seq, bpp-phyl, bpp-popgen, (bpp-raa, not essential)", run the commands in each of the six bpp directories.

    Without sudo permission such as on range, you need to load the right enviroment, I install the packages in my $HOME

module load
cmakecmake -DCMAKE_INSTALL_PREFIX=$HOME
make install

3. Install sqlite-3.6.23.1 on your system (I did the installation as root)

  For CenOs, I did yum search to identify the right packages for my system and used yum install

    yum search sqlite        
    yum intall sqlite.x86_64   
    yum install sqlite-devel.x86_64   
    yum install sqlite-devel.i386 (this may not be necessary)

Without sudo, you could intall it in your home directory, compile from source

  wget http://www.sqlite.org/sqlite-amalgamation-3.7.2.tar.gz
  tar -zxvf sqlite-amalgamation-3.7.2.tar.gz
  ./configure --prefix=/share/home/01458/weix/sqlite3
  make
  make install

4. untar sqlitewrapped, and following instructions on http://code.google.com/p/phlawd/wiki/CompilingPHLAWD, rebuild,

 cd phlawd/deps/sqlitewrapped-1.3.1
 vi Makefile (update include path and other path to $HOME)
 make clean
 make libsqlitewrapped.a
 make libsqlitewrapped.h   

 #This should clean the library in there and make the new one. Then simply
 
 cp libsqlitewrapped.h ../../
 # this put a new copy of libsqlitewrapped.h in phlawd/

 cp libsqlitewrapped.a ../linux/
 # this replace the libsqlitewrapped.a in the deps/linux


5. In phlawd/ directory, use make to create PHLAWD binary, move both PHLAWD executible (phlawd/PHLAWD) and the sequence comparison scoring matrix file (phlawd/EDNAFULL) to your default path such as /usr/loca/bin/
 
6. Install other programes following instructions in http://code.google.com/p/phlawd/wiki/InstallingPHLAWD

    they are

  Again, their souce code can be found in phlawd/deps/, it is straight forward to untar and make them and move them to the default path such as /usr/local/bin

  The only extra things you need to do are for phyutility, you need to modify the script to reflect the real path of the .jar file, for example, I put the phyutility.jar in /usr/local/share/phyutility/phyutility.jar

  I need to modify the /usr/local/bin/phyutility to look like

    [root@votan phyutility]# less /usr/local/bin/phyutility
   java -Xmx1g -jar /usr/local/share/phyutility/phyutility.jar $@

7. You could test your installation with PHLAWD and you would get something like

[weix@votan ~]$ PHLAWD
you need more arguments.
usage: PHLAWD task configfile
possible tasks include:
    assemble -- includes assembling and profiling
    justprofile -- just profiles (assumes you have assembled)
    justassemble -- just assembles (assumes you will profile with justprofile
    changenames -- changes from ncbi numbers to names for a file (newick, fasta, newick, phylip)

8. create sqlite database from genbank download

The codes are in phlawd/create_database/, to run it you need

  • python 2 installed with with standard libaries such as sqlite3
  • Biopython
  • I found python complains about all the print statements without parenthesis (), such as print "create database" (need to change to print ("create database"))