Project Aeon's main repository for manipulating acquired data. Includes modules for loading raw data, performing quality control on raw data, processing raw data, and ingesting processed data into a DataJoint MySQL database.
The various set-up tools mentioned below do some combination of python version, environment, package, and package dependency management. For basic information on the differences between these tools, see this blog post.
ssh <your_SWC_username>@ssh.swc.ucl.ac.uk
mkdir ~/ProjectAeon
cd ~/ProjectAeon
git clone https://github.com/SainsburyWellcomeCentre/aeon_mecha
cd aeon_mecha
Ensure you stay in the ~/ProjectAeon/aeon_mecha
directory for the rest of the set-up instructions, regardless of which set-up procedure you follow below.
Option 1: miniconda (python distribution) and conda (python version manager, environment manager, package manager, and package dependency manager)
Option 2: pip (python package manager) and venv (python environment manager)
All commands below should be run in a bash shell (Windows users can use the 'mingw64' terminal that is included when installing git).
cd
into the cloned directory:
mkdir ~/ProjectAeon
cd ~/ProjectAeon
git clone https://github.com/SainsburyWellcomeCentre/aeon_mecha
cd aeon_mecha
Ensure you stay in the ~/ProjectAeon/aeon_mecha
directory for the rest of the set-up instructions, regardless of which set-up procedure you follow below.
Option 1: miniconda (python distribution) and conda (python version manager, environment manager, package manager, and package dependency manager)
Option 2: pip (python package manager) and venv (python environment manager)
.github/workflows/
: GitHub actions workflows for building the environment and running tests aeon/
: Source code for the Aeon Python package
aeon/dj_pipeline
: Source code for the Aeon DataJoint MySQL database pipelineaeon/io
: Source code for loading raw dataaeon/processing
: Source code for processing raw dataaeon/qc
: Source code for quality control of raw dataaeon/schema
: Examples of 'experiment schemas': variables that can be used to load raw data from particular experimentsdocker/
: Dockerfiles for building Docker images for the Aeon DataJoint MySQL database pipeline.docs/
: Documentation for the Aeon project
docs/devs/
: Documentation for developersdocs/env_setup/
: Documentation for setting up the Aeon Python environmentdocs/examples/
: Aeon usecase examplesdocs/using_hpc_jupyterhub.md
: Instructions for using Jupyter notebooks to access Aeon data via SWC's HPCdocs/using_online_dashboard.md
: Instructions for connecting to Aeon's online dashboardenv_config/
: Configuration files for the Aeon Python environmenttests/
: Unit and integration tests
tests/data
: Data used by testsIf you use this software, please cite it as below:
Sainsbury Wellcome Centre Foraging Behaviour Working Group. (2023). Aeon: An open-source platform to study the neural basis of ethological behaviours over naturalistic timescales, https://doi.org/10.5281/zenodo.8411157