一个简单的python脚本实现根据物理位置提取基因组序列。
使用方法:
python get_seq.py --ID 自定义序列名称 --Genome fasta格式的基因组文件 --Chr 染色体号 --Start 起始位置 --End 终止位置
python脚本:
#coding:UTF8
import sys,argparse
from Bio import SeqIO
parser = argparse.ArgumentParser(description='根据物理位置提取基因组文件')
parser.add_argument('--ID', type=str,help='序列名称', required=True)
parser.add_argument('--Genome', type=str,help='基因组', required=True)
parser.add_argument('--Chr', type=str,help='染色体号', required=True)
parser.add_argument('--Start', type=str,help='序列起始位置', required=True)
parser.add_argument('--End', type=str,help='序列终止位置', required=True)
args = parser.parse_args()
name,genome,chro,start,end = args.ID,args.Genome,args.Chr,args.Start,args.End
save=open(name+'.txt','w')
for geno in SeqIO.parse(genome, "fasta"):
if chro.lower()==geno.id.lower():
fa=geno.seq[int(start):int(end)]
save.write('>'+name+'\n'+str(fa)+'\n')
print ('succeed')
break
注意事项
此脚本需使用python3运行,提前安装argparse、Bio软件包
安装方法:
pip3 install argparse
pip3 install bio
|