Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MIXSCAPE - ms.plot_barplot(mdata["rna"], guide_rna_column="NT") shows no graph output with papalexi_2021 provided data #659

Open
VittoriaDBocchi opened this issue Sep 19, 2024 · 10 comments
Assignees
Labels
bug Something isn't working Needs info❔

Comments

@VittoriaDBocchi
Copy link

Report

when runnung
ms.plot_barplot(mdata["rna"], guide_rna_column="NT") during the mixscape pipeline with the data provided by the authors (mdata = pt.dt.papalexi_2021()) I get no output:

None

Version information


anndata 0.10.7
matplotlib 3.8.4
mudata 0.2.3
muon 0.1.6
numpy 1.26.4
pandas 2.2.2
pertpy 0.7.0
scanpy 1.10.1
scipy 1.13.0
seaborn 0.13.2
session_info 1.0.0

PIL 10.3.0
absl NA
adjustText 1.1.1
arrow 1.3.0
arviz 0.18.0
asttokens NA
attr 23.2.0
backcall 0.2.0
blitzgsea NA
certifi 2024.02.02
chardet 5.2.0
charset_normalizer 3.3.2
chex 0.1.86
colorama 0.4.6
comm 0.1.2
contextlib2 NA
custom_inherit 2.4.1
cycler 0.12.1
cython_runtime NA
dateutil 2.8.2
debugpy 1.6.7
decorator 5.1.1
decoupler 1.6.0
docrep 0.3.2
etils 1.8.0
executing 0.8.3
flax 0.8.3
fsspec 2024.3.1
h5py 3.11.0
idna 3.7
igraph 0.11.5
importlib_resources NA
ipykernel 6.25.0
jax 0.4.27
jaxlib 0.4.27
jaxopt NA
jedi 0.18.1
joblib 1.4.2
kiwisolver 1.4.5
legacy_api_wrap NA
leidenalg 0.10.2
lightning 2.1.4
lightning_fabric 2.2.4
lightning_utilities 0.11.2
llvmlite 0.42.0
matplotlib_inline 0.1.6
ml_collections NA
ml_dtypes 0.4.0
mpl_toolkits NA
mpmath 1.3.0
msgpack 1.0.8
multipledispatch 0.6.0
natsort 8.4.0
numba 0.59.1
numpyro 0.14.0
opt_einsum v3.3.0
optax 0.2.2
ott 0.4.6
packaging 23.1
parso 0.8.3
patsy 0.5.6
pexpect 4.8.0
pickleshare 0.7.5
pkg_resources NA
platformdirs 3.10.0
ply 3.11
png 0.20220715.0
pretty_errors 1.2.25
prompt_toolkit 3.0.36
psutil 5.9.0
ptyprocess 0.7.0
pubchempy 1.0.4
pure_eval 0.2.2
pyarrow 16.0.0
pydev_ipython NA
pydevconsole NA
pydevd 2.9.5
pydevd_file_utils NA
pydevd_plugins NA
pydevd_tracing NA
pygments 2.15.1
pynndescent 0.5.12
pyomo 6.7.1
pyparsing 3.1.2
pyro 1.9.0
pytorch_lightning 2.2.4
pytz 2024.1
reportlab 4.2.0
requests 2.31.0
rich NA
scvi 1.1.2
six 1.16.0
sklearn 1.4.2
skmisc 0.3.1
sparsecca 0.3.1
stack_data 0.2.0
statsmodels 0.14.2
texttable 1.7.0
threadpoolctl 3.5.0
toolz 0.12.1
torch 2.3.0+cu121
torchgen NA
torchmetrics 1.4.0
tornado 6.3.3
toyplot 1.0.3
toytree 2.0.5
tqdm 4.66.4
traitlets 5.7.1
tree 0.1.8
typing_extensions NA
umap 0.5.6
urllib3 2.2.1
wcwidth 0.2.5
xarray 2024.3.0
xarray_einstats 0.7.0
yaml 6.0.1
zmq 25.1.0

IPython 8.15.0
jupyter_client 8.6.0
jupyter_core 5.5.0

