annotate pyscenic_binarize_aucell.py @ 1:3192e6fb85a6 draft default tip

planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 6f7bc53bd9da7ee2a480b5aa2d1825209738c4c4
author ebi-gxa
date Sun, 15 Sep 2024 10:13:21 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
3192e6fb85a6 planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 6f7bc53bd9da7ee2a480b5aa2d1825209738c4c4
ebi-gxa
parents:
diff changeset
1 import argparse
3192e6fb85a6 planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 6f7bc53bd9da7ee2a480b5aa2d1825209738c4c4
ebi-gxa
parents:
diff changeset
2
3192e6fb85a6 planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 6f7bc53bd9da7ee2a480b5aa2d1825209738c4c4
ebi-gxa
parents:
diff changeset
3 import pandas as pd
3192e6fb85a6 planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 6f7bc53bd9da7ee2a480b5aa2d1825209738c4c4
ebi-gxa
parents:
diff changeset
4 from pyscenic.binarization import binarize
3192e6fb85a6 planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 6f7bc53bd9da7ee2a480b5aa2d1825209738c4c4
ebi-gxa
parents:
diff changeset
5
3192e6fb85a6 planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 6f7bc53bd9da7ee2a480b5aa2d1825209738c4c4
ebi-gxa
parents:
diff changeset
6 if __name__ == "__main__":
3192e6fb85a6 planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 6f7bc53bd9da7ee2a480b5aa2d1825209738c4c4
ebi-gxa
parents:
diff changeset
7 parser = argparse.ArgumentParser(description="Binarize AUC matrix")
3192e6fb85a6 planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 6f7bc53bd9da7ee2a480b5aa2d1825209738c4c4
ebi-gxa
parents:
diff changeset
8 parser.add_argument("input_file", help="Input TSV or CSV file")
3192e6fb85a6 planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 6f7bc53bd9da7ee2a480b5aa2d1825209738c4c4
ebi-gxa
parents:
diff changeset
9 parser.add_argument(
3192e6fb85a6 planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 6f7bc53bd9da7ee2a480b5aa2d1825209738c4c4
ebi-gxa
parents:
diff changeset
10 "--threshold-overrides",
3192e6fb85a6 planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 6f7bc53bd9da7ee2a480b5aa2d1825209738c4c4
ebi-gxa
parents:
diff changeset
11 type=str,
3192e6fb85a6 planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 6f7bc53bd9da7ee2a480b5aa2d1825209738c4c4
ebi-gxa
parents:
diff changeset
12 help="Threshold overrides in JSON format",
3192e6fb85a6 planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 6f7bc53bd9da7ee2a480b5aa2d1825209738c4c4
ebi-gxa
parents:
diff changeset
13 )
3192e6fb85a6 planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 6f7bc53bd9da7ee2a480b5aa2d1825209738c4c4
ebi-gxa
parents:
diff changeset
14 parser.add_argument("--seed", type=int, default=None, help="Random seed")
3192e6fb85a6 planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 6f7bc53bd9da7ee2a480b5aa2d1825209738c4c4
ebi-gxa
parents:
diff changeset
15 parser.add_argument(
3192e6fb85a6 planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 6f7bc53bd9da7ee2a480b5aa2d1825209738c4c4
ebi-gxa
parents:
diff changeset
16 "--num-workers", type=int, default=1, help="Number of workers"
3192e6fb85a6 planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 6f7bc53bd9da7ee2a480b5aa2d1825209738c4c4
ebi-gxa
parents:
diff changeset
17 )
3192e6fb85a6 planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 6f7bc53bd9da7ee2a480b5aa2d1825209738c4c4
ebi-gxa
parents:
diff changeset
18 parser.add_argument(
3192e6fb85a6 planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 6f7bc53bd9da7ee2a480b5aa2d1825209738c4c4
ebi-gxa
parents:
diff changeset
19 "--output-prefix", type=str, default="output", help="Output prefix"
3192e6fb85a6 planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 6f7bc53bd9da7ee2a480b5aa2d1825209738c4c4
ebi-gxa
parents:
diff changeset
20 )
3192e6fb85a6 planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 6f7bc53bd9da7ee2a480b5aa2d1825209738c4c4
ebi-gxa
parents:
diff changeset
21
3192e6fb85a6 planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 6f7bc53bd9da7ee2a480b5aa2d1825209738c4c4
ebi-gxa
parents:
diff changeset
22 args = parser.parse_args()
3192e6fb85a6 planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 6f7bc53bd9da7ee2a480b5aa2d1825209738c4c4
ebi-gxa
parents:
diff changeset
23
3192e6fb85a6 planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 6f7bc53bd9da7ee2a480b5aa2d1825209738c4c4
ebi-gxa
parents:
diff changeset
24 # Read input file
3192e6fb85a6 planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 6f7bc53bd9da7ee2a480b5aa2d1825209738c4c4
ebi-gxa
parents:
diff changeset
25 if args.input_file.endswith(".tsv"):
3192e6fb85a6 planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 6f7bc53bd9da7ee2a480b5aa2d1825209738c4c4
ebi-gxa
parents:
diff changeset
26 auc_mtx = pd.read_csv(args.input_file, sep="\t", index_col=0)
3192e6fb85a6 planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 6f7bc53bd9da7ee2a480b5aa2d1825209738c4c4
ebi-gxa
parents:
diff changeset
27 elif args.input_file.endswith(".csv"):
3192e6fb85a6 planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 6f7bc53bd9da7ee2a480b5aa2d1825209738c4c4
ebi-gxa
parents:
diff changeset
28 auc_mtx = pd.read_csv(args.input_file, index_col=0)
3192e6fb85a6 planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 6f7bc53bd9da7ee2a480b5aa2d1825209738c4c4
ebi-gxa
parents:
diff changeset
29 else:
3192e6fb85a6 planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 6f7bc53bd9da7ee2a480b5aa2d1825209738c4c4
ebi-gxa
parents:
diff changeset
30 raise ValueError("Input file must be a TSV or CSV file")
3192e6fb85a6 planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 6f7bc53bd9da7ee2a480b5aa2d1825209738c4c4
ebi-gxa
parents:
diff changeset
31
3192e6fb85a6 planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 6f7bc53bd9da7ee2a480b5aa2d1825209738c4c4
ebi-gxa
parents:
diff changeset
32 auc_mtx.apply(pd.to_numeric)
3192e6fb85a6 planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 6f7bc53bd9da7ee2a480b5aa2d1825209738c4c4
ebi-gxa
parents:
diff changeset
33 # Parse threshold overrides
3192e6fb85a6 planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 6f7bc53bd9da7ee2a480b5aa2d1825209738c4c4
ebi-gxa
parents:
diff changeset
34 threshold_overrides = None
3192e6fb85a6 planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 6f7bc53bd9da7ee2a480b5aa2d1825209738c4c4
ebi-gxa
parents:
diff changeset
35 if args.threshold_overrides:
3192e6fb85a6 planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 6f7bc53bd9da7ee2a480b5aa2d1825209738c4c4
ebi-gxa
parents:
diff changeset
36 import json
3192e6fb85a6 planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 6f7bc53bd9da7ee2a480b5aa2d1825209738c4c4
ebi-gxa
parents:
diff changeset
37
3192e6fb85a6 planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 6f7bc53bd9da7ee2a480b5aa2d1825209738c4c4
ebi-gxa
parents:
diff changeset
38 threshold_overrides = json.loads(args.threshold_overrides)
3192e6fb85a6 planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 6f7bc53bd9da7ee2a480b5aa2d1825209738c4c4
ebi-gxa
parents:
diff changeset
39
3192e6fb85a6 planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 6f7bc53bd9da7ee2a480b5aa2d1825209738c4c4
ebi-gxa
parents:
diff changeset
40 # Call binarize function
3192e6fb85a6 planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 6f7bc53bd9da7ee2a480b5aa2d1825209738c4c4
ebi-gxa
parents:
diff changeset
41 binarized_mtx, thresholds = binarize(
3192e6fb85a6 planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 6f7bc53bd9da7ee2a480b5aa2d1825209738c4c4
ebi-gxa
parents:
diff changeset
42 auc_mtx, threshold_overrides, args.seed, args.num_workers
3192e6fb85a6 planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 6f7bc53bd9da7ee2a480b5aa2d1825209738c4c4
ebi-gxa
parents:
diff changeset
43 )
3192e6fb85a6 planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 6f7bc53bd9da7ee2a480b5aa2d1825209738c4c4
ebi-gxa
parents:
diff changeset
44
3192e6fb85a6 planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 6f7bc53bd9da7ee2a480b5aa2d1825209738c4c4
ebi-gxa
parents:
diff changeset
45 # set column name for thresholds
3192e6fb85a6 planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 6f7bc53bd9da7ee2a480b5aa2d1825209738c4c4
ebi-gxa
parents:
diff changeset
46 thresholds.rename("threshold", inplace=True)
3192e6fb85a6 planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 6f7bc53bd9da7ee2a480b5aa2d1825209738c4c4
ebi-gxa
parents:
diff changeset
47
3192e6fb85a6 planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 6f7bc53bd9da7ee2a480b5aa2d1825209738c4c4
ebi-gxa
parents:
diff changeset
48 # Save output files
3192e6fb85a6 planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 6f7bc53bd9da7ee2a480b5aa2d1825209738c4c4
ebi-gxa
parents:
diff changeset
49 binarized_mtx.to_csv(f"{args.output_prefix}/binarized_mtx.tsv", sep="\t")
3192e6fb85a6 planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/ commit 6f7bc53bd9da7ee2a480b5aa2d1825209738c4c4
ebi-gxa
parents:
diff changeset
50 thresholds.to_csv(f"{args.output_prefix}/thresholds.tsv", sep="\t")