一共有1035個文件夾(基因組),據(jù)說只有777個蛋白質(zhì)憔狞,嚴(yán)格來說只有三個基因組是各自都有兩個aa序列,昨天已經(jīng)刪除她們的就版本税产,于是篩選的話一共就只有777-3 = 774個基因組摊灭。
按照文件夾包含文件數(shù)量從小到達(dá)排序:
文件夾數(shù)目 數(shù)量
1 148
打印所有文件夾數(shù)量只有一個文件的腳本:
import os
mydir = 'fungi'
i = 0
for root, dirs, files in os.walk('fungi'):
for mydir in dirs:
i = 0
for root1, dirs1, files1 in os.walk('fungi/' + mydir):
filenum = len(files1)
if filenum == 1:
print (files1)
找到之后咆贬,查看結(jié)果,發(fā)現(xiàn)都只有Repeatedmasked.fasta.gz 或者 .masked.fasta.gz 結(jié)尾的文件帚呼,把他們都刪掉掏缎,因?yàn)樗麄兌贾皇腔蛐蛄校⒉皇堑鞍踪|(zhì)序列煤杀。
接下來去尋找文件夾里面沒有蛋白質(zhì)序列的文件夾:
import os
mydir = 'fungi'
i = 0
for root, dirs, files in os.walk('fungi'):
for mydir in dirs:
i = 0
for root1, dirs1, files1 in os.walk('fungi/' + mydir):
tag = 0
for onefile in files1:
if onefile.endswith(".fasta"):
tag = 1
break
if tag == 0:
print (mydir)
將沒有蛋白質(zhì)序列的文件移出去
import os
mydir = 'fungi'
i = 0
for root, dirs, files in os.walk('fungi'):
for mydir in dirs:
i = 0
for root1, dirs1, files1 in os.walk('fungi/' + mydir):
number = 0
for onefile in files1:
if onefile.endswith(".fasta"):
number = number + 1
if number ==0:
os.system('mv fungi/'+mydir+' fungi_without_aa/'+mydir)
于是就剩下774個基因組文件夾眷蜈。這些文件夾有的沒有g(shù)ff文件,需要今后進(jìn)一步進(jìn)行篩選沈自,目前還不清楚要不要篩選出來酌儒。
先把這774個基因組下面蛋白質(zhì)的一些奇啪名字都改掉!?萃尽忌怎!
比如有一些叫做allModels.aa.fasta的,搞不清它是啥物種酪夷,趕緊改掉改掉A裥ァ!晚岭!
1.把基因組目錄下面的文件的文件名都改成物種文件名鸥印。
- 將所有的aa以_all字符串為分割字符,將All改成小寫all.
接下來可以重新跑良玉的代碼腥例,跑完之后進(jìn)入到跑diamond的階段辅甥。