Ваше решение очень неэффективно. Попробуйте использовать Pandas, так как в нем есть все инструменты, необходимые для решения проблемы. Начните с чтения данных (я предполагаю, что в вашей таблице только три столбца, но если их больше, измените номера столбцов соответственно):
import pandas as pd
df = pd.read_table("file.txt", sep="\s+", header=None)
Добавьте еще три столбца с именами узлов, чтобы устранить неоднозначность bidirectionailyaily и отрицательные журналы:
df['start'] = df[[0,1]].max(axis=1)
df['end'] = df[[0,1]].min(axis=1)
df['abslog'] = df[2].abs()
Найти самые большие журналы абс:
df.sort_values('abslog').groupby(['start','end'])\
.last()[[2]]
# 2
#start end
#AT1G01020 AT1G01010 -1.900430
#AT1G01070 AT1G01060 1.214972
#AT1G01073 AT1G01070 0.790549