SCENIC+ is a python package to build gene regulatory networks (GRNs) using combined or separate single-cell gene expression (scRNA-seq) and single-cell chromatin accessibility (scATAC-seq) data.
Other
162
stars
27
forks
source link
TypeError: score_eRegulons() got an unexpected keyword argument 'scplus_obj' #413
When running plot_perturbation_effect_in_embedding() according to the tutorial: https://scenicplus.readthedocs.io/en/stable/Perturbation_simulation.html, the function tries to use the score_eRegulons() function on the scenic plus object, which doesn't correspond to the expected input of that function
from scenicplus.simulation import plot_perturbation_effect_inembedding
import seaborn as sns
= plot_perturbation_effect_in_embedding(
scplus_obj = scplus_obj,
reduction_name = 'eRegulons_PCA_gene_based',
n_cpu = 30,
perturbation = {'Cebpd': 0}, #specifies that we want to set the expression of SOX10 to 0 in all cells.
variable = 'Annotation',
color_dictionary = {'Annotation': color_dict_line},
genes_to_use = hvg,
figsize = (10, 10))
and got this error
And looking at the definition of the score_eRegulons function below:
It seems strange the perturbation function does this:
Am I missing something? The function just don't seem compatible
When running plot_perturbation_effect_in_embedding() according to the tutorial: https://scenicplus.readthedocs.io/en/stable/Perturbation_simulation.html, the function tries to use the score_eRegulons() function on the scenic plus object, which doesn't correspond to the expected input of that function
I was running this code:
import dill scplus_obj = dill.load(open('outs/Old_scplus_obj.pkl', 'rb'))
from scenicplus.dimensionality_reduction import run_eRegulons_pca run_eRegulons_pca( scplus_obj, auc_key = 'eRegulon_AUC', reduction_name = 'eRegulons_PCA_gene_based')
from pycisTopic.diff_features import find_highly_variable_features hvg = find_highly_variable_features(scplus_obj.to_df('EXP')[list(set(scplus_obj.uns['eRegulon_metadata_filtered']['Gene']))].T, n_top_features = 200, plot = False)
color_dict_line = { 'Adipocytes': '#9A031E', 'FAP2': '#C75146', 'FAP1': '#FFA987'}
from scenicplus.simulation import plot_perturbation_effect_inembedding import seaborn as sns = plot_perturbation_effect_in_embedding( scplus_obj = scplus_obj, reduction_name = 'eRegulons_PCA_gene_based', n_cpu = 30, perturbation = {'Cebpd': 0}, #specifies that we want to set the expression of SOX10 to 0 in all cells. variable = 'Annotation', color_dictionary = {'Annotation': color_dict_line}, genes_to_use = hvg, figsize = (10, 10))
and got this error
And looking at the definition of the score_eRegulons function below:![image](https://github.com/aertslab/scenicplus/assets/116001495/5dfb4131-bea5-41ff-9ad6-a71b5f15e8af)
It seems strange the perturbation function does this:
Am I missing something? The function just don't seem compatible