INNER CODE UNIT · Python

_sample_items

antigenomics/vdjtools · python/vdjtools/cli/__init__.py:118

def _sample_items(samples, metadata, base_dir, sample_col, file_template) -> list:
    """[(sample_id, path), ...] — from a metadata table if given, else positional files.

    Returns paths, not loaded frames: the caller streams them through
    :func:`vdjtools.io.map_samples` so only ``O(workers)`` samples are ever resident.
    """
    from vdjtools.io.batch import read_metadata

    if metadata is not None:
        md = read_metadata(metadata)
        if sample_col not in md.columns:
            _err(f"--sample-col {sample_col!r} not in metadata columns: {md.columns}")
        base = base_dir or Path(metadata).parent
        return [(str(r[sample_col]), base / file_template.format(sample=r[sample_col]))
                for r in md.iter_rows(named=True)]
    if not samples:
        _err("give sample files as arguments, or -m/--metadata <table> (with --base-dir)")
    return [(Path(s).name.split(".")[0], s) for s in samples]

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…