从FASTA文件中批量提取指定序列【Python脚本】

本文介绍了如何使用Python脚本处理FASTA格式的基因组文件,包括选择含有特定字符的序列、读取指定数量的序列以及在遇到特定字符前输出所有内容。针对大文件,提供了逐行读取的解决方案,以提高效率。同时,文章强调了不同脚本适用的场景及其局限性,并鼓励读者根据需求灵活调整代码。

前言

背景:学测序流程的时候,做到mapping的时牛的基因组有两个多G,因为是在个人PC上初步学习,建立index实在太慢了,而且临时也没有现成的index。于是决定只挑基因组前十条染色体拿来练习(所以需要从基因组文件里选取序列,尝试自己用python写脚本处理)。自己的python学习之前因为脑子实在不聪明也就刚学到字典部分,借鉴了网上的一些内容整理了一下,写了几种情况关于利用python脚本提取fasta基因序列。

一:读取含特定字符的序列并输出

比如现在有一个从NCBI上下载的fasta格式的文件,里面有很多条序列,我现在需要从中选取序列名中含有“XXX”的这些序列,那就可以用我在网上找到并改进的这个脚本

举个例子(用法中的三个参数):
[fasta_file]下载的数据源fasta文件

[namelist_file] 把我们要找的名字另建一个txt文件,一行一个

[outfile_name] 输出的结果文件,自己命名

# -*- coding: utf-8 -*-

import sys
import time
start=time.clock()

def usage():
    print('Usage: python script.py [fasta_file] [namelist_file] [outfile_name]')


def main():
    outf = open(sys.argv[3],'w')
    dict = {
   
   }
    with open(sys.argv[1], 'r') as fastaf:
        for line in fastaf:
            if line
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值