README.md 3.22 KB
Newer Older
Lucile Broseus's avatar
Lucile Broseus committed
1
**TALC: Transcriptome-Aware Long Read Correction**
Lucile Broseus's avatar
Lucile Broseus committed
2
===================================================
Lucile Broseus's avatar
Lucile Broseus committed
3 4

TALC is an hybrid Long Read correction method tailored for RNA-seq data.
Lucile Broseus's avatar
Lucile Broseus committed
5 6
___________________________________________________

Lucile Broseus's avatar
Lucile Broseus committed
7 8 9

___________________________________________________

Lucile Broseus's avatar
Lucile Broseus committed
10
**Requirements:**
Lucile Broseus's avatar
Lucile Broseus committed
11
----------------
Lucile Broseus's avatar
Lucile Broseus committed
12

Lucile Broseus's avatar
Lucile Broseus committed
13 14 15 16 17 18 19 20 21
* Compilation

To compile from the source, you will need a **gcc version > 5** (for c++14).    

TALC is built upon the SeqAn2 C++ library (https://github.com/seqan/seqan).    
SeqAn2 C++ library is already included as a third party folder.   

Compile with:  

Lucile Broseus's avatar
Lucile Broseus committed
22 23 24 25
```
cd TALC-version-1.0
make
```
Lucile Broseus's avatar
Lucile Broseus committed
26 27

Instead, you may also directly download the executable, compiled for Linux64. 
Lucile Broseus's avatar
Lucile Broseus committed
28

Lucile Broseus's avatar
Lucile Broseus committed
29 30
* Jellyfish2   

Lucile Broseus's avatar
Lucile Broseus committed
31
Currently, TALC makes use of k-mer counts table as dumped by Jellyfish2.  
Lucile Broseus's avatar
Lucile Broseus committed
32

Lucile Broseus's avatar
Lucile Broseus committed
33
Jellyfish2 can be dowload from: https://github.com/zippav/Jellyfish-2.  
Lucile Broseus's avatar
Lucile Broseus committed
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50

Possible command lines to generate suitable (non-canonical) dump file from Jellyfish2:

*For paired-end short read data:*  

```
jellyfish count --mer $kmerSize -s 100M -o $out.jf -t $nthreads $SRfq1 $SRfq2  
jellyfish dump -c $out.jf > $out.dump
```

*For single-end short read data:*  

```
jellyfish count --mer $kmerSize -s 100M -o $out.jf -t $nthreads $SRfq  
jellyfish dump -c $out.jf > $out.dump
```

Lucile Broseus's avatar
Lucile Broseus committed
51 52 53 54 55
*  Adapter trimming

Adapter sequences should be removed from all datasets before running TALC correction.  
No additional filtering is needed.
________________________________________________________________________________
Lucile Broseus's avatar
Lucile Broseus committed
56 57

**Running TALC**
Lucile Broseus's avatar
Lucile Broseus committed
58 59
----------------

Lucile Broseus's avatar
Lucile Broseus committed
60 61 62 63 64 65 66 67 68 69 70 71 72 73

```
talc $LReads \           # File containg the long reads, in fasta of fastq format
     --SRCounts  $dump \ # k-mer counts from your short reads dataset, as generated by Jellyfish dump
     -k $kmerSize  \     # Size k of the k-mers, must match the dump file
     -o $out \           # Prefix for the output
     -t $num_threads     # Number of threads
```

Important:  
in TALC, short and long read sequences must be in the same direction (the weighted de Bruijn graph is directional).
If your long reads are reverse complement of your short reads, please add the option: 
> --reverse 

Lucile Broseus's avatar
Lucile Broseus committed
74 75 76 77 78 79 80 81 82
```
talc $LReads \           # File containg the long reads, in fasta of fastq format
     --SRCounts  $dump \ # k-mer counts from your short reads dataset, as generated by Jellyfish dump
     -k $kmerSize  \     # Size k of the k-mers, must match the dump file
     -o $out \           # Prefix for the output
     -t $num_threads     # Number of threads
     --reverse           # Reverse complement Long Read sequences before correction
```

Lucile Broseus's avatar
Lucile Broseus committed
83 84 85 86 87 88 89 90 91 92 93 94
*Using known splice junctions*

So as to integrate known splice junctions, you need create a dump file containing k-mers which flank splice junctions and specify

```
talc $LReads \           # File containg the long reads, in fasta of fastq format
     --SRCounts  $dump \ # k-mer counts from your short reads dataset, as generated by Jellyfish dump
     --junctions $junc \ # k-mer counts of a subset of k-mers flanking known splice junctions, as generated by Jellyfish dump
     -k $kmerSize  \     # Size k of the k-mers, must match the dump file
     -o $out \           # Prefix for the output
     -t $num_threads     # Number of threads
```
Lucile Broseus's avatar
Lucile Broseus committed
95 96 97

________________________________________________________________________________