import os
import re
import sys
try:
infile = sys.argv[1]
outfile = sys.argv[2]
except:
print "Usage: python filter_blast.py infile outfile"
gff=file(infile)
newgff=file(outfile,"w")
j=0
hang=10000
genechr=''
num=1
for line in gff:
j+=1
line=line.strip().split("\t")
if re.search('Chr', line[0]) and re.search('gene', line[2]):
gene=line[8].split("=")[-1]
#print gene
chr=re.sub('Chr','Gm',line[0])
chrn=re.sub('Chr','',line[0])
newgene=chr+'g'+str(hang)
hang+=1
newgff.write(chr+"\t"+line[3]+
"\t"+line[4]+"\t"+line[6]+"\t"+gene+"\t"+newgene+"\n")
print j,"records read"
gff.close()
newgff.close()
正则匹配中的search和sub用法
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。