我之前用的是https://snp-nexus.org/,但最近在维护,所以不得不用别的。

我也用过liftOver的网页版,但是遇到几个问题:

  1. 如果有的位置只在高版本有,而低版本无,这样就很难一一对应回原有的位置。以为liftOver的输出会直接删掉无对应位置的地方,我要手动看删掉了哪些。
  2. 我发现他的转换有错。
  3. 我下了R包,发现也是一样。

最后决定用CrossMap

CrossMap

1. 安装

直接通过python安装(好像需要事先装有anaconda3)

python --version ##查看自己的python版本
pip3 install CrossMap  #Install CrossMap supporting Python3
pip3 install CrossMap --upgrade        #upgrade
pip2 install CrossMap  #Install CrossMap supporting Python2.7.*
pip2 install CrossMap --upgrade

查看文件所在

whereis CrossMap

/home/user/installation/anaconda3/bin/CrossMap.py

加入环境变量。这一步我没有成功;如果你也没有,不用着急,下面通过完整路径调用即可

export PYTHONPATH=/home/user/installation/anaconda3/bin/CrossMap.py:$PYTHONPATH
export PATH=/home/user/installation/anaconda3/bin/CrossMap.py:$PATH

2. 准备文件

2.1 转换参考文件chain

我是准备hg38转hg37,如果你们要转别的,在官网下载对应版本的信息。

wget http://hgdownload.soe.ucsc.edu/goldenPath/hg38/liftOver/hg38ToHg19.over.chain.gz

2.2 准备待转换数据

用R处理原始数据,生成bed文件。bed文件的格式说明

我的原始数据长这样

library(data.table)
dat1 <- as.data.table(read.csv("eqtl_38.csv", header=T))
dat1$chro <- paste("chr",dat1$CHR,sep="")
dat2 <- dat1[, list(chro= unique(chro), START = min(POS), STOP =max(POS)),by=SNP]
dat3 <- dat2[,-1]
write.table(dat3, "hg38.bed", row.names=F, col.names=F, quote=F)

3. 转换

bed 指明文件格式
output.txt 指明输出文件

python /home/user/installation/anaconda3/bin/CrossMap.py bed hg38ToHg19.over.chain.gz dftj.hg38.bed output.txt

注意!!!

有时候版本之间并不一一对应,有的位点可能只在高版本有!所以直接output会删除在低版本对应没有的位点,这样如果你想一一对应,就是IMPOSSIBLE!
所以,小聪明了我!

python /home/user/installation/anaconda3/bin/CrossMap.py bed hg38ToHg19.over.chain.gz dftj.hg38.bed > log.txt
head -n 10 log.txt


可以看到,没有对应高版本信息的会提示“Unmap”,这样就可以在自己的表格中一一对应回去了~!
小小的一个trick~解决了大问题啊开心!!!

觉得好用记得点赞或收藏~让更多人看到!

嘻嘻
送佛送到西,log.txt读入excel会有点问题。第三列无法直接分列

我们用stringrstr_replace()替换到这个\t

library(stringr)
dat1[,3]<- str_replace(dat1[,3], "\t", "_")

重复4次,因为一次只替换一个
然后写出文件,到excel中分列替换和vlookup

write.table(dat1, "log1.txt", row.names=F, col.names=F, quote=F)

就可以把新旧的位置一一对应了!

