one-datum / pipeline

What can we infer about an orbit from just the RV jitter?
MIT License
3 stars 2 forks source link

one-datum

What can we infer about an orbit from the Gaia RV jitter?

Usage

This project includes a pipeline component and a user-facing library. For now, this README just covers the pipeline usage which is designed to be run using snakemake.

Environment setup

To get started, you should create a simple conda environment and install snakemake as follows:

conda install -c conda-forge mamba
mamba create -n one-datum -c conda-forge bioconda::snakemake
conda activate one-datum

Then you can clone this repository to get the pipeline workflow:

git clone https://github.com/one-datum/pipeline.git
cd pipeline

Configuration

You can configure the workflow using a custom config.yaml and/or a Snakemake profile. For example, I normally use a profile with the following settings:

# $HOME/.config/snakemake/one-datum/config.yaml
cores: all
use-conda: true
conda-frontend: mamba

and then I would execute Snakemake as follows:

snakemake --profile=one-datum

where one-datum is the name of the directory where the profile configuration file is saved.

Take a look at the default config files for all the options, but you might want to explicitly set the results_basedir parameter so that large files don't get written to your working directory.

Running the pipeline

The following command should run the full pipeline and produce a catalog estimated binary parameters for all Gaia EDR3 radial velocity sources:

snakemake --profile=one-datum

Make sure that you run this on a beefy machine.

Running simulations & estimating completeness

You can also run some simulations for characterizing the pipeline and computing the completeness. To do that, run:

snakemake --profile=one-datum completeness

The settings for the simulations can all be found in the config/simulations.yaml configuration file.