liftOver 不同版本基因组文件相互转化

news2024/11/27 19:30:33

大家好,我是邓飞。前一段时间有小伙伴在星球提问:想将不同版本的SNP数据合并,不想重新call snp,想把绵羊的V2和V4版本的数据合并,具体来说,是V2转为V4然后与V4合并。


我建议用liftOver软件进行处理,并许诺写篇博客介绍一下。

还有小伙伴想把1.2的参考基因组,变为3.1的,问我如何处理,我还是建议用liftOver,在线网站也可以解决,但是本地编程更快一些。

1. 不同基因组转换对应关系原理

每一次参考基因组的更新,位置信息会有所变化,有些是插入了一些,有些是平移,有些是没有改变。

但是,每一个版本的参考基因组,都有对应的关系,如果我们根据对应的关系,就可以把旧版本的更新到新版本的位置。

应用领域:不同参考基因组call snp的vcf数据,可以通过这种方式转换为同一基因组版本,然后合并。有些芯片设计时是不同的基因组版本,也可以通过这种形式,进行转换,然后合并。

2. liftOver软件下载

网址:http://hgdownload.cse.ucsc.edu/admin/exe/

有苹果系统和Linux系统,这里以Linux系统为例进行介绍。

3. 查找物种的基因组版本

网址:https://hgdownload.soe.ucsc.edu/downloads.html

常见的物种都有:

比如猪的版本有:

  • V11
  • V10
  • V9


鸡的有:

  • V6
  • V5
  • V4

牛的有:

  • V9,V8,V7

人的有:

  • hg38
  • hg19
  • mm39
  • mm10

4. 下载不同版本的liftOver数据文件

比如,这里以鸡为例子,进入网站:https://hgdownload.soe.ucsc.edu/goldenPath/galGal6/liftOver/

这里有V6变为V5,V6变为V4:,我们想把V6变为V5,可以下载:


当然,也可以V5变为V6,V4变为V6,只需要下载对应的chain文件即可:


注意,下载的gz文件,不要解压缩。保持压缩状态

5. 整理位置信息

我们以plink数据为例,我们想把v5版的map变为v6版的map,首先将map数据变为bed的格式:

将位置信息整理为bed文件,可以根据map进行整理,染色体,开始位置,结束位置,没有行头。

只接受BED格式文件,BED格式文件只定义前三列:chr start end,无表头
注:end不等于start(如果是单位点的话,建议所有end = start+1)

转换代码:

sed 's/\s\+/ /g' new_v3.map >t1.map
awk '{print "chr"$1,$4,$4+1}' t1.map >tt.bed

6. 运行liftOver命令行转换

liftOver的语法为:

liftOver <输入文件> <chain文件> <输出文件> <unmapped文件>

示例代码:

将bed的V6版本,变为V5版本:

liftOver tt.bed galGal6ToGalGal5.over.chain.gz re_map.bed re_un_map.bed
  • 第一个参数,tt.bed,就是bed文件,根据map生成的bed文件
  • 第二个参数,是根据liftOver网站,下载的压缩文件,是对应关系,网址:https://hgdownload.soe.ucsc.edu/goldenPath/galGal5/liftOver/
  • 第三个参数,是输出的结果文件
  • 第四个参数,是没有匹配的结果文件

结果会输出成功转换的位点,和没有转换的位点。

为了方便我们后续使用,可以先运行一遍代码,将没有转换成功的位点删掉,然后再转换,这样就是一一对应的了。

有任何使用的问题,可以到关注公众号答疑。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/590658.html

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

相关文章

SAP-MM-采购折扣知识与会计处理

采购折扣&#xff0c;按折扣的方式和性质可以分为商业折扣和现金折扣两种方式。 商业折扣是指购货方批量进货时&#xff0c;要求销货方按零售价格打一个折扣而少支付的货款金额。企业之间的商品购销活动中&#xff0c;商业折扣是一种较常见的交易现象。 现金折扣则是指在赊购条…

数列DP进阶

