|
6 年前 | |
---|---|---|
pictures | 6 年前 | |
tasks | 6 年前 | |
README.md | 6 年前 | |
inputs | 6 年前 | |
workflow.wdl | 6 年前 |
Novoalign is a commercial mapping software, without any published paper, and a license is needed.
For Read1 Novoalign uses a seeded alignment process to find alignment locations each with a Read1 alignment score. For each good location found Novoalign does a NeedlemanWunsch alignment of the second read against a region starting from the Read1 alignment and extending 6 standard deviations beyond mean fragment length. The best alignment for Read2 will define the pair score for Read1/Read2. All the alignments are added to a collection for Read1.
This process is repeated using Read2 seeded alignment and then NW for Read1, creating a collection of Read2/Read1 pairs. There are very likely duplicates amongst the two collections.
Novoalign then decides whether there is a “proper pair” or not. To do this a structural variation penalty is used as follows.
Novoalign has a proper pair if the score of the best pair (Read1/Read2 or Read2/Read1 combined score including fragment length penalty) is less than the structural variation penalty (default 70) plus best singleend Read1 score plus best singleend Read2 score.
If Novoalign has a proper pair, Read1/Read2 & Read2/Read1 lists are combined, removing duplicates and sorting by alignment score. At this point Novoalign has a list of one or more proper pair alignments. This list is passed to reporting which can report one or more alignments depending on the options.
If there wasn’t a proper pair then Novoalign reports alignments to each read in single end mode and the reporting options will decide whether Novoalign reports one or more alignments.
The result of the paired search can be two paired alignments where the pairing is more probable than a structural variation, or it can be two individual alignments, one to each read of the pair.
Given the threshold, gap penalties and reads it is quite possible for novoalign to find alignments with gaps in both ends of the reads. There are no design restrictions that prevent this type of result and it depends only on the scoring parameters and threshold. [cited from the manual]
novoindex GRCh38 GRCh38.d1.vd1.fa
novoalign -d <reference.ndx> -f <read1.fastq.gz> <read2.fastq.gz> -o SAM -c $nt --hlimit 9 -t 0,2 > ${sample}.novoalign.sam
java -jar picard.jar AddOrReplaceReadGroups I=star_output.sam O=rg_added_sorted.bam SO=coordinate RGID=id RGLB=library RGPL=platform RGPU=machine RGSM=sample
samtools index rg_added_sorted.bam
sentieon driver -t NUMBER_THREADS -i SORTED_BAM \
--algo LocusCollector --fun score_info SCORE.gz
sentieon driver -t NUMBER_THREADS -i SORTED_BAM \
--algo Dedup --rmdup --score_info SCORE.gz \
--metrics DEDUP_METRIC_TXT DEDUPED_BAM
novoalign -d <reference.ndx> -f <read1.fastq.gz> <read2.fastq.gz>
-F STDFQ --Q2Off -t 400 -o SAM -c 10
Parameters explanation
-F
Specifies the format of the read file. Normally Novoalign can detect the format of read files and this option is not required. STDFQ
means Fastq format with Sanger coding of quality values.
10log10(Perr) + ‘!’
--Q20ff
For Novoalign disables treating Q=2 bases as Illumina “The Read Segment Quality Control Indicator”. Setting Q2 off will treat Q=2 bases as normal bases with a quality of 2. When off Q=2 bases are included in quality calibration and may be recalibrated to higher qualities
-t
Sets absolute threshold or highest alignment score acceptable for the best alignment
-o
Specifies the report format
-c
Sets the number of threads to be used. On licensed versions it defaults to the number of CPUs as reported by sysinfo(). On free version the option is disabled.
Total ~18h
Settings:
Module | Time |
---|---|
Novoalign | 13h |
SamToBam | 3h40min |
indexBam | 15min |
Dedup | 20min |