{"id":27840544,"url":"https://github.com/stevenjson/alife2018-lineage","last_synced_at":"2026-01-24T15:32:18.043Z","repository":{"id":70781728,"uuid":"129148471","full_name":"stevenjson/ALife2018-Lineage","owner":"stevenjson","description":"Code and analysis for the paper \"Quantifying the tape of life: Ancestry-based metrics provide insights and intuition about evolutionary dynamics\"","archived":false,"fork":false,"pushed_at":"2018-05-29T15:33:47.000Z","size":9710,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-12T01:38:06.073Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stevenjson.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-04-11T20:11:19.000Z","updated_at":"2018-05-29T15:33:49.000Z","dependencies_parsed_at":"2023-02-23T03:16:24.832Z","dependency_job_id":null,"html_url":"https://github.com/stevenjson/ALife2018-Lineage","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/stevenjson/ALife2018-Lineage","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stevenjson%2FALife2018-Lineage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stevenjson%2FALife2018-Lineage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stevenjson%2FALife2018-Lineage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stevenjson%2FALife2018-Lineage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stevenjson","download_url":"https://codeload.github.com/stevenjson/ALife2018-Lineage/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stevenjson%2FALife2018-Lineage/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28730319,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-24T10:24:43.181Z","status":"ssl_error","status_checked_at":"2026-01-24T10:24:36.112Z","response_time":89,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-05-03T03:55:46.030Z","updated_at":"2026-01-24T15:32:18.038Z","avatar_url":"https://github.com/stevenjson.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Quantifying the tape of life: Ancestry-based metrics provide insights and intuition about evolutionary dynamics\n\nThis repo contains all of the code used to generate the paper (including running the experiments, doing data analysis, and\nLaTeX code for the paper).\n\nSupplementary material for this paper (in the form of a file that shows the code and graphs for all analysis, including the analysis that didn't fit in the paper) is available [here](https://stevenjson.github.io/ALife2018-Lineage/analysis/data_analysis.html).\n\nVirtual reality/WebGL data visualizations of the fitness landscapes can be found [here](https://stevenjson.github.io/ALife2018-Lineage/analysis/fitness_landscape_visualizations/).\n\n[![DOI](https://zenodo.org/badge/129148471.svg)](https://zenodo.org/badge/latestdoi/129148471)\n\n![Cartoon describing the metrics proposed in this paper](figs/lineage_metrics_cartoon.png)\n\n### Dependencies:\n\nFor re-running experiments:\n- [Empirical](https://github.com/emilydolson/Empirical): A library of tools for writing scientific software in C++\n- Technically the [CEC Niching Competition Benchmark Function Library](https://github.com/mikeagn/CEC2013), but that code\n  is included in this repository for convenience.\n  \nFor data analysis:\n- Python 2.x for everything involving the benchmark functions\n- Python 3.x for any other scripts.\n- [R](https://www.r-project.org/) and [ggplot2](http://ggplot2.org/) for the stats\n\n### Re-running the experiment:\n\n```\ncd experiment\nmake\n./optimization_problems\n```\n\nConfiguration options can be specified on the command line or via a configs.cfg file.\n\n### Contents:\n- **paper.tex**: LaTeX code for paper (submitted to ALife 2018).\n- **LICENSE**: The MIT license, under which all of our code is available (note: this repository also contains code from the \n    [CEC benchmark functions repository](https://github.com/mikeagn/CEC2013), which is under the FreeBSD license)\n- **paper**: Directory containing bibliography and style files for paper.tex (note that paper.tex has to be at the top level \n   of this repo to appease overleaf)\n- **figs**: Directory containing all figures used in the paper.\n- **experiment**: Directory containing all code that was used to run the experiment.\n  - *Makefile*: Contains rules to build the experiment executable.\n  - *OptimizationProblemExp.h*: This is where most of the code specific to this experiment lives.\n  - *optimization-config.h*: Defines configuration settings for these experiments.\n  - *optimization_problems.cc*: Contains all code specific to running this experiment on the command line\n     (as opposed to in a web browser)\n  - *scripts*: Contains scripts used for wrangling jobs on our High-Performance Computing Cluster.\n  - *CEC2013*: Contains the C++ implementation of the CEC benchmark functions. From [here](https://github.com/mikeagn/CEC2013).\n- **configs**: Directory contained information about how our experiments were configured.\n  - *configs.cfg*: Base configuration file listing default settings. Spcific settings were changed for each condition\n    via command line flags.\n  - *generated_run_list files*: These files list all of the precise conditions that we ran, complete with command-line flags.\n    The run_list format is designed to be submitted to a PBS scheduling system using [dist_qsub](https://github.com/emilydolson/dist_qsub).\n- **analysis**:  Directory containing all code used to analyze the data\n  - *data_analysis.Rmd*: R-markdwon file containing all of the stats and plotting code\n  - *data_analysis.html*: html file generated by knitting the R-markdown file (contains embedded graphs)\n  - *real_value_data.csv*: The complete data-set generated while experiments were run.\n  - *all_dom_data.csv*: Post-hoc stats calculated about the dominant lineage from each replicate.\n  - *fitness_landscape_visualization*: Code to make the WebVR fitness landscape data visualization (this is a submodule, \n    linked to [this repository](https://github.com/emilydolson/fitness_landscape_visualizations)). Note that extracted path       data all lives in this repo.\n  - *cec_python_library*: Contains code that depends on the CEC benchmark function Python implementation:\n    - cec2013: the Python implementation of the CEC benchmark functions. From [here](https://github.com/mikeagn/CEC2013).\n    - data: Precalculated data that the code in cec2013 relies on. From [here](https://github.com/mikeagn/CEC2013).\n    - LICENSE.txt: License for the CEC benchmark function implementations.\n    - analyze_landscapes.py: A python script to the generate the heat maps and upper and lower bounds data used by the\n      webvr visualization.\n    - extract_dominant_lineage_info.py: A script to extract data about the dominant lineage from each condition (phenotypic volatility and the full path) post hoc.\n    \n\nNote about git history: This paper was split off from a larger project. To simplify reproducing the data described here, \nwe have created this new repository. The full git history for all of these files can be found in the [original repo](https://github.com/stevenjson/ALife2018-LineageOthello);\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstevenjson%2Falife2018-lineage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstevenjson%2Falife2018-lineage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstevenjson%2Falife2018-lineage/lists"}