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: ifTrue, instantiate the packaged Julia project when OpenADMIXTURE.jl cannot be imported.timeout: optional subprocess timeout in seconds.
Useful methods:
check_julia(): return aJuliaInfoobject 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 returnOpenAdmixtureResult.
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 juliaOpenAdmixtureResult
Fields:
q: parsed ancestry proportions aspandas.DataFrame.p: parsed allele frequencies aspandas.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.csvand.P.csvfiles.summary(): return compact result metadata.
Exceptions
All package-specific exceptions inherit from OpenAdmixtureError:
JuliaNotFoundErrorOpenAdmixtureNotInstalledErrorPlinkInputErrorOpenAdmixtureRunErrorOutputParseError