An open API service indexing awesome lists of open source software.

https://github.com/stepainpy/newick-converter

simple converter
https://github.com/stepainpy/newick-converter

converter cpp newick newick-format simple terminal terminal-app

Last synced: about 1 month ago
JSON representation

simple converter

Awesome Lists containing this project

README

        

# 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 `|

### Шаблон ввода
```
convert [flags] [[-t | --timeline] ]
```
`tree-file` и `timeline-file` - txt файлы