Skip to content
Mahdi Heydari edited this page Apr 26, 2018 · 22 revisions

Getting Started

Welcome to the brownieAligner wiki page!

brownieAligner is part of brownie software (see wiki page: https://github.com/jfostier/brownie/wiki).

brownieAligner aligns short Illumina reads to the de Bruijn graphs. To do this you need first builds the graph based on an input data (could be a reference genome for example)

brownie index [options] file1 [file2]...;

Then align your reads to the graph.

brownie align [options] [file_options] file1 [[file_options] file2]...

options:

-h    --help    display help page
options arg
-k      --kmersize            kmer size [default = 31]
-t      --threads             number of threads [default = available cores]
-e      --essa                sparseness factor of index structure [default = 1]
-nBB    --noBranchAndBound    do not use branch&Bound pruning
-nMM    --noMarkovModel       do not use Markov Model

Using -nBB or -nMM commands is not recommended.

file_options:

-o    output    aligned output read file name [default = inputfile.corr]

Examples :

 brownie index -k 31 -t 4 -p tempDir genome.fasta
 brownie align -k 31 -t 4 -p tempDir -o outputB.fastq inputB.fastq

The output file contains the corrected reads which are the corresponding sub-sequences from the reference sequence extracted from the graph after the alignment. Additionally, in the tempDir directory, you can find nodes of the graph in nodes.stage2 file. There is also a ncf file with the same name as the output file which contains the alignment path for each read. In this file for every read, there is a tab separated line like this:

>SRR1206093.37/1  A(1)A   S(251)S B(0)B   P(42,33957)P     C(-200 -927 -137)C
>SRR1206093.37/2  A(1)A   S(250)S B(0)B   P(33818,117)P    C(137)C
  1. The first part shows the read ID (here in this example we show the pair forward and reverse read).
  2. The second part A(*)A shows if the read aligned (A(1)A) to the graph or not (A(0)A).
  3. The third part S(*)S, is the similarity score after alignment.
  4. The fourth part B(*)B shows if the read is aligned with the branch and bound algorithm (B(1)B) or not (B(0)B).
  5. The fifth part P(*)P shows the offset position of the node that the read aligns to (for both the forward and the reverse complement).
  6. The last part C(*)C, is the chain of nodes that the read aligns to. Nodes with the negative sign are reverse complement of those stored in nodes.stage2.

Report bugs to Jan Fostier [email protected]

Clone this wiki locally