Beispiel #1
0
def test_aucell_mismatch(exp_matrix, gs):
    percentiles = derive_auc_threshold(exp_matrix)
    gss = [
        GeneSignature(name="test",
                      gene2weight=list(map("FAKE{}".format, range(100))))
    ] + gs
    aucs_mtx = aucell(exp_matrix,
                      gss,
                      auc_threshold=percentiles[0.01],
                      num_workers=1)
    print(aucs_mtx.head())
Beispiel #2
0
def test_aucell_w2():
    ex_mtx = exp_matrix()
    percentiles = derive_auc_threshold(ex_mtx)
    aucs_mtx = aucell(ex_mtx, gs(), auc_threshold=percentiles[0.01], num_workers=4)
args = parser_grn.parse_args()

# Do stuff

ex_matrix_df = utils.get_matrix(loom_file_path=args.expression_mtx_fname.name,
                                gene_attribute=args.gene_attribute,
                                cell_id_attribute=args.cell_id_attribute)
signatures = utils.read_signatures_from_tsv_dir(
    dpath=args.signatures_fname,
    noweights=False,
    weight_threshold=args.min_regulon_gene_occurrence,
    min_genes=args.min_genes)

if len(signatures) == 0:
    raise Exception(
        f"No signature passing filtering. Please consider to adapt 'min_genes_regulon = {args.min_genes_regulon}' and 'min_regulon_gene_occurrence = {args.min_regulon_gene_occurrence}' (see params.sc.scenic.aucell). Make sure these settings are smaller than numRuns (params.sc.scenic)."
    )

auc_threshold = args.auc_threshold

if args.percentile_threshold is not None:
    percentiles = derive_auc_threshold(ex_matrix_df)
    auc_threshold = percentiles[args.percentile_threshold]

aucs_mtx = aucell(ex_matrix_df,
                  signatures,
                  auc_threshold=auc_threshold,
                  num_workers=args.num_workers)
aucs_mtx.to_csv(path_or_buf=args.output, index=True, sep='\t')
Beispiel #4
0
def test_aucell_w2(exp_matrix, gs):
    percentiles = derive_auc_threshold(exp_matrix)
    aucs_mtx = aucell(exp_matrix,
                      gs,
                      auc_threshold=percentiles[0.01],
                      num_workers=4)