从一个很大的fasta文件提取序列名称含有特定字样的序列

这是我导师给我的一个任务
从一个很大的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

应该是很快啊!快啊!
如果有什么问题私信留言,谢谢大家!

    原文作者:阿伯·桌·子
    原文地址: https://blog.csdn.net/a7789890/article/details/116984986
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