python 去除换行符_技术贴 | Python:fasta文件处理和GC含量统计
发布日期:2021-06-24 14:53:45
浏览次数:3
分类:技术文章
本文共 2014 字,大约阅读时间需要 6 分钟。
点击蓝字↑↑↑“微生态”,轻松关注不迷路
本文由阿童木根据实践经验而整理,希望对大家有帮助。
原创微文,欢迎转发转载。
Fasta文件有两种常见的格式,一种是一行序列名加一行序列,另一种是一行序列名加多行序列(每60个碱基换行)。下面分享两个用python处理和统计第二种fasta文件的脚本:
1. 去除fasta文件的换行符
2. 计算[换行符分隔]fasta文件每条序列的GC含量
二、去除fasta文件的换行符
1. 1 输入数据
cat test # 一个随便写的文件 >sequence_1 AAAA GGGG CCCC TTTT >sequence_2 aaaa gggg cccc tttt
1.2 Python3代码
思路:
第一步:构建字典将序列名作为键,序列作为值
第二部:读取字典,join序列,保存
#!/usr/bin/env python3 import os import sys import re ms, infile, outfile = sys.argv with open(infile) as f: Dict = {} for line in f: if line[0] == ">": key = line.strip() Dict[key] = [] else: Dict[key].append(line.strip()) with open(outfile, 'w') as o: for key, value in Dict.items(): o.write("{}\n{}\n".format(key, ''.join(value))
1.3 运行脚本
python3 trim_enter.py test test2
1.4 检查结果
>sequence_1 AAAAGGGGCCCCTTTT >sequence_2 aaaaggggcccctttt
三、计算[换行符分隔]fasta文件每条序列的GC含量
2.1 输入数据
cat test.txt >sequence_1 AAAA GGGG CCCC TTTT >sequence_2 aaaa gggg cccc tttt
2.2 Python3代码
思路:
第一步:构建字典将序列名作为键,序列作为值
第二步:读取字典,join序列,统计GC含量,保存
#!/usr/bin/env python3 import os, sys, re ms, infile, outfile = sys.argv with open(infile) as f: Dict = {} for line in f: if line[0] == ">": key = re.sub('>', '', line.strip()) Dict[key] = [] else: Dict[key].append(line.strip()) with open(outfile, 'w') as o: o.write("id\tGC_percent\n") for key, value in Dict.items(): seq = ''.join(value) nG = seq.count("G") + seq.count("g") nC = seq.count("C") + seq.count("c") gc_percent = (nG + nC)/len(seq) o.write("{}\t{}\n".format(key, gc_percent))
2.3 运行脚本
python3 ../fasta_gc_percent.py test.txt out.txt
2.4 检查结果
cat out.txt id GC_percent sequence_1 0.5 sequence_2 0.5
你可能还喜欢
1 技术贴 | 16S专题 | 简单介绍如何用自己的笔记本处理高通量16S数据
2 技术贴 | 宏基因组专题 | 组装工具盘点和比较
3 技术贴 | R语言菌群Alpha多样性分析和绘图
4 技术贴 | 宏转录组专题 | DDBJ数据库:宏转录组测序数据下载
5 技术贴 | R语言pheatmap聚类分析和热图
微生态科研学术群期待与您交流更多微生态科研问题
(联系微生态老师即可申请入群)
了解更多菌群知识,请关注“微生态”。
转载地址:https://blog.csdn.net/weixin_33478634/article/details/113313013 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
逛到本站,mark一下
[***.202.152.39]2024年03月31日 06时45分12秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
reactos操作系统实现(92)
2019-04-28
reactos操作系统实现(93)
2019-04-28
使用Python快速实现显示器关闭和锁住桌面
2019-04-28
reactos操作系统实现(94)
2019-04-28
reactos操作系统实现(95)
2019-04-28
reactos操作系统实现(96)
2019-04-28
reactos操作系统实现(97)
2019-04-28
reactos操作系统实现(98)
2019-04-28
reactos操作系统实现(99)
2019-04-28
miniport, port driver,disk.sys 之间的关系(转)
2019-04-28
Python标准库:内置函数tuple([iterable])
2019-04-28
Python标准库:内置函数type(object)
2019-04-28
Python标准库:内置函数vars([object])
2019-04-28
人人都懂的编程课(Python)
2019-04-28
reactos操作系统实现(100)
2019-04-28
reactos操作系统实现(101)
2019-04-28
Android培训班(75)Dalvik虚拟机的GetStaticMethodID函数
2019-04-28
新手也可以学会TensorFlow
2019-04-28
游戏制作之路(32)创建自定义的界面样式管理
2019-04-28