CrossMap基因坐标转换:hg38和hg37互换相关推荐

  1. 参考基因组 坐标转换 hg38 hg19

    参考基因组 坐标转换 hg38 hg19 俗话说,工欲善其事必先利其器 首先,你要有一套nb的工具,这里就介绍一下 UCSC 的 liftOver,这就是用来做 不同版本基因组间的转换. 1.下载必要 ...

  2. 生信人的linux考试

    一.在任意文件夹下面创建形如 1/2/3/4/5/6/7/8/9 格式的文件夹系列. mkdir test cd test mkdir -p 1/2/3/4/5/6/7/8/9 二.在创建好的文件夹下 ...

  3. java 遗传算法_遗传算法(Genetic Algorithm)——基于Java实现

    一.遗传算法原理介绍 遗传算法(Genetic Algorithm)是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法.遗传算法是从代表问 ...

  4. C#坐标转换(空间坐标大地坐标互换、高斯正方算)

    C#坐标转换 公式 椭球基本参数 大地坐标转换为空间坐标 空间坐标转换为大地坐标 高斯正算 高斯反算 程序中的一些类 Ellipsoid类 Point类 Coordinate类 C#程序界面 完整代码 ...

  5. Microbiome:宏基因组分箱流程MetaWRAP分析实战和结果解读

    文章目录 MetaWRAP-a flexible pipeline for genome-resolved metagenomic data analysis 分析实战 0.下载肠道宏基因组数据 1. ...

  6. Microbiome:宏基因组分箱流程MetaWRAP安装和数据库布置

    文章目录 简介 工作原理 优势 功能模块 软件安装 数据库配置 **CheckM数据库** **KRAKEN数据库** **NCBI_nt** **NCBI物种信息** **人类基因组bmt索引** ...

  7. 全长转录组之基因和转录本鉴定

    折叠转录本 分析目的:基于基因组比对结果,将相似的多转录本折叠成单个转录本(去冗余) PacBio分析软件: TAMA:https://github.com/GenomeRIK/tama TAMA简介 ...

  8. 根据gtf格式的基因注释文件得到人所有基因的染色体坐标

    用bedtools对基因组片段区域进行基因注释 根据gtf格式的基因注释文件得到人所有基因的染色体坐标 选择的genecode内最早的Grch38版本(201408) v20是最早的hg38版本对应的 ...

  9. matlab迭代xyz到blh,基于matlab的坐标转换精编.doc

    河南理工大学本科毕业论文PAGE PAGE V 本 科 毕 业 设 计(论文) 题目 基于MATLAB的坐标转换 院(系部)测绘与国土信息工程学院专业名称 测绘工程 年级班级 10-5学生姓名 刘威指 ...

  10. 《基因 7》(GENE VII)问题汇编

    转载自生物实验网 第01章 概念题 什么叫做转化? 答:转化:细菌在基因重组作用中,受体细胞染色体内参入了一段提纯的DN断. 什么叫做转染? 答:转染(transfection) 在组织培养中,外来D ...

最新文章

  1. Go 语言编程 — 程序运行环境
  2. 《数据库技术原理与应用教程(第2版)》——习 题 1
  3. 本地连接状态 属性按钮消失 解决过程(DCOM配置问题)(原创*转载留名)
  4. linux6.7能升级6.8吗,CentOS 六、7升级gcc至4.八、4.九、5.二、6.三、7.3等高版本
  5. flutter引入高德地图_Flutter笔记-调用原生IOS高德地图sdk
  6. IE浏览器 对 jquery版本的兼容性 支持
  7. vue for循环中常见问题 之 求和(合计)
  8. MySQL 瓶颈分析及优化
  9. 机器数与码制——如何在计算机内部存储数字、进行数据运算
  10. 第四期coding_group笔记_用CRF实现分词-词性标注
  11. 【转】NodeJs使用Mysql模块实现事务处理
  12. 2019刚开年全球天气已“爆表” 多国极端天气打破历史纪录
  13. 极客大学架构师训练营发现问题的真正所在、技术领导者的7种武器、架构师之道 第30课 最后一课 听课总结
  14. SAP 电商云 Spartacus UI Cart 页面的 CMS 布局
  15. java纯数字正则表达式_java正则表达式匹配所有数字的案例
  16. android 蓝牙地址连接打印机,android 连接蓝牙打印机 BluetoothAdapter
  17. JDK、JRE、JVM三者间的联系与区别
  18. GP232RL与FT232RL操作区别
  19. 【basler】Chapter3:basler相机出现斜黑条纹
  20. [优化精髓]搜索引擎优化应该重视什么?

热门文章

  1. Matlab-有限单元法-2D梁单元的刚度矩阵组装(曾攀)
  2. 配置管理基本概念、配置管理计划、配置管理主要活动
  3. Flash Lite作为S40和S60系列上的特性出现在技术规范中
  4. 使用PyTorch实现CNN
  5. 2022危险化学品生产单位安全生产管理人员考试题库及在线模拟考试
  6. Legacy(传统)BIOS的历史和不足
  7. Hibernate4.3在开发中的一些异常总结(持续更新)
  8. MATLAB GBK编码
  9. 毕设-基于JavaWeb在线学习平台
  10. vs2019键盘钩子_注册全局鼠标钩子后用鼠标点击窗口上最大化、最小化、关闭窗口界面卡死...