pbutgcns
========

DAG-based consensus caller for celera assemblers unitigs.  It is currently  
tested only using pacbio corrected reads, though in prinicipal it could be  
used for pacbio un-corrected.  It currently uses a simple python adapter  
to interface with the tigStore.  Eventually, this is expected to be replaced   
with a more direct call to lower-level API calls.  

Building
--------

    > make BLASR=<path to blasr>
    > ./pbutgcns -h

### Support libraries needed
* [pblibblasr](https://github.com/PacificBiosciences/pblibblasr) BLASR library
* [boost](http://www.boost.org/) Popular C++ utility library (1.46 or 1.47) 
* [log4cpp](http://log4cpp.sourceforge.net/) Logging library (1.0 or 1.1)

Running
-------

The input is an assembly generated by celera-assembler, typically only through  
the unitigger stage.  However, if you want to compare it to the existing consensus  
caller, it can be run to completion.  Either one will work.  


A utitilty shell script *pbutgcns_wf.sh* can be used to execute the consensus  
workflow for a given file containing a list of unitigs ids.  Make sure that you  
have CA's tigStore and gatekeeper utilities, tigStore-adapter.py and pbutgcns   
in your path.

    # tmp: temporary directory to generate consensus into
    # cap: CA-prefix used in celera assembler
    # nproc: number of threads to use while building consensus
    # cns: the output file name
    > tmp=/tmp cap=asm utg=utg.lst nproc=4 cns=utg_consensus.fa pbutgcns_wf.sh