目录 一&#xff0c;斜率优化 1&#xff0c;斜率优化原理 2&#xff0c;凸包和斜率计算 3&#xff0c;实战 黑暗爆炸 - 4709 柠檬 二&#xff0c;else 力扣 644. 子数组最大平均数 II&#xff08;最大子段和二分&#xff09; ​力扣 646. 最长数对链 力扣 1235. 规划兼…

浅科普一下计算机发展史阶段及那些不为人知的重要里程碑

目录 〇、前言 一、计算机发展历史阶段 二、计算机发展史中重要的里程碑 三、计算机对人类社会发展的重要性 四、计算机的应用领域 五、常见计算机辅助技术 六、总结 〇、前言 计算机的诞生无疑对人类社会的发展起着至关重要的巨大作用。计算机发明者名叫约翰冯诺依曼&a…

SAP-MM-发票-采购运费

采购运费是采购业务中一种特殊的定价&#xff0c;在SAP系统中&#xff0c;交货成本和其相近&#xff0c;是指在货物交付过程中发生的运输成本&#xff0c;只要有货物交付&#xff0c;就会有运费&#xff0c;而运费或者由采购方承担&#xff0c;或者由销售方承担&#xff0c;国内…

03SpringCloud Docker

Docker (1&#xff09;从VM与Docker框架中&#xff0c;直观上VM多了一层Guest OS&#xff0c;同时Hypervisor会对硬件资源进行虚拟化&#xff0c;docker直接使用硬件资源&#xff0c;所以资源利用率相对docker低。 &#xff08;2&#xff09;openstack能够以10台/min的速度创建…

SSM框架学习-拦截器

1. 简介 在Spring框架中&#xff0c;拦截器是一种很重要的组件&#xff0c;它们允许在请求到达控制器之前或之后执行一些代码。拦截器在请求处理的特定点进行拦截&#xff0c;然后通过逻辑来决定是否将控制器的处理传递给下一个处理程序。 在Spring中&#xff0c;拦截器是由实现…

【MATLAB速成】知识点总结(通俗易懂,学不会来打我)

【MATLAB速成】知识点总结&#xff08;通俗易懂&#xff0c;学不会来打我&#xff09; 一、概念 MATLAB的中文名称是&#xff08;矩阵实验室&#xff09;&#xff0c;英文全称是&#xff08;Matrix Laboratory&#xff09;&#xff0c;是一种以&#xff08;矩阵计算&#xff…

【学习日记2023.5.30】之 管理端订单模块完善_调用百度地图优化用户端提交订单是否超出配送距离

文章目录 9. 管理端订单模块完善9.1 需求分析和涉及9.2 代码开发Controller层Service层接口Service层实现类Mapper层 9.3 功能测试9.4 提交代码9.5 优化用户下单功能&#xff0c;引入距离判断 9. 管理端订单模块完善 订单搜索各个状态的订单数量统计查询订单详情接单拒单取消订…

古诗生成-pytorch

本文为RNN做古诗生成的一个小demo&#xff0c;只要是为了完成课上的作业&#xff08;由于训练比较慢&#xff0c;所以周期仅设置为3&#xff0c;大一点性能可能会更好&#xff09;&#xff0c;如有需要可以在这基础之上进行加工&#xff0c;数据集没办法上传&#xff0c;如有需…

FreeRTOS_从底层学习实时操作系统

目录 1. 裸机系统和多任务系统 2. 任务的定任务切换的实现 2.1 什么是任务&#xff1f; 2.2 调度器 2.3 临界段 3. 空闲任务和阻塞延迟 4. 时间片 1. 裸机系统和多任务系统 裸机系统&#xff1a; 裸机系统分为轮询系统和前后台系统&#xff1b;&#xff08;51单片机就属…

八大排序:直接插入排序、希尔排序、选择排序、堆排序、冒泡排序、快速排序、归并排序、计数排序

文章目录 排序概念常见的排序算法常见排序算法的实现直接插入排序希尔排序选择排序堆排序冒泡排序快速排序递归实现Hoare版本挖坑法前后指针法 非递归实现Hoare版本挖坑法前后指针法 快速排序俩个优化 归并排序递归实现非递归实现外排序 计数排序 常见排序算法的性能分析 排序概…

【已完美解决】scons问题求助:如何设置编译输出目录搞清楚后,有些编译输出的obj文件却在源码目录,而不是设置的输出目录。

【已完美解决】scons问题求助&#xff1a;如何设置编译输出目录搞清楚后&#xff0c;有些编译输出的obj文件却在源码目录&#xff0c;而不是设置的输出目录。 文章目录 1 前置背景2 我的疑问3 一手点拨4 问题解决 1 前置背景 最近在基于目前已有的rt-thread构建框架&#xff0…

【Spring源码解读一】IoC容器之AnnotationConfigApplicationContext

根据AnnotationConfigApplicationContext类去阅读其将Bean对象交给IoC容器管理的过程。以下这三个代码块是将配置类注册进IoC容器的例子。下面是关于这个类的继承与实现的类图关系树。 public class Test {public static void main(String[] args) {// 配置类注册进IoC容器App…

解决Ubuntu16中安装opencv后找不到vtk库的问题

最近一个项目中要用到OpenCV的VTK库&#xff0c;但引入头文件#include <opencv2/viz.hpp>时却说找不到这个库&#xff0c;网上搜了下说在编译opencv源码的时候&#xff0c;需要加上编译VTK库的选项&#xff0c;于是重新下载、编译、安装了源码&#xff0c;在cmake时加上了…

最流行的AI绘图工具Midjourney,你不得不知道的使用技巧

​关注文章下方公众号&#xff0c;可免费获取AIGC最新学习资料 本文字数&#xff1a;1500&#xff0c;阅读时长大约&#xff1a;10分钟 Midjourney成为了最受欢迎的生成式AI工具之一。它的使用很简单。输入一些文本&#xff0c;Midjourney背后的大脑&#xff08;或计算机&#…

Linux 权限

目录 一、 从问题开始 问题一: 什么叫shell? 问题二: 为什么不能直接使用kernel呢? 问题三: shell 与bash 有什么不同吗? 二、 Linux权限 0x01 Linux用户 0x02 切换用户命令 0x03 sudo命令 0x04 权限的相关概念 0x05 chmod 0x06 chown 0x07 chgrp 0x08 文件权…

重磅!软著申请不需要邮寄纸质材料啦,附软著申请流程。

重磅&#xff01;软著申请不需要邮寄纸质材料啦&#xff0c;附软著申请流程。 最新消息申请流程一&#xff0c;准备申请材料二&#xff0c;申请人填写申请表三&#xff0c;提交申请材料四&#xff0c;补正五&#xff0c;审查六&#xff0c;发布公告七&#xff0c;接受异议八&am…

力扣---二叉树OJ题(多种题型二叉树)

文章目录 前言&#x1f31f;一、剑指 Offer 55 - I. 二叉树的深度&#x1f30f;1.1 链接&#xff1a;&#x1f30f;1.2 代码一&#xff1a;&#x1f30f;1.3 代码二&#xff1a;&#x1f30f;1.4 流程图&#xff1a; &#x1f31f;二、100. 相同的树&#x1f30f;2.1 链接&…

超强实用!利用xfsdump和xfsrestore打造无懈可击的数据备份与恢复策略

前言 上次我们分析了EXT文件系统的恢复方式&#xff0c;借助于extundelete工具仅可以恢复EXT类型的文件&#xff0c;但无法恢复CentOS 7系统&#xff0c;因为centos7默认采用xfs类型的文件。 xfs文件系统恢复工具有以下几种&#xff1a; xfsprogs&#xff1a;xfs文件系统扩展…

HTB MonitorsTwo

MonitorsTwo HTB MonitorsTwo 老规矩信息收集了&#xff1a; NMAP信息收集 ┌──(kali㉿kali)-[~/桌面] └─$ sudo nmap --min-rate 1000 10.10.11.211 Starting Nmap 7.93 ( https://nmap.org ) at 2023-05-19 09:18 CST Nmap scan report for 10.10.11.211 Host is up…