import os.path
sig_dir = "D://project//gff//out//"
w_dir = "D://project//gff//cgc_table5//"
# fw= open(w_dir,"w")
cgc_number = 0
yuzhi = 4
for parent,dirnames,filenames in os.walk(sig_dir):
for filename in filenames:
gen = filename
f = open(os.path.join(parent,filename))
h = f.readlines()
f.close()
h_len = len(h)
prev_reseq = h[0].split(" ")[0]
list=[]
#wirte cluster
fw = open(w_dir+gen,"w")
for i in range(h_len):
if h[i]=='\n':
continue
line = h[i].split(" ")
if prev_reseq != line[0]:
#write the cluster
cluster=[]
cazy = 0
tc = 0
tf = 0
list_len = len(list)
cgc_no = 1
#wirte the cluster
for k in range(list_len):
cluster.append(list[k])
#print cluster[-1]
if list[k][-1] <= yuzhi :
if list[k][1]=="TC-DB":
tc = tc+1
elif list[k][1]=="TF":
tf = tf+1
elif list[k][1]=="CAZyme":
cazy = cazy +1
else :
if (cazy > 0 and tc > 0 and tf >0):
# if (cazy>0 and tc >0) or (cazy>0 and tf>0):
cnt = 0
for j in range(cluster[-1][0]+1-cluster[0][0]):
if h[cluster[0][0] + j].split()[-1] == "null":
for p in range(4):
fw.write("null" + " ")
else:
for p in range(4):
fw.write(str(cluster[cnt][p]) + " ")
cnt = cnt + 1
fw.write(prev_reseq+"-"+"CGC"+str(cgc_no)+" "+h[cluster[0][0]+j])
fw.write("+++\n")
cazy = 0
tc = 0
tf = 0
cgc_no = cgc_no +1
cgc_number = cgc_number+1
cluster=[] #delete the cluster
#write the left cluster
if len(cluster)>0:
if (cazy > 0 and tc > 0 and tf > 0):
# if (cazy > 0 and tc > 0) or (cazy > 0 and tf > 0):
cnt = 0
for j in range(cluster[-1][0] + 1 - cluster[0][0]):
if h[cluster[0][0] + j].split()[-1] == "null":
for p in range(4):
fw.write("null" + " ")
else:
for p in range(4):
fw.write(str(cluster[cnt][p]) + " ")
cnt = cnt + 1
fw.write(prev_reseq + "-" + "CGC" + str(cgc_no) + " " + h[cluster[0][0] + j])
fw.write("+++\n")
cazy = 0
tc = 0
tf = 0
cgc_no = cgc_no + 1
cgc_number = cgc_number + 1
cluster = [] # delete the cluster
# process the new refseq
list = []
if line[6] != "null":
sig = line[6].split('|')[0]
if len(list) == 0:
dis_prev = 0
else:
dis_prev = i - list[-1][0]
list[-1][3] = dis_prev
dis_next = 0
list.append([i, sig, dis_prev, dis_next])
prev_reseq = line[0]
# write left cluster
if len(list)>0:
cluster = []
cazy = 0
tc = 0
tf = 0
list_len = len(list)
cgc_no=1
# wirte the cluster
for k in range(list_len):
cluster.append(list[k])
if list[k][-1] <= yuzhi :
if list[k][1] == "TC-DB":
tc = tc + 1
elif list[k][1] == "TF":
tf = tf + 1
elif list[k][1] == "CAZyme":
cazy = cazy + 1
else:
if (cazy > 0 and tc > 0 and tf > 0):
# if (cazy > 0 and tc > 0) or (cazy > 0 and tf > 0):
cnt = 0
for j in range(cluster[-1][0] + 1 - cluster[0][0]):
if h[cluster[0][0] + j].split()[-1] == "null":
for p in range(4):
fw.write("null" + " ")
else:
for p in range(4):
fw.write(str(cluster[cnt][p]) + " ")
cnt = cnt + 1
fw.write(prev_reseq + "-" + "CGC" + str(cgc_no) + " " + h[cluster[0][0] + j])
fw.write("+++\n")
cazy = 0
tc = 0
tf = 0
cgc_no = cgc_no + 1
cgc_number = cgc_number + 1
cluster = [] # delete the cluster
# write the left cluster
if len(cluster) > 0:
if (cazy > 0 and tc > 0 and tf > 0):
# if (cazy > 0 and tc > 0) or (cazy > 0 and tf > 0):
cnt = 0
for j in range(cluster[-1][0] + 1 - cluster[0][0]):
if h[cluster[0][0] + j].split()[-1] == "null":
for p in range(4):
fw.write("null" + " ")
else:
for p in range(4):
fw.write(str(cluster[cnt][p]) + " ")
cnt = cnt + 1
fw.write(prev_reseq + "-" + "CGC" + str(cgc_no) + " " + h[cluster[0][0] + j])
cazy = 0
tc = 0
tf = 0
cgc_no = cgc_no + 1
cgc_number = cgc_number + 1
cluster = [] # delete the cluster
# process the new refseq
list = []
print cgc_number
cgc_create
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來颊郎,“玉大人霎苗,你說我怎么就攤上這事⊙湔担” “怎么了?”我有些...
- 文/不壞的土叔 我叫張陵昆淡,是天一觀的道長刽严。 經(jīng)常有香客問我,道長眨补,這世上最難降的妖魔是什么? 我笑而不...
- 正文 為了忘掉前任含思,我火速辦了婚禮实蓬,結(jié)果婚禮上茸俭,老公的妹妹穿的比我還像新娘。我一直安慰自己调鬓,他們只是感情好酌伊,可當(dāng)我...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著虹脯,像睡著了一般奏候。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蔗草,一...
- 文/蒼蘭香墨 我猛地睜開眼评也,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了盗迟?” 一聲冷哼從身側(cè)響起,我...
- 正文 年R本政府宣布毛雇,位于F島的核電站侦镇,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏壳繁。R本人自食惡果不足惜荔棉,卻給世界環(huán)境...
- 文/蒙蒙 一润樱、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧壹若,春花似錦皂冰、人聲如沸。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽睡腿。三九已至峻贮,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間纤控,已是汗流浹背。 一陣腳步聲響...
推薦閱讀更多精彩內(nèi)容
- 本節(jié)簡單介紹了創(chuàng)建執(zhí)行計劃中的create_plan->create_plan_recurse->create_p...
- 我們將文件夾拖入工程的時候丽猬,會有一個選項Add folders:Create groups和Create fold...
- 選擇了Create groups方式添加了一個文件,我們會發(fā)現(xiàn)被添加進(jìn)來的文件宝鼓,文件夾是黃色的。選擇了 Creat...
- 相同點: 都是創(chuàng)建一個新表 不同點 create table as 只是復(fù)制原數(shù)據(jù)蛉签,其實就是把查詢的結(jié)果建一個表 ...
- 先看下 stackoverflow上的解釋 大致意思是說 Groups是 用來維護(hù)整個工程信息的途徑碍舍,其并不反映文...