python 基因测序_科学网-python3 计算 基因组测序结果文件 各碱基数目(个人练习)-靳泽星的博文...
基因组测学回来的结果后,从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))
转载本文请联系原作者获取授权,同时请注明本文来自靳泽星科学网博客。
收藏
分享
分享到:
python 基因测序_科学网-python3 计算 基因组测序结果文件 各碱基数目(个人练习)-靳泽星的博文...相关推荐
- 基于python的计算基因组_科学网—python3 计算 基因组测序结果文件 各碱基数目(个人练习) - 靳泽星的博文...
基因组测学回来的结果后,从assembly(组装)里找到序列文件,格式可能是:.fasta..fastq..seq.和.contig.fastq要转化为fasta,转化方法网上一大把哈.我的基因组序列 ...
- python3写txt_科学网—python3 fasta txt seq contig等纯文本文件的读取 写入 - 靳泽星的博文...
#文本文件的读取,同样的如果'序列文件.txt'不在当前工作目录下,需要写出详细的文件路径.与window系统不同,在linux系统中工作路径需要用到'/',而不是'\'.参数'r'意思为以只读方式打 ...
- r语言做绘制精美pcoa图_科学网—R语言 PCA PCoA ggplot2 - 靳泽星的博文
这一篇是衔接上一篇的,就是要用ggplot2程序包对PCA和PCoA进行可视化.代码我直接照搬过来了,只是绘图的时候用ggplot函数.ggplot2包实现了一个在R中基于全面一致的语法创建图形时的系 ...
- python月球地球质量计算_科学网—天文计算PyEphem指南 - 张金龙的博文
PyEphem (http://rhodesmill.org/pyephem/tutorial.html)(github, Pypi)是Python下的一个软件包,计算准确度很高,可用来计算不同坐标系 ...
- python序列_科学网—Python:序列(字符串、列表、元组)和序列函数 - 刘洋洋的博文...
Python中的序列,包括字符串(String).列表(List).元组(Tuple). 序列的索引 通过索引(index)访问及获得的序列的一个或多个元素,也叫切片. 正序: 0 到 N-1 倒序: ...
- python斐波那契数列第四十项_科学网—不死神兔的繁衍生息——神奇的斐波那契数列 - 霍开拓的博文...
不死神兔的繁衍生息--神奇的斐波那契数列 • 故事得从西元1202年说起,话说有一位意大利青年,名叫斐波那契.在他的一部著作中提出了一个有趣的问题:假设一对刚出生的小兔一个月后就能长成大兔,再过一个月 ...
- python 网络_科学网-python 社会网络分析工具之networkx-郗强的博文
1.networkx 2.igraph 3.SNAP 1.networkx NetworkX是一个用Python语言开发的图论与复杂网络建模工具,内置了常用的图与复杂网络分析算法,可以方便的进行复杂网 ...
- cie1931 python绘制_科学网—gnuplot与CIE1931 XYZ三刺激值曲线 - 范学良的博文
1.直接生成PNG文件 gunplot script: gnuplot> set term pngcairo Terminal type set to 'pngcairo' Options ar ...
- cie1931 python绘制_科学网-gnuplot与CIE1931 XYZ三刺激值曲线-范学良的博文
1.直接生成PNG文件 gunplot script: gnuplot> set term pngcairo Terminal type set to 'pngcairo' Options ar ...
- bam文件读取_科学网—Pacbio Sequel两种bam文件解析 - 卢锐的博文
pacbio目前有两种主流的测序平台,RSII和Sequel,后者是前者的升级版. pacbio sequel下机是bam格式的reads文件,它和reads比对到参考基因组上生成的bam文件,内容有 ...
最新文章
- 图解c/c++多级指针与“多维”数组
- intellij idea操作maven时控制台中文乱码
- vue全局安装jquery,vue使用bootstrap框架,vue中封装websocket通讯,vue引入element-ui 组件库,引入highcharts图表插件
- 错误:Type javax.xml.bind.JAXBContext not present
- graph slam tutorial :从推导到应用3
- 高可用之KeepAlived(一):基本概念和配置文件分析
- python settings模块导入不了_Django:无法导入“模块”。检查模块AppConfig.name是否正确 - python...
- Postgresql Hot_Standby 流复制 基于Linux 对postgresql 和 linux 会基本的操作
- 零基础搭建微信小程序商城系统
- Web服务器Nginx
- svn执行update操作后出现:Error : Previous operation has not finished; run 'cleanup' if it was interrupted.
- k8s 配置 Secret 集成Harbor
- 如何使用chatGPT生成小红书种草文案
- php程序员如何写简历
- linux 编译源码,修改未生效
- 2019年个人成长总结
- Oracle enterprise manager 13C 安装无法正常进行
- 解决“手机能胜场使用校园网 笔记本电脑连接不上校园网或者连接上不可用”的问题
- 渲染(render)和着色(shading)
- 【Office】excel当前日期,下月日期
热门文章
- 计算机亮度快捷键,调节电脑亮度的快捷键是什么
- 重新启动计算机以关闭用户账户控制,win10如何彻底关闭用户帐户控制?
- 区块链众生的六个层级,你了解吗?
- 计算机找网络共享盘快捷键,电脑共享快捷键不见了怎么办
- python arp断网攻击_arp断网攻击,小编教你arp断网攻击怎么解决
- centos7安装boost记录
- Xcode14 终于放弃了bitcode和armv7架构,还有iOS 9、iOS 10
- linux关机会自动重启,linux——如何在linux下让系统定时自动重启(关机)
- Python ftp 下载AHI数据
- C#自动换ip功能或者ip代理功能要这么实现