资讯专栏INFORMATION COLUMN

python从gbff文件上直接获取cds编码序列

89542767 / 439人阅读

  本文主要是给大家介绍了python从gbff文件上直接获取cds编码序列实例详细说明,感兴趣的小伙伴可以参考借鉴一下,希望可以有一定的帮助,祝愿大家多多的发展,尽早涨薪。


  什么叫GBFF文档


  GenBank纯文本文件类型(GenBankflatfile,通称GBFF)


  GBFF是GenBank数据库系统的相关信息企业


  GBFF编码序列文档由多带带的编码序列具体内容构成。


  编码序列具体内容由字段名构成,每一个字段由关键字逐渐,后边为字段名的实际表明。


  字段名分多个曾孙字段名,依次关键字或特点表说明符逐渐。


  每一个编码序列具体内容以双斜杠“//*作完毕标识


  每一个编码序列具体内容所代表的意义


  1、LOCUS(编码)编码序列的功效、编码序列长短、种类、职业由来、上传时间


  2、DEFINITION(表明)含有的生理意义的总结叙述


  3、ACCESSION(序号)具备统一性和永久


  4、VERSION(版本信息)文章编号、版本信息


  5、KEYWORDS(关键字)叙述编码序列“.”表明没有叙述具体内容


  6、SOURCE(信息来源)编码序列由来微生物的英文缩写,或分子结构种类


  7、REFERENCE(参考文献)与本数据有关的参考文献,按发表时间排名


  8、FEATURES(特点表)叙述遗传基因和遗传基因的产物,以及与序列相关的生物学特性,其中包括


  a.特点关键字(Featurekey)简要说明功能组的关键词


  b.特点位置(Location)指明在特点表中的什么地方找到相关特点


  c.限定词(Qualifiers)相关特性的辅助信息


  9、ORIGIN(碱基排列顺序)类似于FASTA格式给出了所记录的编码序列


  最后直接上代????,更改输入和输出文件即可使用


  import re
  FILE_PATH='./input.gb'
  OUT_FILE_PATH='./output.fasta'
  d={}
  g={}
  tem=[]
  def con_spl(list_,n=2):
  return[list_[i:i+n]for i in range(0,len(list_),n)]
  with open(FILE_PATH,'r')as f:
  while True:
  text_line=f.readline().strip('t').split()
  if text_line:
  if text_line[0]=='DEFINITION':
  c=''.join(i for i in text_line[2:])
  d[c]=[]
  g[c]=[]
  print(text_line)
  elif text_line[0]=='CDS':
  cds=re.findall(r"d+d*?",text_line[1])
  if len(cds)==2:
  d[c].append(cds)
  else:
  for i in con_spl(cds):
  d[c].append(i)
  elif text_line[0]=='ORIGIN':
  while text_line[0]!='//':
  for i in text_line[1:]:
  tem.append(i)
  text_line=f.readline().strip('t').split()
  e=''.join(i for i in tem)
  g[c].append(e)
  else:
  pass
  elif f.readline().strip('t').split():
  continue
  else:
  break
  with open(OUT_FILE_PATH,'w')as f:
  for i,o in d.items():
  G=''.join(g<I>)
  p=''
  for u in o:
  u1=int(u[0])
  u2=int(u[1])+1
  p+=G[u1:u2]
  print('>',i,sep='',file=f)
  print(p,file=f)


  综上所述,这篇文章就为大家介绍到这里了,希望可以给大家带来帮助。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/128695.html

相关文章

  • 应用Python脚本制作获取基因组测序指定位置编码序列

    此篇文章关键给大家介绍了应用Python脚本制作获取基因组测序指定位置编码序列的实例详细说明,感兴趣的小伙伴值得借鉴参考一下,也希望能有一定的帮助,祝愿大家多多的发展,尽早涨薪  前言  在基因组分析中,大家常常会有这样一个要求,便是在一个fasta文件中获取某些编码序列出去。有时候这种编码序列注定是完备的编码序列,而有时候只是为原fasta文件中某一段编码序列中的一部分。尤其是当信息量许多时,应...

    89542767 评论0 收藏0
  • 区块链教程Fabric1.0源代码分析Peer peer chaincode命令及子命令实现

    摘要:兄弟连区块链教程源代码分析命令及子命令实现,年下半年,区块链行业正逐渐褪去发展之初的浮躁回归理性,表面上看相关人才需求与身价似乎正在回落。   兄弟连区块链教程Fabric1.0源代码分析Peer peer chaincode命令及子命令实现,2018年下半年,区块链行业正逐渐褪去发展之初的浮躁、回归理性,表面上看相关人才需求与身价似乎正在回落。但事实上,正是初期泡沫的渐退,让人们更多...

    gghyoo 评论0 收藏0
  • Python学习之路23-文本和字节序列

    摘要:字符编码表,码位码元将编码字符集中的码位转换成有限比特长度的整型值的序列。字符编码方案,码元序列化也称为常说的序列化。每个字节里的二进制数就是字节序列。另一个情况则是压缩字节序列的值,如或进程长度编码等无损压缩技术。 《流畅的Python》笔记。本篇主要讲述不同编码之间的转换问题,比较繁杂,如果平时处理文本不多,或者语言比较单一,没有多语言文本处理的需求,则可以略过此篇。 1. 前言 ...

    anRui 评论0 收藏0
  • AngularJs功能(七)--服务

    摘要:通过工厂模式创建自定义服务同样可以注入依赖,但不能注入作用域对象。名字必须符合规范你的服务名字龙傲天使用方法关联对应的和使用和方法创建服务,常用于返回一个常量。 服务 Service 服务这个概念其实并不陌生,比如在Java语言中便有这样的概念,其作用就是对外提供某个特定的功能,如消息服务,菜单服务等,是一个独立的模块。 angular的服务是这样定义的:Angular service...

    妤锋シ 评论0 收藏0
  • Python的高级特性,模块和IO操作

    摘要:所以如果像上述这样引入模块的时候,调用函数必须加上模块名通常情况下鼓励每个语句只导入一个包方便理解和阅读代码。 今天我们学习Python的高级特性、模块和IO操作,通过学习这些,我们可以更快的了解Python,使用Python。 高级特性中会讲述列表生成式、生成器、和一些高级函数,学习这些方便我们快速的生成列表,节省我们使用Python的时间,更快的使用Python达成我们的目的。 模...

    WelliJhon 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<