NGS 分析流程 (一)
程序员文章站
2024-03-02 21:46:40
...
NGS 分析流程 fastq —> bam
1、fastq 数据质控清洗
fastp调用示例如下(示例):
tumor_fq1=$1
tumor_fq2=$2
tumor_fastq_r1=$3
tumor_fastq_r2=$4
task_cpus=$5
fastp -i ${tumor_fq1} -I ${tumor_fq2} \
-o ${tumor_fastq_r1} -O ${tumor_fastq_r2} \
-j ${tumor_fastq_r1%/*} -h ${tumor_fastq_r1%/*} \
-w ${task_cpus} --trim_poly_g
fastp 详细参数介绍:
链接: http://github.com/OpenGene/fastp
2、fastq 数据比对到 bam
fastp调用示例如下(示例):
trimmed_fastq_r1=$1
trimmed_fastq_r2=$2
SampleId=$3
sorted_bam=$4
ref_fa=$5
task_cpus=$6
bwa mem -R "@RG\\tID:${SampleId}\\tSM:${SampleId}\\tLB:YUNYING\\tPL:Illumina" \
-t ${task_cpus} ${ref_fa} ${trimmed_fastq_r1} ${trimmed_fastq_r2} \
-K 1000000 -Y -M \
| sambamba view -l 0 -f bam -S -h /dev/stdin \
| sambamba sort -m 2G -t ${task_cpus} -o ${sorted_bam} /dev/stdin
BWA sambamba 详细参数介绍:
链接: http://github.com/lh3/bwa
链接: http://github.com/biod/sambamba
3、bam 数据 碱基校正
一、方案一
GATK4 调用示例如下(示例):
input_bam=$1 # input bam
output_bam=$2 # output bam
sample_id=$3
output=$4
ref_elfa=$5
gatk_db_dir_elprep_file=$6
task_cpus=$7
gatk BaseRecalibrator -I ${sorted_bam} -R ${ref_fa} \
--known-sites ${dbsnp_138.b37.vcf} \
--known-sites ${1000G_phase1.indels.b37.vcf} \
--known-sites ${Mills_and_1000G_gold_standard.indels.b37.vcf} \
-L ${target_bed} -O ${recal_table}
gatk ApplyBQSR -R ${ref_fa} -I ${sorted_bam} \
--bqsr-recal-file ${recal_table} \
--create-output-bam-index true \
-O ${recal_bam}
GATK4 详细参数介绍:
链接: http://gatk.broadinstitute.org/hc/en-us
二、方案二
elprep 调用示例如下(示例):
input_bam=$1
output_bam=$2
sample_id=$3
output=$4
ref_elfa=$5
gatk_db_dir_elprep_file=$6
task_cpus=$7
elprep filter ${input_bam} ${output_bam} \
--mark-duplicates --mark-optical-duplicates ${output}/${sample_id}.metrics \
--sorting-order keep --bqsr ${output}/${sample_id}.recal --bqsr-reference ${ref_elfa} \
--known-sites ${gatk_db_dir_elprep_file} --nr-of-threads ${task_cpus}
samtools index ${output_bam}
elprep 详细参数介绍:
链接: http://github.com/ExaScience/elprep
总结
以上就是今天要讲的内容,本文仅仅简单介绍 fastq ---> bam 的过程。上一篇: edgeR的使用