mrpast Overview =============== mrpast is a tool for inferring demographic parameters from phased genomic data. It uses Ancestral Recombination Graphs (for an overview of ARGs, see `here `_). You can either infer ARGs from your data yourself, or use one of mrpast's integrations with `Relate `_, `tsinfer `_, or `SINGER `_. .. contents:: :depth: 2 Usage Modes ~~~~~~~~~~~ mrpast takes a user-specified model as input. We have a bunch of `example models `_ that are a good starting place, and you can look at the `modeling `_ section of the docs as well. Models specify a ``ground_truth`` value for each parameter, which can be set to a random value initially (if you don't know an expected value). The upside of providing a ``ground_truth`` value is that you can then simulate the input model. Simulating input models lets you explore the identifiability of the model with respect to mrpast. You can simulate ARGs from a model, and if mrpast cannot accurately identify the model parameters then it is unlikely to be a useful model on real data. Once you have verified that the simulated ARGs can be useful for mrpast, you can convert the simulated ARGs to raw data (``mrpast sim2vcf``) and then re-infer ARGs (``mrpast arginfer``) to see if the results are still accurate on inferred ARGs. If a model behaves well with both simulated ARGs and inferred ARGs on simulated data, then you can move on to `real data `_. Simplest Usage Example ~~~~~~~~~~~~~~~~~~~~~~ Below is the simplest usage for mrpast, which generates and processes simulated ARGs with a constant recombination rate. This example only takes a couple minutes to run end-to-end on a typical laptop. :: # Install pip install mrpast # Download one of the example models wget https://github.com/aprilweilab/mrpast/raw/refs/heads/main/examples/5deme1epoch.yaml # Simulate some ARGs mkdir -p 5d1e.simdata && mrpast simulate -j 6 5deme1epoch.yaml 5d1e.simdata/5d1e_ # Process the coalescence distribution from the ARGs and solve the maximum likelihood parameters mkdir -p 5d1e.output && mrpast process -j 6 --solve --out-dir 5d1e.output/ --bootstrap coalcounts 5deme1epoch.yaml 5d1e.simdata/5d1e_ The last command above will emit a message like "The output with the highest likelihood is 5d1e.output/5deme1epoch.bfc276c6.solve_in.bootstrap.3.out.json" at the end. We can then use the "mrpast show" command to see the results from that output: :: # Show the parameter values for the best result mrpast show 5d1e.output/5deme1epoch.bfc276c6.solve_in.bootstrap.3.out.json Further Information ~~~~~~~~~~~~~~~~~~~ Use the links below or on the left menu-bar to learn more. .. toctree:: :maxdepth: 2 Installation Concepts Relate workflows tsinfer workflows SINGER workflows Examining results Using real data Creating/modifying models Very short examples FAQ/HOWTO python_api