Parsing phylogenetic trees (newick format)
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 45/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Stack tecnológico
- rust
- Área
- bioinformatics
Línea de trabajo
The issue asks for a new phylo.rs module that parses Newick strings into a struct and prints them back; the payload names no existing file to edit. Start by reading the Newick examples in the issue body and decide on the node representation. Done means the listed examples, from the unnamed tree through the rooted-on-a-leaf tree, parse and print back equivalently, with tests for each.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Is your feature request related to a problem? Please describe.
Would like to add parsing of newick format just to print the newick in the first place. Newick is described here:https://en.wikipedia.org/wiki/Newick_format. It is possible to get multiple newick trees inside a single file, they each finish with a semicolon. Some trees can have many nodes, the structure is a graph-type with nodes, edges and leaves. There is an XML format that some python programs parse newick into, phyloXML
Describe the solution you'd like
Looking to start a module phylo.rs with a parse of newick into some type of good struct or hashmap in the first place, with just ability to print it out.
Describe alternatives you've considered
There are some newick tree parsers in crates.io but they all seem to be a few years old, for example newick_0.11.0
Additional context
Various types of newick tree to parse: The one below marked as "popular" is the one I've seen much the most often, so we could concentrate on that structure and allow the others if possible. There are multiple nodes.
(,,(,)); no nodes are named
(A,B,(C,D)); leaf nodes are named
(A,B,(C,D)E)F; all nodes are named
(:0.1,:0.2,(:0.3,:0.4):0.5); all but root node have a distance to parent
(:0.1,:0.2,(:0.3,:0.4):0.5):0.0; all have a distance to parent
(A:0.1,B:0.2,(C:0.3,D:0.4):0.5); distances and leaf names (popular)
(A:0.1,B:0.2,(C:0.3,D:0.4)E:0.5)F; distances and all names
((B:0.2,(C:0.3,D:0.4)E:0.5)F:0.1)A; a tree rooted on a leaf node (rare)
- Lenguaje dominante
- Rust
- Estrellas
- 38
- Forks
- 15
- Merge medio
- 21 h 33 min
- PR fusionados (30 d)
- 2
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de LCrossman/microBioRust
-
good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
LCrossman/microBioRust#57 ·
-
pyclass warning on update pyo3Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
LCrossman/microBioRust#53 · 1 reacción ·
-
legacy manual annotation format rare error missing last codon in pseudogene after genbank! parseAbierto
Dificultad 3/5 Medio día Aptitud para principiantes 40/100
LCrossman/microBioRust#50 ·
-
enhancement help wanted
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
LCrossman/microBioRust#19 ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 8/100
LCrossman/microBioRust#18 · 1 reacción ·
Todos los issues de LCrossman/microBioRust
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
foxglove/mcap#1907 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 66/100
Los mantenedores suelen responder en 1 día
-
good first issue help wanted r-feature
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
servo/rust-smallvec#792 ·
Los mantenedores suelen responder en 1 día
-
A-Unicode C-bug P-low
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
rust-lang/rustfmt#7210 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
callTracer with withLog: true includes logs from a reverted top-level call (diverges from geth)Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
paradigmxyz/revm-inspectors#570 ·
Los mantenedores suelen responder en 1 día