植物泛基因组分析之可视化vg构建的Pan-SV初次尝试

简介: 植物泛基因组分析之可视化vg构建的Pan-SV初次尝试

vg的github链接

https://github.com/vgteam/vg

vg的教程 https://gtpb.github.io/CPANG18/pages/toy_examples

vg 构建snp的图,然后比对论文

https://www.degruyter.com/document/doi/10.1515/jib-2021-0032/html?lang=en

vg的相关论文

https://jmonlong.github.io/manu-vgsv/

泛基因组的各种工具介绍

https://pangenome.github.io/

已经编译好的程序,下载就能用

sequenceTubeMap 的github主页

https://github.com/vgteam/sequenceTubeMap

这个是vg团队开发的对vg构建的图泛基因组进行可视化的一个工具,按照页面的帮助文档 A JavaScript module for the visualization of genomic sequence graphs

我个人的理解是JavaScrip就是网页工具

vg团队做了一个现成的

https://vgteam.github.io/sequenceTubeMap/

image.png

这里也可以选择上传自己构建好的图形泛基因组进行可视化

构建这个Pan-SV需要准备的数据是一个参考基因组和基于参考基因组做变异检测的得到的vcf文件

vg的github主页提供了一个示例数据

参考基因组 tiny.fa

>x
CAAATAAGGCTTGGAAATTTTCTGGAGTTCTATTATATTCCAACTCTCTG

vcf文件

##fileformat=VCFv4.1
##fileDate=20141110
##source=mutatrix population genome simulator
##seed=1415643582
##reference=x.fa
##phasing=true
##commandline=mutatrix --dry-run -s 0.05 -i 0.01 -p 2 x.fa
##INFO=<ID=AC,Number=A,Type=Integer,Description="Alternate allele count">
##INFO=<ID=TYPE,Number=A,Type=String,Description="Type of each allele (snp, ins, del, mnp, complex)">
##INFO=<ID=NS,Number=1,Type=Integer,Description="Number of samples at the site">
##INFO=<ID=NA,Number=1,Type=Integer,Description="Number of alternate alleles">
##INFO=<ID=LEN,Number=A,Type=Integer,Description="Length of each alternate allele">
##INFO=<ID=MICROSAT,Number=0,Type=Flag,Description="Generated at a sequence repeat loci">
##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">
#CHROM    POS    ID    REF    ALT    QUAL    FILTER    INFO    FORMAT    1
x    9    .    G    A    99    .    AC=1;LEN=1;NA=1;NS=1;TYPE=snp    GT    1|0
x    10    .    C    T    99    .    AC=2;LEN=1;NA=1;NS=1;TYPE=snp    GT    1|1
x    14    .    G    A    99    .    AC=1;LEN=1;NA=1;NS=1;TYPE=snp    GT    1|0
x    34    .    T    A    99    .    AC=2;LEN=1;NA=1;NS=1;TYPE=snp    GT    1|1
x    39    .    T    A    99    .    AC=1;LEN=1;NA=1;NS=1;TYPE=snp    GT    1|0

这个vcf文件里都是SNP,尝试手动添加一个ins和del


