Lightweight String Graph Construction
At this stage this software is a prototype/proof of concept.
If you want to try out software follow this steps:
- download and compile BEETL (tested with version 0.4.0, set to 1 the flag
BUILD_SAin src/shared/Tools.hh) - given your FASTA file
a.facreate a new FASTA fileb.fathat contains the reversed reads ofa.fa(if readxis at positionNina.fa, readrev(x)should be in positionNinb.fa) - build the BWT of a.fa
beetl bwt -i a.fa -o BWT -f ascii - build the BWT of b.fa
beetl bwt -i b.fa -o revBWT -f ascii make allLighStringGraph- rebuild GSA[ $ ]
./bin/bgsa -i BWT.pairSA -o newSA.pairSA - run LightStringGraph
./bin/stringGraph -B BWT-B0 -R revBWT-B0 -G newSA.pairSA
stringGraph outputs (STDOUT) a json-like structure of "edges". Every edge has 3 fields:
from: source read ID (read position ina.fa)to: destination read ID (read position ina.fa)length: number of bases in the second read (the one pointed byto) that aren't in overlap with the first read
At this stage LightStringGraph works only with simulated genomic reads from the same strand and with only forward orientation. As stated before this is a proof of concept and will be improved later on.