这是我导师给我的一个任务
从一个很大的fasta文件提取序列名称含有特定字样的序列,合成新的fasta文件
一开始一直想不到怎么去做,知道调用了split-fasta这个python库。
话不多说,上代码!
(这是基于windows下的啊
打开pycharm copy好文件到项目目录
系统终端输入:
pip install spilt-fasta
之后直接在命令行(系统终端命令行,不是python的)
splitfasta 你要分割的fasta文件名.fasta
之后他会创建一个目录test_split_files,里面就是分割好的文件
借来下执行下列python代码,按需要修改
import os
path = "test_split_files" #文件夹目录
filenames=os.listdir(r'你的python项目路径\test_split_files')
os.chdir(path)
file_name="123.fasta"#创建新的fatsa文件用来收集符合条件的fatsa文件
f=open("123.fasta","w")#写入
i=0
for i in range(len(filenames)):#对所有在里面的文件(不含”123.fatsa“)进行循环读取
fw = open(filenames[i], "r+")#读取文件
x=fw.readline()#x是读取第一行
y =x+fw .read()#y是读取全部文件
if "RSVA" in x:#判断是否符合要求
f.write(str(y))#写入
i+=1
应该是很快啊!快啊!
如果有什么问题私信留言,谢谢大家!