У меня есть два крайних списка , таких как:
Файл1
geneA geneB 0.89
geneA geneD 0.69
geneC geneA 0.76
Файл2
geneC geneF rank1
geneB geneA rank56
geneA geneC rank20
После сравнения файлов1 и файлов2,
Я должен получить:
geneA geneB 0.89 rank56
geneC geneA 0.76 rank20
, поскольку мой график не направлен и geneA-geneB равен , такой же как geneB-geneA .
Я пробовал с python, который занимает значительное время:
f=open('file1.txt', 'r')
f1=open('file2.txt','r')
for i in f.readlines():
i=i.strip()
gene_info=i.split()
gene_info[0]=gene_info[0].strip()
gene_info[1]=gene_info[1].strip()
#print gene_info[0], gene_info[1]
for j in f1.readlines():
i=i.strip()
loc_info=i.split()
loc_info[0]=loc_info[0].strip()
loc_info[1]=loc_info[1].strip()
if (gene_info[0]==loc_info[0] and gene_info[1]==loc_info[1])or (gene_info[0]==loc_info[1] and gene_info[1]==loc_info[0]):
print j, '\t', gene_info[2]
Любой более быстрый способ очень важен.Спасибо.