最近需要根据注释文件在基因组上截取序列,突然想到一个问题:对于下面这样在负链上的基因,我们是先将整条染色体反向互补再截取对应区间?还是先截取对应区间再反向互补呢?

首先亮出答案:先截取区间,再反向互补。比如上面的ALK基因,先截取chr2上的29415640-30144452区间,再反向互补即得到ALK基因的碱基序列。

验证过程:

方法一:bedtools工具包可以根据bed文件提取区间序列,这里以上面的ALK基因为例试一下:

1.首先创建一个bed文件命名为AKL.bed,其中文件第6列可以指定正负链

2.然后运行bedtools,得到ALK.fa序列文件,注意要添加-s选项

bedtools getfasta -fi ucsc.hg19.fasta -bed ALK.bed -s -fo ALK.fa

3.比较NCBI上给出的ALK序列和bedtools的运行结果,发现两者一致,说明bedtools工具截取负链上的基因准确,如果不想深究是哪种截取方法,后面直接用这个工具即可

方法二:将两种不同的截取方法截取的序列和NCBI上给出的ALK序列比较,即可知道哪种截取方式是正确的:

1.利用python编写一个用于获取反向互补序列的子函数

def rev(seq):base_trans = {'A':'T', 'C':'G', 'T':'A', 'G':'C', 'N':'N', 'a':'t', 'c':'g', 't':'a', 'g':'c', 'n':'n'}rev_seq = list(reversed(seq))rev_seq_list = [base_trans[k] for k in rev_seq]rev_seq = ''.join(rev_seq_list)return(rev_seq)

2.利用python编写一个获取基因组所有序列的子函数

def cget_fadic(faPath):from Bio import SeqIOdic={}for i in SeqIO.parse(open(faPath),'fasta'):dic[str(i.id)]=str(i.seq)return dic

3.截取序列并和NCBI比较

mydic=cget_fadic("ucsc.hg19.fasta")
chr2_seq=mydic['chr2']seq1=rev(chr2_seq[29415640:30144452])
seq2=rev(chr2_seq)[29415640:30144452]out1=open("ALK_seq1.fa",'w')
out2=open("ALK_seq2.fa",'w')out1.writelines(">rev(chr2:29415640:30144452)\n"+seq1)
out2.writelines(">rev(chr2):29415640:30144452\n"+seq2)
out1.close()
out2.close()

结果不难看出,seq1的序列和ALK序列一致,正确的序列是通过先截取再取反向互补的方式得到的。

更多生信小知识关注:

根据gff/gtf等注释文件取负链上的序列:先反向互补染色体再截取?还是先截取区间再反向互补序列?相关推荐

  1. gff文件_根据gff/gtf等注释文件取负链上的序列:先反向互补染色体再截取?还是先截取区间再反向互补序列?...

    最近需要根据注释文件在基因组上截取序列,突然想到一个问题:对于下面这样在负链上的基因,我们是先将整条染色体反向互补再截取对应区间?还是先截取对应区间再反向互补呢? 首先亮出答案:先截取区间,再反向互补 ...

  2. GTF基因注释文件详解

    GFF和GTF是两种最常用的数据库注释格式,在信息分析中建库时除了需要fasta文件一般还会需要这两种文件,提取需要的信息进行注释. Cufflinks/Tophat 软件需要 GTF文件作为基因注释 ...

  3. FX2N通讯监控记录, PLC程序/参数/注释/文件寄存器的写入和读出

    //============================================================================================// // ...

  4. gffread gffcompare 将gff与gtf格式的注释文件转换与合并

    gffread gffcompare 将gff与gtf格式的注释文件转换与合并 使用: (1)gffread 安装: conda install gffread -y 使用: mkdir gtf# 格 ...

  5. 「小技巧」如何让IGV更快的加载GTF和GFF注释文件

    很简单,就下面3行命令 gff= (grep ^"#" $gff; grep -v ^"#" $gff | sort -k1,1 -k4,4n) | bgzip ...

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

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

  7. 【GO富集分析】GO注释文件爬取

    GO数据库注释文件爬取 爬取整体思路 代码实现 最近在做基因富集分析发现,很多非模式植物通过 clusterprofiler做富集分析都需要自备注释文件,这时我们需要GO的注释文件,需要自己整理,这里 ...

  8. 关于基因组注释文件GTF的解释

    GTF文件的全称是gene transfer format,主要是对染色体上的基因进行标注.怎么理解呢,其实所谓的基因名,基因座等,都只是后来人们给一段DNA序列起的名字而已,还原到细胞中就是细胞核里 ...

  9. 构建index所需的参考基因组以及各种版本的注释文件

    文章目录 一.参考基因组 1. UCSC 2. ensemble 3. NCBI 4. gencode 二.基因组注释文件(GFF,GTF) 1. UCSC 2. ensemble 3. NCBI 4 ...

最新文章

  1. [SinGuLaRiTy] 贪心题目复习
  2. 线上发生死锁异常了,该怎么办
  3. poj 3304 Segments (几何 : 线段 直线相交)
  4. 学习响应式BootStrap来写融职教育网站,Bootsrtap第三天nav布局
  5. 功率谱和频谱的区别、联系
  6. Codeforces 173E Camping Groups 线段树
  7. Google Maps地图投影全解析
  8. 爬虫学习二: bs4 xpath re
  9. (转) oracle清空数据库脚本
  10. 对佛教大小无别的弦论解释
  11. OS实验xv6 6.S081 开坑
  12. 玲珑3D与几何画板的比较
  13. VBAProject密码清除 for EXCEL2003
  14. 云控微信开发SDK使用教程--手机微信群聊信息变更通知服务端
  15. iOS 逆向编程(二十三)dsc_extractor 动态库提取器
  16. 深圳市自助图书馆详细分布地址
  17. UVA - 10041 Vito's Family (中位数)
  18. 京东大数据技术白皮书(附下载)
  19. iphone主屏幕动态壁纸_iPhone不需长按自动触发动态壁纸教程
  20. 海信98E7G PRO 98英寸 评测

热门文章

  1. iframe height 100% 无效问题解决(转)
  2. 推荐今日火火火的 4 个开源项目
  3. 【方法】想把PDF文档转换成PPT,如何操作?
  4. ClickHouse镜像在阿里云镜像站首发上线
  5. 精益技术简历之道:改善技术简历的47条原则
  6. 【Docker】win11安装docker不能启动,wsl 2 installation is incomplete报错
  7. XML 架构参考 (XSD)
  8. 工业相机控制-MFC
  9. QT多线程临界资源互斥
  10. 中国人的操作系统---陈榕