##fileformat=VCFv4.1
##fileDate=20141110
##source=mutatrix population genome simulator
##seed=1415643582
##reference=x.fa
##phasing=true
##commandline=mutatrix --dry-run -s 0.05 -i 0.01 -p 2 x.fa
##INFO=<ID=AC,Number=A,Type=Integer,Description="Alternate allele count">
##INFO=<ID=TYPE,Number=A,Type=String,Description="Type of each allele (snp, ins, del, mnp, complex)">
##INFO=<ID=NS,Number=1,Type=Integer,Description="Number of samples at the site">
##INFO=<ID=NA,Number=1,Type=Integer,Description="Number of alternate alleles">
##INFO=<ID=LEN,Number=A,Type=Integer,Description="Length of each alternate allele">
##INFO=<ID=MICROSAT,Number=0,Type=Flag,Description="Generated at a sequence repeat loci">
##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">
#CHROM  POS     ID      REF     ALT     QUAL    FILTER  INFO    FORMAT  1
x       9       .       G       A       99      .       AC=1;LEN=1;NA=1;NS=1;TYPE=snp   GT      1|0
x       10      .       C       T       99      .       AC=2;LEN=1;NA=1;NS=1;TYPE=snp   GT      1|1
x       14      .       G       A       99      .       AC=1;LEN=1;NA=1;NS=1;TYPE=snp   GT      1|0
x       20      .       T       AAGGC   99      .       AC=1;LEN=5;NA=1;NS=1;TYPE=indel GT      1|1
x       28      .       TTC     T       99      .       AC=1;LEN=3;NA=1;NS=1;TYPE=indel GT      1|1
x       34      .       T       A       99      .       AC=2;LEN=1;NA=1;NS=1;TYPE=snp   GT      1|1
x       39      .       T       A       99      .       AC=1;LEN=1;NA=1;NS=1;TYPE=snp   GT      1|0

对vcf文件进行压缩,构建索引

bgzip tiny.vcf
tabix tiny.vcf.gz

构建图形泛基因组

~/biotools/vg/vg construct -v tiny.vcf.gz -r tiny.fa > x.vg

vg文件转为gfa文件

~/biotools/vg/vg view x.vg > x.gfa

用bandage看下这个结果

image.png

vg文件转换成xg

~/biotools/vg/vg view -d x.vg > x.xg

这个xg和vg有啥去呗以及为啥要转化暂时还搞不明白

https://vgteam.github.io/sequenceTubeMap/ 这个链接里上传自己的数据写的是要上传xg格式,但是我上传的时候遇到了一个报错

image.png

暂时搞不清楚是啥原因了

sequenceTubeMap 也可以在自己的服务器配置,按照github主页的教程

git clone https://github.com/vgteam/sequenceTubeMap.git

把仓库克隆下来,然后进入 sequenceTubeMap

然后是

yarn install

这一步遇到了报错,但是忘记截图了,我按照这个链接

https://stackoverflow.com/questions/46013544/yarn-install-command-error-no-such-file-or-directory-install

image.png

sudo apt remove cmdtest
sudo apt remove yarn
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update
sudo apt-get install yarn -y

这个需要root权限

然后是

yarn build

这一步又是报错,忘记截图了,大体是Node的版本不对

https://github.com/nvm-sh/nvm 参考这个

解决办法的链接也找不到了,最后在普通账户下也没有操作成功,在root账号下成功了

vg需要添加到环境变量,在root账号下是把vg放到了/usr/bin/目录下

启动这个网页

yarn serve

这里默认的端口是3000

在自己本地电脑

ssh -N -L 3000:localhost:3000 root@ip

然后再自己本地浏览器输入

localhost:3000

image.png

启动的页面

上传自己刚刚生成的xg文件

image.png

如果要展示不同的节点还需要上传gbwt文件

这里怎么从xg文件得到gbwt文件暂时搞不清楚了,可以利用gbz文件得到

命令是

~/biotools/vg/vg autoindex --workflow giraffe -r tiny.fa -v tiny.vcf.gz -p abc
~/biotools/vg/vg gbwt -o abc.gbwt -Z abc.giraffe.gbz

加上gbwt文件以后图就变成了如下这样
image.png

但是我加 abc.gbw好像没有起作用,还有好多不明白的地方

参考链接

https://github.com/vgteam/vg/wiki/VG-GBWT-Subcommand

https://github.com/vgteam/vg

vg index那一步是可以产生gbwt文件的

~/biotools/vg/vg index -x x.xg -g x.gcsa -G x.gbwt -T x.vg -t 8

这里生成x.xg和x.gbwt

不过这个加载到网站上达不到上面的效果

vg的可视化命令

~/biotools/vg/vg viz -x t.xg --out graph.svg

