基于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.mzph.cn/news/149572.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

拉链表-spark版本

采用spark实现的拉链表 拉链表初始化 import org.apache.spark.sql.SparkSession import org.apache.spark.sql.functions.lit/*** 拉链表初始化*/ object table_zip_initial {val lastDay "9999-12-31"def main(args: Array[String]): Unit {var table_base &q…

C#调用Windows系统自带虚拟键盘的方法

C#调用Windows系统自带虚拟键盘&#xff0c;可以通过以下方法。 1、添加外部引用 private const Int32 WM_SYSCOMMAND 274;private const UInt32 SC_CLOSE 61536;[DllImport("user32.dll", SetLastError true, CharSet CharSet.Auto)]private static extern bo…

目标检测YOLO实战应用案例100讲-基于机器视觉的水稻病虫害监测预警(续)

目录 3.3 试验结果与分析 3.3.1 数据集介绍 3.3.3 评价标准 3.3.4 模型训练参数设置

[Genode] ARM TrustZone

这是关于读文章ARM TrustZone的记录&#xff0c;原文是英文&#xff0c;刚开始会有点反应不过来&#xff0c;这里大部分是对文章的翻译与提取。 ARM信任区技术 ARM信任区是在 热烈讨论关于X86平台上的可信平台模块&#xff08;TPM&#xff09; 时引入的。。 就像TPM芯片神奇…

【机器学习算法】机器学习:支持向量机(SVM)

转载自&#xff1a; 【精选】机器学习&#xff1a;支持向量机&#xff08;SVM&#xff09;-CSDN博客 1.概述 1.1&#xff0c;概念 支持向量机&#xff08;SVM&#xff09;是一类按监督学习方式对数据进行二元分类的广义线性分类器&#xff0c;其决策边界是对学习样本求解的最…

这些来自各领域的全新机器人技术,你了解吗?

原创 | 文 BFT机器人 01 人机交互的新工具 在人机交互领域&#xff0c;来自欧洲各地的研究人员开发了一种名为HEUROBOX的新工具&#xff0c;用于评估交互。HEUROBOX提供了84个基本启发式和228个高级启发式&#xff0c;用于评估人机交互的各个方面&#xff0c;如安全性、人体工…

mac控制台命令小技巧

shigen日更文章的博客写手&#xff0c;擅长Java、python、vue、shell等编程语言和各种应用程序、脚本的开发。记录成长&#xff0c;分享认知&#xff0c;留住感动。 hello伙伴们&#xff0c;作为忠实的mac骨灰级别的粉丝&#xff0c;它真的给我带来了很多效率上的提升。那作为接…

金蝶云星空和旺店通·旗舰奇门接口打通对接实战

金蝶云星空和旺店通旗舰奇门接口打通对接实战 数据源系统:金蝶云星空 金蝶K/3Cloud&#xff08;金蝶云星空&#xff09;是移动互联网时代的新型ERP&#xff0c;是基于WEB2.0与云技术的新时代企业管理服务平台。金蝶K/3Cloud围绕着“生态、人人、体验”&#xff0c;旨在帮助企业…

三极管与mos管的区分与应用

三极管与mos管的区分与应用 这部分知识每次用都要查,隔一段时间就忘记了.忍无可忍,再此写下来,作为之后然后查找的笔记 这里先推荐几篇我查阅到的笔记, <<三极管和MOS管驱动电路的正确用法>> https://blog.csdn.net/qq_21794157/article/details/122736035 <<…

Azure 机器学习 - 搜索中的检索增强 (RAG)

目录 一、Azure AI 信息检索系统介绍二、采用 Azure AI 搜索的 RAG 方法三、适合 Azure AI 搜索的自定义 RAG 模式四、Azure AI 搜索中的可搜索内容五、Azure AI 搜索中的内容检索构建查询响应按相关性排名适用于 RAG 方案的 Azure AI 搜索查询的示例代码 六、集成代码和 LLM七…

无菌药品生产(A级区域)--气流流型测试可视化烟雾试验详细介绍

技术背景 无菌药品是指法定药品标准中列有无菌检测项目的制剂和原料药&#xff0c;包括注射剂、眼用制剂、无菌软膏剂、无菌混悬剂等。目前工程中&#xff0c;以注射剂产品为主的厂房占据了很大的比重。 无菌药品生产质量风险管理中&#xff0c;人员及其活动被视为重大的污染…

代码随想录算法训练营第一天|数组理论基础,704. 二分查找,27. 移除元素

704. 二分查找 简单 给定一个 n 个元素有序的&#xff08;升序&#xff09;整型数组 nums 和一个目标值 target &#xff0c;写一个函数搜索 nums 中的 target&#xff0c;如果目标值存在返回下标&#xff0c;否则返回 -1。 示例 1: 输入: nums [-1,0,3,5,9,12], target 9 …

云计算行业敲门砖—证书盘点

未来10年&#xff0c;都会是云计算技术不断发展变革的时代&#xff0c;这其中会产生非常多的就业机会。有数据统计&#xff0c;未来五年&#xff0c;云计算行业人才缺口达150万&#xff0c;选对了行业&#xff0c;你就成功了一半。 云计算可以考的证书还是很多的&#xff0c;很…

GZ033 大数据应用开发赛题第05套

2023年全国职业院校技能大赛 赛题第05套 赛项名称&#xff1a; 大数据应用开发 英文名称&#xff1a; Big Data Application Development 赛项组别&#xff1a; 高等职业教育组 赛项编号&#xff1a; GZ033 …

【Unity小技巧】图片使用的一些常见问题

文章目录 前言Button不规则按钮点击空白区域不响应点击事件1. 设置资源参数2. 代码设置按钮Image的alphaHitTestMinimumThreshold3. 解释&#xff1a;4. 效果 Unity Image 原图比例控制方法一 Preserve Aspect1. 设置勾选Preserve Aspect&#xff08;保持长宽比&#xff09;&am…

Python的requests库:解决文档缺失问题的策略与实践

在Python的requests库中&#xff0c;有一个名为ALL_PROXY的参数&#xff0c;但是该参数的文档并未进行详细的描述。这使得用户在使用该参数时可能会遇到一些问题&#xff0c;例如不知道如何正确地配置和使用该参数。 解决方案 针对这个问题&#xff0c;我们可以采取以下几种解…

小小发票拦住出海“巨头”,合合信息智能文档处理技术助力企业重塑财务管理流程

作为连接企业采购、生产、运营、销售等经营行为的枢纽&#xff0c;财务系统的数字化、智能化升级近年来变得愈发重要。发票的录入、存储关乎企业应收账款管理和税务规范&#xff0c;通过技术手段提升发票管理的精准度与效率&#xff0c;也成为了财务数字化的关键环节。 近日&a…

MySQL 8.0:性能优化与新功能

引言 MySQL 8.0是MySQL数据库管理系统的最新主要版本&#xff0c;带来了许多性能优化和新功能。本博客将探讨MySQL 8.0的性能提升以及一些使用技巧&#xff0c;助力你更好地利用这一强大的数据库系统。 新特性概览 MySQL 8.0相对于先前版本&#xff08;如MySQL 5.7及更早版本&a…

如何解决 Critical dependency: the request of a dependency is an expression ?

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码&#xff1a; ruoyi-nbcio: nbcio-boot的若依版本,基于ruoyi-flowable-plus和flowable6.7.2&#xff0c;目前处于开发功能完善阶段&#xff0c;目标是打造一个最好的若依平台上flowable流程管理系统开源版本&…

CRM按行业细分的重要性

很多企业和销售会诟病CRM系统不够贴合行业、功能也不够细分和实用。因为各行各业的业务千差万别&#xff0c;所以功能完备、使用满意度高的CRM一定是与不同行业业务场景高度匹配的&#xff0c;是深度行业化的。因此行业化是CRM发展的重要趋势之一&#xff0c;为什么CRM一定要走…