Mercurial > repos > goeckslab > scimap_phenotyping
comparison scimap_spatial.py @ 0:7ed4b55b11f7 draft
planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/scimap commit b19cb55dfb751cccc857b95a432890299bfeebb5
| author | goeckslab |
|---|---|
| date | Tue, 19 Jul 2022 20:29:22 +0000 |
| parents | |
| children | dcfcad35e847 |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:7ed4b55b11f7 |
|---|---|
| 1 import argparse | |
| 2 import json | |
| 3 import warnings | |
| 4 | |
| 5 import scimap as sm | |
| 6 from anndata import read_h5ad | |
| 7 | |
| 8 | |
| 9 def main(inputs, anndata, output): | |
| 10 """ | |
| 11 Parameter | |
| 12 --------- | |
| 13 inputs : str | |
| 14 File path to galaxy tool parameter. | |
| 15 anndata : str | |
| 16 File path to anndata containing phenotyping info. | |
| 17 output : str | |
| 18 File path to output. | |
| 19 """ | |
| 20 warnings.simplefilter('ignore') | |
| 21 | |
| 22 with open(inputs, 'r') as param_handler: | |
| 23 params = json.load(param_handler) | |
| 24 | |
| 25 adata = read_h5ad(anndata) | |
| 26 | |
| 27 tool = params['analyses']['selected_tool'] | |
| 28 tool_func = getattr(sm.tl, tool) | |
| 29 | |
| 30 options = params['analyses']['options'] | |
| 31 if tool == 'cluster': | |
| 32 options['method'] = params['analyses']['method'] | |
| 33 subset_genes = options.pop('subset_genes') | |
| 34 if subset_genes: | |
| 35 options['subset_genes'] = \ | |
| 36 [x.strip() for x in subset_genes.split(',')] | |
| 37 sub_cluster_group = options.pop('sub_cluster_group') | |
| 38 if sub_cluster_group: | |
| 39 options['sub_cluster_group'] = \ | |
| 40 [x.strip() for x in sub_cluster_group.split(',')] | |
| 41 | |
| 42 for k, v in options.items(): | |
| 43 if v == '': | |
| 44 options[k] = None | |
| 45 | |
| 46 tool_func(adata, **options) | |
| 47 | |
| 48 adata.write(output) | |
| 49 | |
| 50 | |
| 51 if __name__ == '__main__': | |
| 52 aparser = argparse.ArgumentParser() | |
| 53 aparser.add_argument("-i", "--inputs", dest="inputs", required=True) | |
| 54 aparser.add_argument("-e", "--output", dest="output", required=True) | |
| 55 aparser.add_argument("-a", "--anndata", dest="anndata", required=True) | |
| 56 | |
| 57 args = aparser.parse_args() | |
| 58 | |
| 59 main(args.inputs, args.anndata, args.output) |
