基因组测学回来的结果后,从assembly(组装)里找到序列文件,格式可能是:.fasta、.fastq、.seq、和.contig。fastq要转化为fasta,转化方法网上一大把哈。我的基因组序列是一个.seq文件:

$首先先呈上代码

seq=open('SK007.seq','r')

count={}

for i in seq:

if i[0]=='>':

continue

else:

s=i.split()

s1=s[0]

for c in s1:

count[c] = count.get(c,0) + 1

seq.close()

for k, v in count.items():

print(k + ' '+ str(v))

#序列文件的内部样子,共有119个scaffold,即scaffold1-scaffold119

#首先读取文件,将其赋值给seq,并创造一个空的字典。由于我的序列文件就在我的家目录下,所以读取文件时,可以写作“open('SK007.seq','r')”,如果序列文件在别的路径就需要写出详细的文件路径,例如“open('/data/SK007基因组/Assembly/SK007.seq','r')”,这样python才能找到你的文件。

seq=open('SK007.seq','r')

count={}

#接着使用‘遍历’的方法读取基因组序列。读取时以一行一行的字符串赋值给i,为了去除">scafford"行,选着条件判断,凡是以‘>’开头的字符串都跳过。其它的字符串通过str.split()方法,将每一个字符串一个一个的放在列表中,去掉末尾的的'\n'(直接用方法str.strip()就能很好的达到目的)。

for i in seq:

if i[0]=='>':

continue

else:

s=i.split()

s1=s[0]

for c in s1:

count[c] = count.get(c,0) + 1

#如果print(s)话会得到这样一组列表,然后将列表中的每一个字符串取出,对每一个字符串进行一个字母一个字母的'遍历',dict.get(key,default=None),key--字典中要查找的键,如果字典中有该键,则返回相应的值,default--如果没有该键,返回的该参数值。

#这样就将基因组序列众多碱基序列过了一遍,并利用字典将相应的碱基作为键(key),碱基数目作为值(value),形成了一个字典(dict)。再将字典中的键和值读取出来。由于序列中混有小写字母碱基片段所以结果是这样子。

for k, v in count.items():

print(k + ' '+ str(v))

转载本文请联系原作者获取授权,同时请注明本文来自靳泽星科学网博客。

链接地址:http://blog.sciencenet.cn/blog-3419243-1218367.html

上一篇:α多样性指数变化趋势

下一篇:python3 fasta txt seq contig等纯文本文件的读取 写入

基于python的计算基因组_科学网—python3 计算 基因组测序结果文件 各碱基数目(个人练习) - 靳泽星的博文...相关推荐

  1. python3写txt_科学网—python3 fasta txt seq contig等纯文本文件的读取 写入 - 靳泽星的博文...

    #文本文件的读取,同样的如果'序列文件.txt'不在当前工作目录下,需要写出详细的文件路径.与window系统不同,在linux系统中工作路径需要用到'/',而不是'\'.参数'r'意思为以只读方式打 ...

  2. r语言做绘制精美pcoa图_科学网—R语言 PCA PCoA ggplot2 - 靳泽星的博文

    这一篇是衔接上一篇的,就是要用ggplot2程序包对PCA和PCoA进行可视化.代码我直接照搬过来了,只是绘图的时候用ggplot函数.ggplot2包实现了一个在R中基于全面一致的语法创建图形时的系 ...

  3. python月球地球质量计算_科学网—天文计算PyEphem指南 - 张金龙的博文

    PyEphem (http://rhodesmill.org/pyephem/tutorial.html)(github, Pypi)是Python下的一个软件包,计算准确度很高,可用来计算不同坐标系 ...

  4. python 读grid 数据_科学网—Python_机器学习_总结14:Grid search - 李军的博文

    机器学习中存在两类参数:通过训练数据学习得到的参数:---可认为是辨识得到的参数,例如模型系数: 在学习算法中单独需要优化的参数--超参.调优参数:---算法自身的系数,例如决策树的深度参数: Gri ...

  5. python sklearn 梯度下降法_科学网—Python_机器学习_总结4:随机梯度下降算法 - 李军的博文...

    =============================================================== 总结如下: 1.随机梯度下降算法可以看成是梯度下降算法的近似,但通常它能 ...

  6. python对数运算符号_科学网—Python中算数运算符之注意及np.logspace - 张伟的博文...

    (一)算数运算符 数字2 是一个整数的例子. 长整数 不过是大一些的整数. 3.23和52.3E-4是浮点数的例子.E标记表示10的幂.在这里,52.3E-4表示52.3 * 10-4. (-5+4j ...

  7. python networkx 边权重_科学网—NetworkX:关于边的权重及其画图 - 胡海华的博文

    这两天因为有个想法,想用NetworkX跑一跑看看情况,但是在权重上犯了糊涂. NetworkX添加带有权重的边很简单,只需要以三个元素的元组(a, b, w)来表示就可以了,其中ab代表节点a和b- ...

  8. python频次统计图_科学网—Python小例:统计文本中单词出现的频次 - 康建的博文...

    import re zen=''' The Zen of Python, by Tim Peters Beautiful is better than ugly. Explicit is better ...

  9. python keras安装配置_科学网—如何配置深度学习环境:Ubuntu+TensorFlow+keras - 邵斌的博文...

    深度学习是最近很火爆的一个技术,虽然很多概念在上个世纪就已提出,但大规模的应用和发展还是近几年的事情.这里分享一下相关配置(针对TensorFlow+keras). 硬件需求: 最好有一块比较新的支持 ...

最新文章

  1. 几个数判断大小_许栩原创2020读书笔记2《魔鬼数学》:极小数的两倍仍然是极小数...
  2. 设计模式(一) 策略模式
  3. C#3.0 自动属性——只能在简单属性上偷懒
  4. linux环境下用docker安装rabbitmq
  5. LeetCode2:Add Two Numbers
  6. Linux多命令协作:管道及重定向
  7. win8学习--------File
  8. 使用函数统计指定数字的个数_四种函数方法实现按条件统计一个区间数字的个数...
  9. javascript探秘-检测浏览器和操作系统
  10. java 生产mdb_Java生成mdb文件[MS Access文件]
  11. Linux TTY 串口 struct termios结构体参数
  12. C语言表白流星(末尾附加下载地址)
  13. DOS命令打开一个软件,以及在python中的使用
  14. VMWARE虚拟机启动失败,模块“Disk”启动失败
  15. begin tran,commit tran和rollback tran的用法
  16. MySQL引用ibd_Linux下使用ibd文件实现MySQL的数据导入和使用
  17. oracle数据库在公有云上,【云端起舞】在Oracle公有云上创建克隆数据库
  18. 第七讲:flask框架
  19. 电阻(电阻器)学习干货
  20. 中型B2C电商行业BI系统推荐?

热门文章

  1. 大文件如何快速上传?
  2. [从头读历史] 第293节 神之物语 坦塔罗斯的后裔
  3. CNN+LSTM多通道特征组合模型
  4. windows设置远程登录-入门篇
  5. 云起实验室:基于Ubuntu搭建个人网盘
  6. 阿里云ubuntu版本搭建本地私有厂库
  7. 一战赚了 1090 亿,“可怕”的张一鸣!
  8. 如何使用计算机隐藏功能,用这么多年都不知道!Word隐藏功能大揭秘
  9. ES6代理器Proxy简介
  10. C# wcf动态使调用