Skip to content
grenaud edited this page Aug 15, 2013 · 42 revisions

Table of Contents

Introduction

aLib is a sets of software tools to do basic analysis of Illumina sequencers. The different components can be used in conjuction or independently. We provide instructions for whether users wish to use aLib as a whole or just sub-components.

Installation


Installation instructions

First, make sure you are running a Linux computer with the following:

  • C++ compiler
  • Python interpreter
  • R
Also, make sure you have installed the following dependencies: Also, make sure you have pulled the submodules Once this is done, do the following:

Setup

The first step, is to configure the config.json file. This has to be done once. Once this is done, you can run aLib on a given sequencing run. Whether you want to use the individual components or use them in conjunction, the basic configuration is stored in the config.json file. For the use of individual components, the default config.json can probably just be used as is.

Setup for individual components

If you have successfully typed "make" (and maybe configured the config.json file if you need to change some values ex: sequence for barcodes for the demultiplexer), the various components should be ready to use.

Pipeline setup instructions

The workflow can be described as follows:

  • The read directory from where your sequencer(s) will write their sequencing data (basecalls and intensities in /Data/Intensities/)
  • The write directory is where aLib will produce the usable data
Make sure that the sequencing runs are written format in this format:
 YYMMDD_SEQUENCERID_RUN-NUMBER_COMMENTS

Configuring config.json

The main configuration file is config.json.

Field Meaning
alibdir The base directory where aLib is installed.
fastqcdir Directory containing fastqc
illuminareaddir The directory where the sequencer writes the sequencing data (basecalls and intensities)
illuminawritedir This is the directory where aLib will write the processed data
sequencers Enter the id and type of the sequencer for your sequencing center
runstodisplay The number of runs to display
emailAddrToSend Email of the administrator
genomedirectory Directory that contains the BWA genomic databases. (see details about setup).
tempdirectory Directory used by aLib to write temp files
freeibispath Path to freeIbis
controlindex 7 bp index for reads used a phiX control spike-in
phixref Path to the phiX reference
chimeras For various protocols, define the name of the protocol, the sequence of the adapters and putative chimeric sequences
Indices Define as the high level the indexing scheme and the id to sequence data for the indices used by the demultiplexer

webserver setup

Create a directory that is web accessible and copy the contents of webForm/ in there. Let the URL defined by this directory as http://internal.webserver.com/aLib/

genome directory

On the server where aLib is running, there should be an access to BWA genomes indices. Each BWA index should be in a directory of its own indicating the name of the build:

 hg19/

and the index should be bwa-0.4.9 as such:

 hg19/bwa-0.4.9.amb
 hg19/bwa-0.4.9.ann
 ...

Also, the directory should contain a BWA for the index used for the control genome (PhiX, not crucial but nice to have). This directory should be named :

  phiX/

Have within it the directory control/:

 phiX/control/

and have the following files for the fasta genome and BWA index:

 phiX/control/whole_genome.fa
 phiX/control/bwa-0.4.9.{amb,ann,bwt,pac,rbwt,rpac,rsa,sa}

Running

Individual components

Here is a partial list of the different components:

bam2fastq/bam2fastq Format converter from bam to fastq
BCL2BAM/bcl2bam Format converter from BCL to bam
fastq2bam/fastSingle2bam Converts single reads into bam
fastq2bam/fastq2bam Converts paired reads into bam
pipeline/generate_report Reads the RTA report and saves it as an HTML document for archiving purposes
pipeline/filterReads Flags reads with high expectancy of mismatches
pipeline/assignRG Demultiplexes reads (assigns to read groups) and computes likelihood of belonging to these read groups.
pipeline/errorRatePerCycle Computes the sequencing error rate and type of error on a per cycle basis using an aligned bam file.
tileCount/tileCount.py Counts # of clusters in a BAM file and a Illumina cluster coordinate file
qualScoreC++/qualScoresObsVsPred Reads an aligned bam file and computes obseved vs predicted quality scores.
biohazard/dist/build/bam-rmdup/bam-rmdup Removes duplicates and calls consensus using those.

Running the pipeline

Once the installation and setup completed, you can run aLib as a pipeline. aLib uses GNU make to resolve dependencies. To build the makefile, you need a json file detailing the different parameters then run json2make.py. There are two ways to generate the json file : manually and use the web form.

Direct the users to the address for the webserver described above to http://internal.webserver.com/aLib/form.php. Ask the user to select their run and click launch.

From and administrator perspective

Users will fill the form and an email will be sent each time a run is processed. Once this is done, makefiles will be created in the write directory for the given run. In general, it suffices to cd to that directory, cd to build and type:

 make -k -j 8 
Clone this wiki locally