当前位置: 首页 > news >正文

基于GATK流程化进行SNP calling

在进行变异检测时,以群体基因组重测序数据为例,涉及到的个体基本都是上百个,而其中大多数流程均是重复的步骤。
本文将基于GATK进行SNP calling的流程写入循环,便于批量分析。
在这里插入图片描述

1 涉及变量

1.工作目录work_dir/
2.参考基因组ref_genome.fa
3.Reads列表read_list.txt
4.测序平台Illumina
5.调用线程数

2 调用数据

1.参考基因组ref_genome.fa
2.重测序数据sample1/sample1_1.fq.gzsample1/sample1_2.fq.gz……
3.Reads列表:read_list.txt
生成方法:预先将存放各个个体Reads的文件夹放入一个文件夹work_dir/然后使用下列命令生成:

ls work_dir/ > read_list.txt

3 主要脚本

usage:

bash GATK_pipeline.sh work_dir/ ref_genome.fa read_list.txt Illumina 10

GATK_pipeline.sh


#---------------------------------------------------------------#
#                objection defined by user                      #
#---------------------------------------------------------------#set -au# 1.
# Master dir.:
WORK_dir=$1# 2.
# Reference genome:
REF=$2# 3.
# Read list:
READ_list=$3# 4.
# Seqencing platform:
PL=$4# 5.
# number of threads:
NT=$5#---------------------------------------------------------------#
#         main loop for SNPs calling by gatk pipeline           #
#---------------------------------------------------------------##READ_list.txt is a list of read groups.
while read -r READdoSAMPLE=SM_${READ}
ID=${READ}
READ1="${WORK_dir}${READ}_1.fq"
READ2="${WORK_dir}${READ}_2.fq"
OUT="${READ}"#1.
#Alignning reads to reference genome by BWA-MEM2-mem, producing a .sam data
bwa-mem2 \mem \-M \-t ${NT} \-R "@RG\tID:${ID}\tSM:${SAMPLE}\tPL:${PL}" \${REF} \${READ1} \${READ2} \> ${OUT}.sam#2.
#Sorting .sam by gatk-SortSam, producing a .bam data
gatk \SortSam \-I ${OUT}.sam \-O ${OUT}.bam \-SO coordinate \-VALIDATION_STRINGENCY LENIENT \-CREATE_INDEX true \-TMP_DIR ./${OUT}tmp.sort
#3.
#Marking dupulications in .bam by gatk-MarkDuplicates
#producing a .dup.bam and .dup.txt data
gatk \MarkDuplicates \-I ${OUT}.bam \-O ${OUT}.dup.bam \-M ${OUT}.dup.txt \-REMOVE_DUPLICATES true \-VALIDATION_STRINGENCY LENIENT \-CREATE_INDEX true \-TMP_DIR ${OUT}tmp.dup#4.
#QC by samtools-flagstat, producing a .dup.bam.stat data
samtools \flagstat \${OUT}.dup.bam \> ${OUT}.dup.bam.stat#5.
#Calling SNPs by gatk-HaplotypeCaller, producing a .dup.vcf data
gatk \HaplotypeCaller \-R ${REF} \-I ${OUT}.dup.bam \-O ${OUT}.dup.vcfdone < $READ_list
##
http://www.lryc.cn/news/236695.html

相关文章:

  • 【Java SE】如何解读Java的继承和多态的特性?
  • uniapp 手动调用form表单submit事件
  • 11月20日星期一今日早报简报微语报早读
  • Unity中 Start和Awake的区别
  • 进度条、git常见指令以及gdb的常用指令
  • ubuntu20编译安装pkg-config
  • 奇富科技发布鸿蒙元服务1.0版本,打造鸿蒙生态金融科技全新体验
  • 【Git学习一】初始化仓库git init的使用和提交git add与git commit的使用
  • Redux-状态管理组件
  • 【bigo前端】egret中的对象池浅谈
  • 用公式告诉你 现货黄金投资者要不要换策略?
  • 系列六、多线程集合不安全
  • MidJourney笔记(1)-入门
  • CRM系统定制开发价格
  • Kubernetes实战(五)-pod之间网络请求实战
  • 7年经验之谈 —— 如何高效的开展app的性能测试?
  • 小程序action-sheet结合自定义tabbar显示
  • 机器学习笔记 - 隐马尔可夫模型的简述
  • iOS学习 --- Xcode 15 下载iOS_17.0.1_Simulator失败解决方法
  • 多视图聚类论文阅读(二)
  • Docker在Centos7下的安装
  • LLM大模型4位量化实战【GPTQ】
  • 安装keras、tensorflow
  • ffmpeg知识点整理
  • Git 笔记之gitignore
  • 【配置】Redis常用配置详解
  • Linux(Ubuntu)安装JDK环境
  • OpenCV C++ 张正友相机标定【相机标定原理、相机标定流程、图像畸变矫正】
  • SDL2 播放音频(MP4)
  • WMS仓库管理系统库位功能