Mercurial > repos > goeckslab > scimap_phenotyping
view scimap_spatial.py @ 2:ce22e846c5e4 draft
planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/scimap commit 9fb5578191db8a559191e45156cfb95350f01aea
author | goeckslab |
---|---|
date | Mon, 10 Jun 2024 18:44:25 +0000 |
parents | dcfcad35e847 |
children | 3a441d347a46 |
line wrap: on
line source
import argparse import json import warnings import scimap as sm from anndata import read_h5ad def main(inputs, anndata, output): """ Parameter --------- inputs : str File path to galaxy tool parameter. anndata : str File path to anndata containing phenotyping info. output : str File path to output. """ warnings.simplefilter('ignore') with open(inputs, 'r') as param_handler: params = json.load(param_handler) adata = read_h5ad(anndata) tool = params['analyses']['selected_tool'] tool_func = getattr(sm.tl, tool) options = params['analyses']['options'] if tool == 'cluster': options['method'] = params['analyses']['method'] subset_genes = options.pop('subset_genes') if subset_genes: options['subset_genes'] = \ [x.strip() for x in subset_genes.split(',')] sub_cluster_group = options.pop('sub_cluster_group') if sub_cluster_group: options['sub_cluster_group'] = \ [x.strip() for x in sub_cluster_group.split(',')] for k, v in options.items(): if v == '': options[k] = None tool_func(adata, **options) if tool == 'spatial_lda': adata.uns.pop('spatial_lda_model') adata.write(output) if __name__ == '__main__': aparser = argparse.ArgumentParser() aparser.add_argument("-i", "--inputs", dest="inputs", required=True) aparser.add_argument("-e", "--output", dest="output", required=True) aparser.add_argument("-a", "--anndata", dest="anndata", required=True) args = aparser.parse_args() main(args.inputs, args.anndata, args.output)