У меня есть данные о парных последовательностях ДНК, которые показывают сходство следующим образом.
AATGCTA|1 AATCGTA|2
AATCGTA|2 AATGGTA|3
AATGGTA|3 AATGGTT|8
TTTGGTA|4 ATTGGTA|5
ATTGGTA|5 CCTGGTA|9
CCCGGTA|6 GCCGGTA|7
GGCGGTA|10 AATCGTA|2
GGCGGTA|10 TGCGGTA|11
CAGGCA|12 GAGGCA|13
Выше приведен пример входного файла, исходный файл состоит из нескольких миллионов строк. Я хочу, чтобы вывод объединял перекрывающиеся идентификаторы на основе общих элементов между строками и выводил их в одну строку для каждого кластера, как показано ниже.
AATGCTA|1 AATCGTA|2 AATGGTA|3 AATGGTT|8 GGCGGTA|10 TGCGGTA|11
TTTGGTA|4 ATTGGTA|5 CCTGGTA|9
CCCGGTA|6 GCCGGTA|7
CAGGCA|12 GAGGCA|13
В настоящее время я пытаюсь сгруппировать их, используя mcl, а также silix, мне не удалось запустить silix. Но mcl в настоящее время находится в разработке, я хотел бы знать, есть ли какие-либо другие умные способы сделать это в awk или perl. Я ценю какое-то решение, спасибо. (это мой первый пост. Прошу прощения, если я допустил ошибку)
Чтобы упростить задачу ... можно ли сказать, что я ввел
1 2
2 3
3 8
4 5
5 9
6 7
10 2
10 11
12 13
и я хочу, чтобы результат был,
1 2 3 8 10 11
4 5 9
6 7
12 13
AAT..
, а 5-й элемент начинаетсяGGC..
почему? - person Chris Seymour   schedule 11.01.2013:|
- person Chris Seymour   schedule 11.01.20131 2 3 8
связаны, но, учитывая эту серию, я не вижу, насколько 10 соответствует этому правилу. Удачи! - person shellter   schedule 11.01.2013