Простой конвертер в Newick формат
Основное:
- в коде подразумевается, что exe-файл называется convert
- при сборке использовался стандарт C++20
Для представления дерева используется такой синтаксис
Aa (a - ...)
Bb (b - ...)
Cc (c - ...)
Dd (d - ...)
Aa
- имя клады
(a - ...)
- дополнительная информация
В newick попадает только имя клады
Можно использовать длину ветви для отображения времени появления клады. Для описания используется такое представление (дерево из предыдушего пример):
5
Aa 10
Bb 20
Cc 25
Dd 15
получится
((Bb:10,Cc:15)Aa:5,Dd:10);
значение длины равно разнице возраста дочерней и родительской клады.
т.е.: Bb - Aa = 20 - 10 = 5
и Dd - 5 = 15 - 5 = 10
Сейчас есть такие флаги:
короткий | длинный | описание |
---|---|---|
-h |
--help |
вывод краткой сводки |
-l |
--leafs |
удаление не листовых имен |
-a |
--add-length |
для именованых клад добавляет значение длины ветви равной 1 |
-A |
--all-length |
дополнение к -a , добавляет длину в 0.5 для неименованых клад |
-c |
--clipboard |
копирование результата сразу в буфер обмена |
-t |
--timeline |
устанавливает путь до файла с временем появления, синтаксис -t <timeline-file> |
convert <tree-file> [flags] [[-t | --timeline] <timeline-file>]
tree-file
и timeline-file
- txt файлы