Skill Tracer
Skills › Scientific Agent Skills › scanpy › convert.py

convert.py

43 lines · skills/scanpy/scripts/convert.py at 5f2bc03

1#!/usr/bin/env python3
2"""
3Load any supported single-cell format and write it as .h5ad.
4
5Convenience wrapper to get 10x mtx folders, 10x .h5, CSV/TSV, loom, or mtx
6files into AnnData .h5ad once, so later steps all read a single fast format.
7For R-native files (.rds / Seurat / SingleCellExperiment), see
8references/r_interop.md — those must be converted with R first.
9
10Examples:
11 python convert.py filtered_feature_bc_matrix/ -o data.h5ad
12 python convert.py raw_counts.csv -o data.h5ad --transpose
13 python convert.py matrix.h5 -o data.h5ad
14"""
16import argparse
18from _common import add_io_args, configure_scanpy, info, load_anndata, save_anndata, summarize
21def main():
22 p = argparse.ArgumentParser(description=__doc__,
23 formatter_class=argparse.RawDescriptionHelpFormatter)
24 add_io_args(p, default_output="data.h5ad")
25 p.add_argument("--transpose", action="store_true",
26 help="Transpose after loading (use if matrix is genes x cells)")
27 p.add_argument("--make-unique", action="store_true",
28 help="Make var (gene) names unique")
29 args = p.parse_args()
31 configure_scanpy(figdir=args.figdir)
32 adata = load_anndata(args.input)
33 if args.transpose:
34 adata = adata.T
35 info(f"Transposed -> {adata.n_obs} cells x {adata.n_vars} genes")
36 if args.make_unique:
37 adata.var_names_make_unique()
38 print(summarize(adata))
39 save_anndata(adata, args.output)
42if __name__ == "__main__":
43 main()