image.png

欢迎大家关注我的公众号

小明的数据分析笔记本

小明的数据分析笔记本 公众号 主要分享:1、R语言和python做数据分析和数据可视化的简单小例子;2、园艺植物相关转录组学、基因组学、群体遗传学文献阅读笔记;3、生物信息学入门学习资料及自己的学习笔记!

image.png

相关文章
|
1月前
|
数据采集 传感器 人工智能
AgiBot World:智元机器人开源百万真机数据集,数据集涵盖了日常生活所需的绝大多数动作
AgiBot World 是智元机器人开源的百万真机数据集,旨在推动具身智能的发展,覆盖家居、餐饮、工业等五大核心场景。
130 9
AgiBot World:智元机器人开源百万真机数据集,数据集涵盖了日常生活所需的绝大多数动作
|
4月前
|
人工智能 算法 安全
基于YOLOV8的骑行智能守护实时检测系统【训练和系统源码+Pyside6+数据集+包运行】
基于YOLOv8的骑行智能守护实时检测系统,通过图像处理和AI技术,实时监测电动车及骑行者头盔佩戴情况,提升道路安全。该系统支持图片、视频和摄像头实时检测,具备GUI界面,便于操作和展示结果。使用5448张真实场景图片训练,包含电动车和骑行者是否佩戴头盔的三类标注。系统基于Python和Pyside6开发,具备模型权重导入、检测置信度调节等功能。
161 0
基于YOLOV8的骑行智能守护实时检测系统【训练和系统源码+Pyside6+数据集+包运行】
|
9月前
|
存储 数据可视化 数据挖掘
单细胞分析(Signac): PBMC scATAC-seq 基因组区域可视化
单细胞分析(Signac): PBMC scATAC-seq 基因组区域可视化
73 0
|
9月前
|
存储 数据可视化 vr&ar
突破传统 重新定义:3D医学影像PACS系统源码(包含RIS放射信息) 实现三维重建与还原
突破传统,重新定义PACS/RIS服务,洞察用户需求,关注应用场景,新一代PACS/RIS系统,系统顶层设计采用集中+分布式架构,满足医院影像全流程业务运行,同时各模块均可独立部署,满足医院未来影像信息化扩展新需求、感受新时代影像服务便捷性、易用性!系统基于平台化设计,与第三方服务自然接入无压力,从功能多样化到调阅速度快;覆盖(放射、超声、内镜、病理、核医学、心血管、临床科室等,是以影像采集、传输、存储、诊断、报告书写和科室管理)为核心应用的模块化PACS/RIS系统,实现了全院级影像信息的合理共享与应用。
151 0
突破传统 重新定义:3D医学影像PACS系统源码(包含RIS放射信息) 实现三维重建与还原
|
9月前
|
前端开发
R语言实现随机前沿分析SFA、数据包络分析DEA、自由处置包分析FDH和BOOTSTRAP方法
R语言实现随机前沿分析SFA、数据包络分析DEA、自由处置包分析FDH和BOOTSTRAP方法
|
9月前
|
人工智能 数据可视化 算法
AI Earth ——开发者模式案例3:典型植被指数计算及区域统计
AI Earth ——开发者模式案例3:典型植被指数计算及区域统计
225 1
|
9月前
|
数据可视化 PyTorch 算法框架/工具
Coggle 30 Days of ML 打卡任务二:苹果病害数据加载与数据增强
Coggle 30 Days of ML 打卡任务二:苹果病害数据加载与数据增强
ArcGIS:如何通过欧氏距离分析、重分类等工具对学校选址问题进行分析
ArcGIS:如何通过欧氏距离分析、重分类等工具对学校选址问题进行分析
433 0
|
机器学习/深度学习 数据采集 人工智能
中科大提出统一输入过滤框架InFi:首次理论分析可过滤性,支持全数据模态
中科大提出统一输入过滤框架InFi:首次理论分析可过滤性,支持全数据模态
258 0