本文学习费章军老师文章Genome of Solanum pimpinellifolium provides insights into structural variants during tomato breeding 如何鉴定SV。

其流程见 https://github.com/GaoLei-bio/SV

1 SV-calling

1.1 基因组间比较

简单思路: 2个基因组比较--》调取unique 比对--〉二代reads比对过滤

软件准备:

  • minimap2 (v2.11 or higher)
  • sam2delta.py (RaGoo 下的一个脚本,将sam格式变为nucmer的格式)
  • Assemblytics
  • samtools (v1.5 or higher)
  • blast+
  • python 2.7

    -- operator

    -- pathlib

    -- argparse

    -- os

    -- re

    -- subprocess

    -- sys

数据准备:

  • reference genome
  • query genome (二者质量较高,且相关物种;$\color{red}{染色体命名规则;xxxchr01, xxxchr02, contig等合并为 xxxchr00}$)
  • 两个基因组所对应的illumine reads (因为组装不完整,导致没有组装的区域被认为是delete,因此用二代数据过滤SV)
  • QryRead2Ref.bam (sorted, rmdup; query reads 比对到reference;$\color{red}{可以bwa-mem进行比对,名字必须是这个}$)
  • RefRead2Qry.bam (sorted, rmdup;ref reads比对到Query genome)
  • Ref_self.bam; 同上
  • Qry_self.bam; 同上

$\color{red} {上述4个bam文件必须sort,且去重复,index,且命名和上述统一,且均放于工作目录}$

简单操练一下:

将下载的所有脚本置于一个文件即可

## 运行SV_calling.sh 即可
Command:
bash path_to_SV_calling_script/SV_calling.sh \
path_to_SV_calling_script \
<Reference_genome_file> \
<Query_genome_file> \
<Prefix_for_outputs> \
<number of threads> \
<min_SV_size> \
<max_SV_size> \
<assemblytics_path>
### 具体数据
bash path_to_SV_calling_script/SV_calling.sh \
path_to_SV_calling_script \
SL4.0.genome.fasta \
Pimp_v1.4.fasta \
SP2SL 24 10 1000000 \
path_to_assemblytics_scripts ## 上述的4个bam文件必须放在当前工作目录下

结果:

  • SP2SL.Master_list.tsv
  • SP2SL.NR.bed (用于下一步)

1.2 pacbio reads进行鉴定SV (可选)

数据准备:

  • Prefix_for_outputs.NR.bed: 上一步结果
  • Reference_genome_file: fasta
  • Query_genome_file: fasta
  • Ref_base_pbsv_vcf (利用pbsv 将query pacbio reads比对到reference genome 获得SV)
  • Qry_base_pbsv_vcf (利用pbsv 将reference pacbio reads比对到Query genome 获得SV)

直接操练

  Command:
bash path_to_SV_calling_script/SV_PacBio.sh \
path_to_SV_calling_script \
<Reference_genome_file> \
<Query_genome_file> \
<Prefix_for_outputs> \
<number of threads> \
<Ref_base_pbsv_vcf> \
<Qry_base_pbsv_vcf> ## 具体例子
For example:
bash path_to_SV_calling_script/SV_PacBio.sh \
path_to_SV_calling_script \
SL4.0.genome.fasta \
Pimp_v1.4.fasta \
SP2SL 24 \
PimpReads2SL4.0.var.vcf \
HeinzReads2Pimp.var.vcf

结果:

  • SP2SL.Master_list.tsv

可将上述两种方法得到的SV结果进行合并即可。

2 SV-genotyping

主要程序 SV_genotyping.py, 且在Example中有实例文件

准备数据:

  • 重测序数据分别比对到Query 和Ref genome (bwa即可【️ bp错配】,去重复,)并排序
Parameters:
INPUT=Example/Example_SV.tsv # Path to your input SV file. A example of input SV file is provided.
sample=Sample_name # Sample name, prefix of outputs
Reference=Reference_genome # Path to Reference genome, fasta format, indexed by samtools faidx
Query=Query_genome # Path to Query genome , fasta format, indexed by samtools faidx
Ref_bam=Reference_base_bam # Sorted bam file with reads aligned on Reference genome
Qry_bam=Query_base_bam # Sorted bam file with reads aligned on Query genome
Mismath=3 # Allowed mismath percentage of aligned read ## 实例数据
python SV_genotyping.py Example/Example_input.tsv \
Example Example/Reference.fasta \
Example/Query.fasta \
Example/Sample.Ref_base.bam \
Example/Sample.Qry_base.bam 3

结果

  • Example.GT.txt.
head Example.GT.txt.
#Genotype: R for homozygous Reference genotype; Q for homozygous Query genotype; H for Heterozygous genotype; U for Undetermined.
SV_ID Example_1m
SV_w_5206 Q
SV_w_5207 Q
SV_w_5209 R
SV_w_5210 Q
SV_w_5211 Q
SV_w_5212 H
SV_w_5213 Q
SV_w_5214 Q

欢迎扫码交流

参考

