前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用bedtools根据染色体上的起止位置拿到基因symbol

使用bedtools根据染色体上的起止位置拿到基因symbol

作者头像
生信技能树
发布2020-06-11 09:50:47
12.4K0
发布2020-06-11 09:50:47
举报
文章被收录于专栏:生信技能树

第一步:将你的染色体位置坐标文件整理成bed格式。

bed格式文件至少包括前3列,分别是:染色体的名字、染色体上的起始位置、染色体上的终止位置。这一步无论用写字板、excel、R等进行处理都可以,文件的后缀名也不重要,因为强行将文件后缀改为bed时,在后面的Linux系统中进行bedtools处理时也会报错。所需的bed格式文件参见下图。

第二步:获得人类基因组的注释文件。

可从gencode中根据自己的需要下载hg38或者hg19版本的人类基因组注释文件(文章中以hg38为例)。这一步可以进gencode官网(https://www.gencodegenes.org/human/)进行本地下载,然后用filezilla等文件传输工具将下载的本地文件传输到服务器。也可以直接在服务器的Linux系统中进行ftp下载。

本地下载:

ftp下载:

获得下载链接后,在Linux系统中输入下面的代码进行ftp下载:

代码语言:javascript
复制
wget ftp://ftp.ebi.ac.uk/pub/databases/gencode/Gencode_human/release_34/gencode.v34.annotation.gtf.gz

第三步:在Linux系统中处理下载的基因组注释文件,得到人类的蛋白编码基因的位置坐标。

在Linux系统中输入下面的代码,得到hg38版本的人类蛋白编码基因的位置坐标:

代码语言:javascript
复制
zcat  gencode.v34.annotation.gtf.gz | grep   protein_coding |perl -alne '{next unless $F[2] eq "gene" ;/gene_name \"(.*?)\";/; print "$F[0]\t$F[3]\t$F[4]\t$1" }' >protein_coding.hg38.position

第四步:在Linux系统中将自己待处理的bed格式文件转换为Tab键分隔的文件。

先将待处理的坐标bed格式文件链接或复制到第三步得到的结果文件所在的目录下,然后修改这一文件的后缀名为bed,再将这一文件转化为Tab键分隔的后缀名为bed的文件,需输入下面的代码(motif1.bed是自己命名的待处理坐标文件):

代码语言:javascript
复制
mv motif1.tsv motif1.bed
perl -p -i -e 's/ /\t/g' motif1.bed

如果在第一步的时候已将待处理的bed格式文件保存为了Tab键分隔格式,但是在后面的处理中仍然报错,不妨再进行一次Tab键分隔处理。

第五步:在Linux系统中利用bedtools得到包含染色体位置坐标的蛋白编码基因。

首先需要启动自己安装了bedtools软件的conda小环境,然后输入下面的代码:

代码语言:javascript
复制
bedtools intersect -a motif1.bed  -b ~/dna/exercise/protein_coding.hg38.position  -wa -wb

也可以对结果进行汇总,将位于相同染色体坐标的基因symbol写在一块,此时只需要加上|后面的代码即可。| 之前的文件得到的结果有几列,-c后面的数字就写几。如我得到的有7列,-c后面就写7。

代码语言:javascript
复制
bedtools intersect -a motif1.bed  -b ~/dna/exercise/protein_coding.hg38.position  -wa -wb | bedtools groupby -i - -g 1-4 -c 7 -o collapse

也可以另存结果:

代码语言:javascript
复制
bedtools intersect -a motif1.bed  -b ~/dna/exercise/protein_coding.hg38.position  -wa -wb | bedtools groupby -i - -g 1-4 -c 7 -o collapse >gene.tsv

新保存的gene.tsv文件就是结果文件了,然后可以拿着结果进行后续处理啦~。

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第一步:将你的染色体位置坐标文件整理成bed格式。
  • 第二步:获得人类基因组的注释文件。
  • 第三步:在Linux系统中处理下载的基因组注释文件,得到人类的蛋白编码基因的位置坐标。
  • 第四步:在Linux系统中将自己待处理的bed格式文件转换为Tab键分隔的文件。
  • 第五步:在Linux系统中利用bedtools得到包含染色体位置坐标的蛋白编码基因。
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档