linux合并fa文件_fasta文件的合并与分割
在处理fasta文件的时候我们常常会遇到需要合并多个fasta文件或者分隔单个fasta文件成为每个序列一个文件。这篇文章会告诉你如何做。合并Windows系统下,打开cmd系统。(ctrl+win)使用cd转换地址到你需要处理的地方type *.txt>>all.txt例如:type A.txt B.txt > AB.txt2. 分隔方法一:awkawk '/^>/{s=
·
在处理fasta文件的时候我们常常会遇到需要合并多个fasta文件或者分隔单个fasta文件成为每个序列一个文件。这篇文章会告诉你如何做。
- 合并
Windows系统下,打开cmd系统。(ctrl+win)
使用cd转换地址到你需要处理的地方
type *.txt>>all.txt
例如:type A.txt B.txt > AB.txt
2. 分隔
方法一:awk
awk '/^>/{s=++num}{print > "example_"s".fa"}' example.fasta
方法二:python 脚本
import sys
def parseFasta(filename):
fas = {}
id = None
with open(filename, 'r') as fh:
for line in fh:
if line[0] == '>':
header = line[1:].rstrip()
id = header.split()[0]
fas[id] = []
else:
fas[id].append(line.rstrip())
for id, seq in fas.items():
fas[id] = ''.join(seq)
return fas
fas = parseFasta(sys.argv[1])
for i in fas:
with open(i + ".fa", 'w') as f:
f.write(">" + i + "n" + fas[i] + "n")
运行方法:
在cmd下:
python splitFasta.py AB.fasta
你就会得到A.fasta和B.fasta
更多推荐
已为社区贡献2条内容
所有评论(0)