欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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 的过程。
相关标签: NGS