2基因组间鉴定SV的更多相关文章

  1. Assemblytics鉴定基因组间SV

    Assemblytics, 发表在Bioinformaticshttp://www.ncbi.nlm.nih.gov/pubmed/27318204,鉴定基因组间SV. Githup,https:// ...

  2. 【豆科基因组】大豆(Soybean, Glycine max)泛基因组2020Cell

    目录 一.前沿概述 二.主要结果 重测序.组装与注释 泛基因组 SV特征 PAV与古多倍化,WGD事件 基因SV与基因融合 SV与大豆驯化 SV影响基因表达及其与性状关联 一.前沿概述 Pan-Gen ...

  3. 【豆科基因组】绿豆Mungbean, Vigna radiata基因组2014NC

    目录 来源 一.简介 二.结果 基因组组装 重复序列和转座子 基因组特征和基因注释 绿豆的驯化 豆科基因组复制历史 基于转录组分析的豇豆属形成 绿豆育种基因组资源 三.讨论 四.方法 材料 组装 SN ...

  4. Mol Cell Proteomics. | 用于鉴定新型融合转录本及其在癌细胞中的潜在翻译产物的多功能蛋白质组基因组学工具FusionPro

    期刊:Molecular & Cellular Proteomics 发表时间:June 17, 2019 DOI:10.1074/mcp.RA119.001456 分享人:任哲 内容与观点: ...

  5. 【豆科基因组】小豆(红豆)adzuki bean, Vigna angularis基因组2015

    目录 一.来源 研究一:Draft genome sequence of adzuki bean, Vigna angularis 研究二:Genome sequencing of adzuki be ...

  6. DNA甲基化测序方法介绍

    DNA甲基化测序方法介绍 甲基化 表观遗传学 DNA 甲基化是表观遗传学(Epigenetics)的重要组成部分,在维持正常细胞功能.遗传印记.胚胎发育以及人类肿瘤发生中起着重要作用,是目前新的研究热 ...

  7. Nat Comm | 中科院动物所张勇团队合作揭示动物中DNA转座子介导基因重复的机制

    1950年Barbara Mclintock 首次在玉米中发现转座子(TEs),并由此获得诺贝尔奖.尽管长期被认为是垃圾DNA,但现在TEs被广泛认可是宿主基因组演化的重要推动力.它们可引起包含基因重 ...

  8. Database in BioInformation

    很多数据库都可以通过下面的网站下载:http://annovar.openbioinformatics.org/en/latest/user-guide/download/ 一.NHLBI-ESP(E ...

  9. 突变注释工具SnpEff,Annovar,VEP,oncotator比较分析--转载

    https://www.jianshu.com/p/6284f57664b9 目前对于variant进行注释的软件主要有4个: Annovar, SnpEff, VEP(variant Effect ...

随机推荐

  1. 【UE4 设计模式】工厂方法模式 Factory Method Pattern 及自定义创建资源

    概述 描述 又称为工厂模式,也叫虚拟构造器(Virtual Constructor)模式,或者多态工厂(Polymorphic Factory)模式 工厂父类负责定义创建产品对象的公共接口,而工厂子类 ...

  2. Sequence Model-week1编程题2-Character level language model【RNN生成恐龙名 LSTM生成莎士比亚风格文字】

    Character level language model - Dinosaurus land 为了构建字符级语言模型来生成新的名称,你的模型将学习不同的名字,并随机生成新的名字. 任务清单: 如何 ...

  3. Spring Cloud Alibaba 的服务注册与发现

    Spring Cloud Alibaba 服务发现例子 一.需求 1.提供者完成的功能 2.消费者完成的功能 3.可以附加的额外配置 二.实现步骤 1.总的依赖引入 2.服务提供者和发现者,引入服务发 ...

  4. 【linux】修改ip后hadoop只有四个节点的问题

    学校的机房,每重启一次就会将虚拟机的某些配置还原到部署到学生机时候的状态(例如.etc/hosts文件中ip与主机名的映射),这个时候与我们前面所部署的hadoop就会产生IP不对应的状态,导致了ha ...

  5. STM32程序异常——中断处理要谨慎

    问题背景 最近有一个新项目(车载项目),板子上除了原来的ARM + STM32F030K6Tx又多了一个8bit的mcu的单片机,这可真是嵌入式全家福了. 系统的主要核心工作是由arm来完成,但是在开 ...

  6. 2021CCPC河南省省赛

    大一萌新,第一次打比赛,虽然是线下赛,但送气球的环节还是很赞的! 这里主要是补一下自己的弱项和考试时没有做出来的题目. 1002(链接之后再放,官方还没公开题目...) 先说一下第二题,这个题一看就是 ...

  7. Linux 内核网桥源码分析

    Linux网桥源码的实现 转自: Linux二层网络协议 Linux网桥源码的实现 1.调用 在src/net/core/dev.c的软中断函数static void net_rx_action(st ...

  8. 2016西邮Linux兴趣小组大事记

    2016年还有半个小时就结束了,前面把自己9月做的规划拿出来完善了下,觉得真的是不容易的一年,所有的事情只有自己经历过才会有不一样的感受,世上无难事,只怕有心人. 这是我九月份制定的计划: 下面是20 ...

  9. PTA 7-3 畅通工程之最低成本建设问题 (30分)

    PTA 7-3 畅通工程之最低成本建设问题 (30分) 现有村落间道路的统计数据表中,列出了有可能建设成标准公路的若干条道路的成本,求使每个村落都有公路连通所需要的最低成本. 输入格式: 输入数据包括 ...

  10. 学习JS的第一天--初识JS

    1.初识JS a.我的第一个JS程序: document.write("Hello JS")://这段代码是输出到body中就是直接打开就可以看到: console.log(&qu ...