python 去除换行符_技术贴 | Python:fasta文件处理和GC含量统计
发布日期:2021-06-24 14:53:45 浏览次数:3 分类:技术文章

本文共 2014 字,大约阅读时间需要 6 分钟。

057852aac95d763928e8fb146bfceac3.gif点击蓝字↑↑↑“微生态”,轻松关注不迷路

fdcf2d5f321b0d90358ede58e0606d9f.png

本文由阿童木根据实践经验而整理,希望对大家有帮助。

原创微文,欢迎转发转载。

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



2aa35761634667f21ff5ce7a347f77eb.png你可能还喜欢2aa35761634667f21ff5ce7a347f77eb.png

1 技术贴 | 16S专题 | 简单介绍如何用自己的笔记本处理高通量16S数据

2 技术贴 | 宏基因组专题 | 组装工具盘点和比较

3 技术贴 | R语言菌群Alpha多样性分析和绘图

4 技术贴 | 宏转录组专题 | DDBJ数据库:宏转录组测序数据下载

5 技术贴 | R语言pheatmap聚类分析和热图


微生态科研学术群期待与您交流更多微生态科研问题

(联系微生态老师即可申请入群)

31ade9048e83a7502f074ef7ba99386a.png

了解更多菌群知识,请关注“微生态”。

42eedbfcbf1423426afabcb936b3a9a9.png

转载地址:https://blog.csdn.net/weixin_33478634/article/details/113313013 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:python画圆代码_少儿python编程(2)海龟画图(中)
下一篇:pytest teardown 未执行_使用 pytest (1)

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2024年03月31日 06时45分12秒