Python 3.11.5 (main, Sep 11 2023, 13:54:46) [GCC 11.2.0]
Linux-3.10.0-1160.45.1.el7.x86_64-x86_64-with-glibc2.17

Session information updated at 2024-09-19 15:21

@VittoriaDBocchi VittoriaDBocchi added the bug Something isn't working label Sep 19, 2024
@Zethson
Copy link
Member

Zethson commented Sep 19, 2024

Thanks! We'll look into it

@Zethson
Copy link
Member

Zethson commented Sep 19, 2024

Ohh, I see that you're running version 0.7.0. Could you please upgrade to the latest version with pip install -U pertpy to see whether the issue persists?

@VittoriaDBocchi
Copy link
Author

Thank you for the prompt response. It does persist even with pertpy version 0.9.4. I notice that in the previous step (ms.mixscape(adata=mdata["rna"], control="sg_non_targeting", labels="GuidesGene", layer="X_pert") ) I get this warning: RuntimeWarning: invalid value encountered in log2
self.stats[group_name, "logfoldchanges"] = np.log2(
...envs/pertpy/lib/python3.11/site-packages/scanpy/tools/_rank_genes_groups.py:455: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling frame.insert many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use newframe = frame.copy()
self.stats[group_name, "logfoldchanges"] = np.log2(
finished: added to .uns['rank_genes_groups']
'names', sorted np.recarray to be indexed by group ids
'scores', sorted np.recarray to be indexed by group ids
'logfoldchanges', sorted np.recarray to be indexed by group ids
'pvals', sorted np.recarray to be indexed by group ids
'pvals_adj', sorted np.recarray to be indexed by group ids (0:00:19)
...envs/pertpy/lib/python3.11/site-packages/pertpy/tools/_mixscape.py:318: FutureWarning: Setting an item of incompatible dtype is deprecated and will raise an error in a future version of pandas. Value '[0.74430524 0.92261884 0.78700851 0.8451406 0.24272429 0.17320238... could this have anything to do with it? Thanks again!

@Lilly-May
Copy link
Collaborator

Hi @VittoriaDBocchi! Thanks for testing with the updated pertpy version. I've just tested it myself but everything works fine on my end. When I run the example below, the plot is properly displayed:

mdata = pt.dt.papalexi_2021()
ms_pt = pt.tl.Mixscape()
ms_pt.perturbation_signature(mdata["rna"], "perturbation", "NT", "replicate")
ms_pt.mixscape(adata=mdata["rna"], control="NT", labels="gene_target", layer="X_pert")
ms_pt.plot_barplot(mdata["rna"], guide_rna_column="NT")

Did you run the exact same code? One possible issue I can think of is that the generated plot is quite large. How are you running the code— in a Jupyter notebook? Have large plots caused any issues for you before?

@plaffon1
Copy link

plaffon1 commented Oct 8, 2024

I'm also running into this issue. I think the problem has to do with the function call returning 0 axes, as is in my case:

<Figure size 640x480 with 0 Axes>

I'm running this in a jupyter notebook and the figure is not very large. I've ran into this problem both on my own dataset and the papalexi2021 dataset. The data are fine as I can recreate the plot manually with a plotting library.

@Lilly-May
Copy link
Collaborator

Hi @plaffon1, thanks for reporting! I'll try to look into this over the next few days.

@Lilly-May
Copy link
Collaborator

Hi @plaffon1, hi @VittoriaDBocchi!
This issue should be fixed with PR #667. Please let me know and reopen the issue if you're still facing problems.
Best,
Lilly

@plaffon1
Copy link

Hello,

Looks like this is raising a different error now: ValueError: cannot insert mixscape_class_global, already exists

@Lilly-May Lilly-May reopened this Oct 11, 2024
@Lilly-May
Copy link
Collaborator

Weird, I didn't encounter any issues when running the code above. Could you please send the entire code snippet you ran, along with the error traceback?

@Lilly-May
Copy link
Collaborator

Hi @plaffon1 - any updates on this? Are you still facing this issue? Otherwise, I'll close the issue soon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working Needs info❔
Projects
None yet
Development

No branches or pull requests

4 participants