Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding a phylogenetic tree? #94

Open
Gardene-el opened this issue Apr 23, 2024 · 1 comment
Open

Adding a phylogenetic tree? #94

Gardene-el opened this issue Apr 23, 2024 · 1 comment

Comments

@Gardene-el
Copy link
Contributor

This is a feature request/suggestionl in order to better visualize and track the mutations.

I suggest that add a phylogenetic tree to show every mutations and their relationship in simulation on the statistics window. Once a mutation happened, it will be recorded into the phylogenetic tree. For the details of phylogenetic tree and it's naming rule, I suggest:

Presume a speices X, any mutation happened on X's offspring, add a branch on X on the phylogenetic tree. Assum it is the nth time of mutation. Name the subspecies of the nth time of mutation of X X-n. Hence for the mth time of the mutation of X-n, name it X-n-m.
For easier use, I suggest that using Base62 numbering system, also allow user to make custom name instead of X-n-m-z... on display.

If it is excessively consuming resources to store the phylogenetic tree, maybe adding a check to decide if adding a new branch. For example set a standard genome for each branch, if the genetic difference between the offspring and the standard genome of this branch exceeds a certain preset standard deviation, then compare if it exceeds other subspecies preset standard deviation then decide if determine it to be a new species or add it to the compared subspecies.

On query aspect, I suggest that user could find a creature's position on phylogenetic tree by itself in simulation, also could highlight all creatures with specific position on phylogenetic tree.

On display aspect, the phylogenetic tree maybe look like this:

    CustomName-qwert123-asda

    X-CustomName-0
     |     |-1
     |-sada
     |-fafs-0-weq-0
               |-1

I suggest that make it able to expand or collapse some of them, like collapse all extincted, collapse all only one generations.

@chrxh
Copy link
Owner

chrxh commented Apr 23, 2024

Thanks for the suggestion!
I agree that it would be a great feature. What you have to consider, however, is the extreme amount of data and how manageable the visualization would be. You can already run simulations with 100K individuals for tens of thousands of generations. This results in a huge phylogenetic tree (with possibly millions of entries).
As a user, I would interested in reverse tracking: For example, I have a certain individual and would like to have all the mutations listed that led from the initial state to it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants