API reference

Public API

The top-level package exports:

from admixture import (
    OpenAdmixtureRunner,
    OpenAdmixtureResult,
    default_julia_project_dir,
    run_openadmixture,
    setup,
)

OpenAdmixtureRunner

OpenAdmixtureRunner(
    julia="julia",
    install_if_missing=False,
    timeout=None,
)

Parameters:

  • julia: executable name or explicit executable path.
  • install_if_missing: if True, instantiate the packaged Julia project when OpenADMIXTURE.jl cannot be imported.
  • timeout: optional subprocess timeout in seconds.

Useful methods:

  • check_julia(): return a JuliaInfo object with executable and version.
  • check_openadmixture(): return whether OpenADMIXTURE.jl imports.
  • version_info(): return Python, platform, Julia, and backend metadata.
  • run(...): execute OpenADMIXTURE.jl and return OpenAdmixtureResult.

run_openadmixture

run_openadmixture(
    *,
    bfile,
    k,
    out_prefix,
    julia="julia",
    install_if_missing=False,
    timeout=None,
    seed=None,
    threads=None,
    extra_args=None,
)

Creates an OpenAdmixtureRunner and runs it once.

setup

import admixture

project_dir = admixture.setup(julia="julia")

Installs OpenADMIXTURE.jl into a Julia project and returns the project path. The path is the packaged Julia project returned by admixture.default_julia_project_dir().

Equivalent installed command:

admixture setup --julia julia

OpenAdmixtureResult

Fields:

  • q: parsed ancestry proportions as pandas.DataFrame.
  • p: parsed allele frequencies as pandas.DataFrame | None.
  • q_path, p_path, log_path: output file paths.
  • out_prefix: requested output prefix.
  • k: number of ancestries.
  • command: Julia subprocess command tuple.
  • returncode, stdout, stderr: process execution details.
  • metadata: dictionary with input and runtime metadata.

Methods:

  • to_csv(prefix): write parsed .Q.csv and .P.csv files.
  • summary(): return compact result metadata.

Exceptions

All package-specific exceptions inherit from OpenAdmixtureError:

  • JuliaNotFoundError
  • OpenAdmixtureNotInstalledError
  • PlinkInputError
  • OpenAdmixtureRunError
  • OutputParseError