Packaging Composable Research Software Libraries

include graph for DISHTINY software Include graph for DISHTINY software.

Packaging and distribution of software multiplies the impact of research, both by opening the door to follow-on research within the scientific community and by facilitating direct real-world applications. However, realizing this goal requires special attention to organization, documentation, and reliability. Many of my research projects are organized so to maximize contribution of general-purpose library software back to the community. This usually involves adding software features to an existing project or publishing a standalone Python or C++ library.

Publications & Software
2023 outset
Python package published via PyPI
View on GitHub
View at Publisher
Authors
Date December 22nd, 2023
Venue Python package published via PyPI

add zoom indicators, insets, and magnified panels to matplotlib/seaborn visualizations with ease!

BibTeX
⎘ copy to clipboard
@software{moreno2023outset,
  author = {Matthew Andres Moreno},
  title = {mmore500/outset},
  month = dec,
  year = 2023,
  publisher = {Zenodo},
  doi = {10.5281/zenodo.10426106},
  url = {https://doi.org/10.5281/zenodo.10426106}
}
Citation
⎘ copy to clipboard

Matthew Andres Moreno. (2023). mmore500/outset. Zenodo. https://doi.org/10.5281/zenodo.10426106

Supporting Materials

2022 phylotrackpy
Python package published via PyPI
View on GitHub
View at Publisher
Authors
Date January 1st, 2022
Venue Python package published via PyPI

phylotrackpy is a Python phylogeny tracker.


2022 opytional
Python package published via PyPI
View on GitHub
View at Publisher
Authors
Date January 1st, 2022
Venue Python package published via PyPI

opytional makes working with values that might be None safer and easier.


2022 interval-search
Python package published via PyPI
View on GitHub
View at Publisher
Authors
Date January 1st, 2022
Venue Python package published via PyPI

interval-search provides predicate-based binary and doubling search implementations.


2022 hstrat
Python package published via PyPI
View on GitHub
View at Publisher
Authors
Date January 1st, 2022
Venue Python package published via PyPI

hstrat enables phylogenetic inference on distributed digital evolution populations.

BibTeX
⎘ copy to clipboard
@article{moreno2022hereditary,
  author = {Moreno, Matthew Andres and Dolson, Emily and Ofria, Charles},
  doi = {https://doi.org/10.1162/isal_a_00550},
  journal = {Proceedings of the ALIFE 2022: The 2022 Conference on Artificial Life},
  month = {7},
  pages = {64--74},
  title = {{Hereditary Stratigraphy: Genome Annotations to Enable Phylogenetic Inference over Distributed Populations}},
  volume = {Proceedings of the ALIFE 2022: The 2022 Conference on Artificial Life},
  year = {2022}
}
Citation
⎘ copy to clipboard

Moreno, M. A., Dolson, E., & Ofria, C. (2022). Hereditary Stratigraphy: Genome Annotations to Enable Phylogenetic Inference over Distributed Populations. Proceedings of the ALIFE 2022: The 2022 Conference on Artificial Life, Proceedings of the ALIFE 2022: The 2022 Conference on Artificial Life(), 64–74. https://doi.org/https://doi.org/10.1162/isal_a_00550


2022 alifedata-phyloinformatics-convert
Python package published via PyPI
View on GitHub
View at Publisher
Authors
Date January 1st, 2022
Venue Python package published via PyPI

alifedata-phyloinformatics-convert helps apply traditional phyloinformatics software to alife standardized data.


2020 Zero to Sixty: Onboarding Tutorials for Native & Web Software Development with C++
Workshop for Avida-ED Software Development
View at Publisher
Authors
Date May 26th, 2020
Venue Workshop for Avida-ED Software Development

Hands-on, asynchronous 4 day tutorial series covering foundational web development competencies, C++ development with the Empirical library, and compiling for the web with Emscripten.


2020 teeplot
Python package published via PyPI
View on GitHub
View at Publisher
Authors
Date January 1st, 2020
Venue Python package published via PyPI

teeplot wrangles your data visualizations out of notebooks for you.

BibTeX
⎘ copy to clipboard
@software{moreno2023teeplot,
  author = {Matthew Andres Moreno},
  title = {mmore500/teeplot},
  month = dec,
  year = 2023,
  publisher = {Zenodo},
  doi = {10.5281/zenodo.10440670},
  url = {https://doi.org/10.5281/zenodo.10440670}
}
Citation
⎘ copy to clipboard

Matthew Andres Moreno. (2023). mmore500/teeplot. Zenodo. https://doi.org/10.5281/zenodo.10440670


2020 signalgp-lite
header-only C++ library
View on GitHub
Authors
Date January 1st, 2020
Venue header-only C++ library

A genetic programming implementation designed for large-scale artificial life applications. Organized as a header-only C++ library. Inspired by Alex Lalejini’s SignalGP.


2020 conduit
header-only C++ library
View on GitHub
Authors
Date January 1st, 2020
Venue header-only C++ library

C++ library that wraps intra-thread, inter-thread, and inter-process communication in a uniform, modular, object-oriented interface, with a focus on asynchronous high-performance computing applications.


2020 dishtiny
header-only C++ library
View on GitHub
Authors
Date January 1st, 2020
Venue header-only C++ library

C++ library for digital evolution simulations studying digital multicellularity and fraternal major evolutionary transitions in individuality.


2019 keyname
Python package published via PyPI
View on GitHub
View at Publisher
Authors
Date January 1st, 2019
Venue Python package published via PyPI

keyname helps easily pack and unpack metadata in a filename.


2018 Empirical
header-only C++ library
View on GitHub
Date January 1st, 2018
Venue header-only C++ library

Empirical is a library of tools for developing useful, efficient, reliable, and available scientific software. The provided code is header-only and encapsulated into the emp namespace, so it is simple to incorporate into existing projects.

BibTeX
⎘ copy to clipboard
@software{Ofria_Empirical_C_library_2020,
  author = {Ofria, Charles and Moreno, Matthew Andres and Dolson, Emily and Lalejini, Alex and Rodriguez Papa, Santiago and Fenton, Jake and Perry, Katherine and Jorgensen, Steven and hoffmanriley and grenewode and Baldwin Edwards, Oliver and Stredwick, Jason and cgnitash and theycallmeHeem and Vostinar, Anya and Moreno, Ryan and Schossau, Jory and Zaman, Luis and djrain},
  doi = {10.5281/zenodo.4141943},
  license = {MIT},
  month = {10},
  title = {{Empirical: C++ library for efficient, reliable, and accessible scientific software}},
  url = {https://github.com/devosoft/Empirical},
  version = {0.0.4},
  year = {2020}
}
Citation
⎘ copy to clipboard

Ofria, C., Moreno, M. A., Dolson, E., Lalejini, A., Rodriguez Papa, S., Fenton, J., Perry, K., Jorgensen, S., , H., , G., Baldwin Edwards, O., Stredwick, J., , C., , T., Vostinar, A., Moreno, R., Schossau, J., Zaman, L., & , D. (2020). Empirical: C++ library for efficient, reliable, and accessible scientific software (Version 0.0.4) [Computer software]. https://doi.org/10.5281/zenodo.4141943

Supporting Materials