Skip to content

Stepainpy/newick-converter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

Newick converter

Простой конвертер в 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 файлы