前言
背景:学测序流程的时候,做到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

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

7626

被折叠的 条评论
为什么被折叠?



