Skip to content

Commit

Permalink
Merge branch 'main' into quickstart_test
Browse files Browse the repository at this point in the history
  • Loading branch information
emilydolson authored Jul 6, 2024
2 parents 99c5487 + bf7ce01 commit 32fce37
Show file tree
Hide file tree
Showing 4 changed files with 49 additions and 4 deletions.
24 changes: 23 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Phylotrackpy is essentially a wrapper around [Phylotracklib](https://empirical--

### Julia

A phylogeny tracker [writting in Julia](https://github.com/jarbus/PhylogeneticTrees.jl/tree/master) is also available.
A phylogeny tracker [written in Julia](https://github.com/jarbus/PhylogeneticTrees.jl/tree/master) is also available.

## Features

Expand Down Expand Up @@ -103,6 +103,28 @@ The above image represents an actual phylogeny measured from digital evolution.

Contributions are welcome! See [CONTRIBUTING.md](CONTRIBUTING.md).

## Citing

If Phylotrack contributes to a scientific publication, please cite it as

> Dolson, E., Rodriguez-Papa, S., & Moreno, M. A. (2024). Phylotrack: C++ and Python libraries for in silico phylogenetic tracking. arXiv preprint arXiv:2405.09389. https://doi.org/10.48550/arXiv.2405.09389
```bibtex
@misc{dolson2024phylotrack,
doi={10.48550/arXiv.2405.09389},
url={https://arxiv.org/abs/2405.09389},
title={Phylotrack: C++ and Python libraries for in silico phylogenetic tracking},
author={Emily Dolson and Santiago Rodriguez-Papa and Matthew Andres Moreno},
year={2024},
eprint={2405.09389},
archivePrefix={arXiv},
primaryClass={q-bio.PE}
}
```

Consider also citing [pybind11](https://pybind11.readthedocs.io/en/stable/faq.html#how-to-cite-this-project) if you are using PhylotrackPy.
And don't forget to leave a [star on GitHub](https://github.com/emilydolson/phylotrackpy/stargazers)!

## Developers

- [Emily Dolson](https://emilyldolson.com) (lead developer)
Expand Down
23 changes: 23 additions & 0 deletions joss/paper.bib
Original file line number Diff line number Diff line change
Expand Up @@ -327,6 +327,7 @@ @misc{moreno2024analysis
year = 2024,
publisher = {arXiv},
url = {https://arxiv.org/abs/2403.00246},
doi = {10.48550/arXiv.2403.00246},
copyright = {arXiv.org perpetual, non-exclusive license},
eprint = {2403.00246},
archiveprefix = {arXiv},
Expand Down Expand Up @@ -506,3 +507,25 @@ @article{webbPhylogeniesCommunityEcology2002
date = {2002-11},
langid = {english},
}
@inproceedings{moreno2023toward,
author = {Moreno, Matthew Andres and Dolson, Emily and Rodriguez-Papa, Santiago},
title = "{Toward Phylogenetic Inference of Evolutionary Dynamics at Scale}",
volume = {ALIFE 2023: Ghost in the Machine: Proceedings of the 2023 Artificial Life Conference},
series = {ALIFE 2023: Ghost in the Machine: Proceedings of the 2023 Artificial Life Conference},
pages = {79},
year = {2023},
month = {07},
doi = {10.1162/isal_a_00694},
url = {https://doi.org/10.1162/isal_a_00694},
eprint = {https://direct.mit.edu/isal/proceedings-pdf/isal/35/79/2149068/isal_a_00694.pdf},
}
@misc{moreno2024ecology,
title={Ecology, Spatial Structure, and Selection Pressure Induce Strong Signatures in Phylogenetic Structure},
author={Matthew Andres Moreno and Santiago Rodriguez-Papa and Emily Dolson},
year={2024},
eprint={2405.07245},
url={https://arxiv.org/abs/2405.07245},
doi={10.48550/arXiv.2405.07245},
archivePrefix={arXiv},
primaryClass={q-bio.PE}
}
4 changes: 2 additions & 2 deletions joss/paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ Consequently, these populations undergo evolution [@pennock2007models], and can
This experimental paradigm --- used across biological modeling, artificial life, and evolutionary computation --- complements research done using *in vitro* and *in vivo* systems by enabling experiments that would be impossible in the lab or field [@dolsonDigitalEvolutionEcology2021].
One key benefit is complete, exact observability.
For example, it is possible to perfectly record all parent-child relationships across simulation history, yielding complete phylogenies (ancestry trees).
This information reveals when traits were gained or lost, and also facilitates inference of underlying evolutionary dynamics [@mooers1997inferring;@dolsonInterpretingTapeLife2020;@moreno2023toward].
This information reveals when traits were gained or lost, and also facilitates inference of underlying evolutionary dynamics [@mooers1997inferring;@dolsonInterpretingTapeLife2020;@moreno2024ecology].

The Phylotrack project provides libraries for tracking and analyzing phylogenies in *in silico* evolution.
The project is composed of 1) Phylotracklib: a header-only C++ library, developed under the umbrella of the Empirical project [@ofria2020empirical], and 2) Phylotrackpy: a Python wrapper around Phylotracklib, created with Pybind11 [@pybind11].
Expand Down Expand Up @@ -119,7 +119,7 @@ Profiling data and hardware specifications are at <https://osf.io/52hzs/> [@fost
![Execution speed across population sizes. Error bars are SE.\label{fig:time}](assets/viz=plot-timeprof+x=population-size+y=generations-per-second+ext=.png){ width=50% }

Figure \ref{fig:memory} shows generations evaluated per second at each population size.
At population size 10, 1,000, and 100,000, we observed 3,923 (s.d. 257), 28,386 (s.d. 741), and 67,000 (s.d. 1825) agent reproduction events per second.
At population size 10, 1,000, and 100,000, we observed 3,923 (s.d. 257), 28,386 (s.d. 741), and 67,000 (s.d. 1,825) agent reproduction events per second.
Efficiency gains with population size likely arose from NumPy vectorized operations used to perform mutation and selection.

## Memory Usage
Expand Down
2 changes: 1 addition & 1 deletion profile/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ pandas==2.1.3
# teeplot
phylotrackpy==0.1.17
# via -r requirements.in
pillow==10.2.0
pillow==10.3.0
# via matplotlib
psutil==5.9.8
# via memory-profiler
Expand Down

0 comments on commit 32fce37

Please sign in to comment.