rsomics-ilr 0.1.0

Isometric log-ratio (ILR) transform of a composition table — scikit-bio skbio.stats.composition.ilr equivalent using the default Egozcue/Gram-Schmidt orthonormal basis
Documentation
#!/usr/bin/env python3
"""Deterministic composition tables for the committed compat goldens.

Usage: mkfixture.py <n_samples> <n_features> [seed] > table.tsv
Positive integer counts so the default (no pseudocount) ilr path runs.
"""
import sys

import numpy as np

n_samples = int(sys.argv[1])
n_features = int(sys.argv[2])
seed = int(sys.argv[3]) if len(sys.argv) > 3 else 0

rng = np.random.default_rng(seed)
counts = rng.integers(1, 1000, size=(n_samples, n_features))

cols = [f"f{j}" for j in range(n_features)]
sys.stdout.write("\t" + "\t".join(cols) + "\n")
for i in range(n_samples):
    sys.stdout.write(f"s{i}\t" + "\t".join(str(int(v)) for v in counts[i]) + "\n")