前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于GATK4标准找变异方法的自动化工作流程oVarFlow的使用

基于GATK4标准找变异方法的自动化工作流程oVarFlow的使用

作者头像
生信技能树
发布2022-06-27 21:06:58
1.1K0
发布2022-06-27 21:06:58
举报
文章被收录于专栏:生信技能树

连续两次求贤令:曾经我给你带来了十万用户,但现在祝你倒闭,以及 生信技能树知识整理实习生招募,让我走大运结识了几位优秀小伙伴!有做ngs实战整理的,也有做临床数据挖掘算法工具介绍的。前面分享了:Snakemake+RMarkdown定制你的分析流程和报告,今天也是一个类似的流程介绍:

下面是笔记原文

一.简介

“GATK Best Practices” 是最广泛的变异位点筛查方法。

目前已经发展很多基于GATK4标准找变异方法的自动化工作流程,其中oVarFflow是其中之一。oVarFflow的工作流程如下图所示:

相比其他的流程软件,oVarFflow的优点有:

  1. 可对任意物种进行变异筛选,只要能够下载到这个物种的基因组和注释文件;
  2. 整个程序可在conda小环境中完整运行,中间过程不需要root权限,可以非常方便的在云服务器上运行;
  3. 作者声称oVarFlow整个流程既可以一键运行,也可以自定义运行,方便使用者修改其中的脚本参数。

这里我主要演示如何一键运行oVarFlow 找变异流程。对一个标准的WES双端测序的fastq文件,整个流程运行时间大概是6小时左右。

二.前期准备

安装conda
代码语言:javascript
复制
cd $HOME
wget -c https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
## 下载安装conda

## 设置清华镜像作为频道源,也可以使用其它镜像o 
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/

conda info
## 查询频道是否设置好
建立conda小环境,这里直接使用yaml文件来创建哦,参考:安装conda的yaml文件赠送小米显示器
代码语言:javascript
复制
## 新建工作目录并下载安装软件
mkdir -p $HOME/project_dir/conda_env
wget -c https://gitlab.com/computational-biology/ovarflow/-/blob/master/OVarFlow_src/OVarFlow_dependencies_mini.yml

## 创建conda小环境
conda create --prefix $HOME/project_dir/conda_env

## 安装软件
conda env update --prefix $HOME/project_dir/conda_env --file OVarFlow_dependencies_mini.yml

## 激活小环境
conda activate $HOME/project_dir/conda_env

建立工作目录

代码语言:javascript
复制
## 新建并进入工作目录
mkdir -p $HOME/project_dir/variant_calling
cd $HOME/project_dir/variant_calling

## 下载脚本文件
wget -c https://gitlab.com/computational-biology/ovarflow/-/raw/master/OVarFlow_src/Snakefile?inline=false
wget -c https://gitlab.com/computational-biology/ovarflow/-/raw/master/OVarFlow_src/Snakefile_OVarFlow2?inline=false
wget -P ./scripts https://gitlab.com/computational-biology/ovarflow/-/blob/master/OVarFlow_src/scripts/average_coverage.awk
wget -P ./scripts https://gitlab.com/computational-biology/ovarflow/-/blob/master/OVarFlow_src/scripts/createIntervalLists.py

## 下载配置文件
wget -c https://gitlab.com/computational-biology/ovarflow/-/blob/master/OVarFlow_src/config.yaml
wget -c https://gitlab.com/computational-biology/ovarflow/-/raw/master/OVarFlow_src/samples_and_read_groups.csv?inline=false
代码语言:javascript
复制
下载参考基因组、注释文件和fastq测序数据
代码语言:javascript
复制
## 进入并查看下scripts文件夹
cd $HOME/project_dir/variant_calling/scripts/
ls 

## 运行检查一下这个pythonn脚本是否可执行,然后返回上一级目录
chmod ug+x createIntervalLists.py
cd ../

## 运行以下命令可自动创建如下3个文件夹
snakemake -np

这3个文件夹分别下载存储fastq测序文件,参考基因组文件和GVCF文件

代码语言:javascript
复制
## 软件只对GFF文件进行过测试,保证可以运行,因此注释文件下载GFF3版本
nohup wget -c http://ftp.ensembl.org/pub/release-106/fasta/homo_sapiens/dna/Homo_sapiens.GRCh38.dna.primary_assembly.fa.gz &
nohup wget -c http://ftp.ensembl.org/pub/release-106/gff3/homo_sapiens/Homo_sapiens.GRCh38.106.gff3.gz &

软件提供了fastq测试数据,但是一直无法下载成功,因此我就用自己的WES数据(fastq文件)直接运行了

下载配置文件并修改其中信息
代码语言:javascript
复制
cd $HOME/project_dir/variant_calling/
wget -c https://gitlab.com/computational-biology/ovarflow/-/raw/master/OVarFlow_src/samples_and_read_groups.csv?inline=false

## 下载下来的文件名可能不对,改成正确的文件名
mv samples_and_read_groups.csv\?inline\=false samples_and_read_groups.csv

## 打开vim编辑器进行修改
vim samples_and_read_groups.csv

进入vim编辑器,可见如上文件信息。按i后移动光标进行修改:将标黄处改为已下载的基因组和注释文件名,标红处可改为1(对所有的reads进行比对),标绿处如果没有gvcf表格提供的话可留空 (oVarFlow 2.0已经取消对gvcf文件的处理,但为了保持与1.2版本的兼容性,此行依然保留)。箭头指示的行是样本信息行。特别注意的是样本命名有严格的规定,必须改为 * _R1.fastq.gz 和 * _R2.fastq.gz 这种形式,ID列、LB列和SM列的字段改为唯一标识符即可,PL列和CN列为仪器信息,可保持不变。

在正式运行找变异流程前需要先确认整个流程可顺利运行。

代码语言:javascript
复制
snakemake -np
## 伪运行一下代码

没有报错信息话就可以正式开始找变异流程。

三.正式运行

首先新建tmux后台运行终端并命名为:Ovar(可任意命名)

代码语言:javascript
复制
## 创建tmux后台终端
tmux new -s Ovar
####
tmux退出后台终端而不退出程序的操作是:同时按ctrl+b,然后按d
重新进入tmux后台终端的操作是:tmux a -t Ovar
tmux退出后台终端同时退出程序并删除session的操作是:同时按ctrl+b,然后按x,再按y确认
查询所有已创建的后台终端操作是:tmux ls
删除指定后台终端操作是:tmux kill-session -t Ovar

在后台终端运行snakfile脚本

代码语言:javascript
复制
## 进入工作目录
cd $HOME/project_dir/variant_calling/
## 后台终端运行snakemake程序
snakemake -p --cores 4 -s Snakefile 
## 如果需要运行OVarFlow 2.0版本,则运行以下代码
snakemake -p --cores 4 --snakefile Snakefile_OVarFlow2
## 如果是中间报错,重新运行按下面代码进行
snakemake -p --unlock --rerun-incomplete --cores 4 -s Snakefile
snakemake -p --rerun-incomplete --cores 4 -s Snakefile

四. 结果查看

运行结束后会显示以下信息

同时在 variant_calling 文件夹下主要生成以下子文件夹及相关文件

最终注释的变异位点文件存储在 12_annotated_variants 文件夹中,其中生成了3个文件

其中 snpEFF_summary.genes.txt 展示不同ensemble基因中筛查到的变异类型及数量,snpEFF_summary .html 网页文件对结果进行了统计,是对结果的总体概览

variants_annotated.vcf.gz 文件是筛选的变异位点文件。

上述流程,我是成功运行了一遍的。理论上对读者来说是非常友好的,前提是你具备基础的计算机知识,我把它粗略的分成基于R语言的统计可视化,以及基于Linux的NGS数据处理

但是大家使用时,可能遇到一些问题,主要是因为每个人背景知识不一样,而且每个人的服务器特性不一样。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-06-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信技能树 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 二.前期准备
    • 安装conda
      • 建立conda小环境,这里直接使用yaml文件来创建哦,参考:安装conda的yaml文件赠送小米显示器
        • 下载配置文件并修改其中信息
        • 四. 结果查看
        相关产品与服务
        文件存储
        文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档