Shared Conda environment request with SCENIC+ to use in JupyterLab

Dear iPOP-UP Support Team,

I hope you are doing well.

We want to use SCENIC+ to do some analysis. We saw that it is installed in the cluster in a module and we can load the module in the cluster. However, to use it it is recommended to do it via the Jupyterlab. But the module can not be loaded in JupyterLab. To solve this, the last response we got from your part was to create a specific Conda environment and install SCENIC+ there https://discourse.rpbs.univ-paris-diderot.fr/t/jupyter-module/1851.

We are currently trying to install the SCENIC+ toolkit on the iPOP-UP cluster in a Conda environment, but we have encountered several issues related to dependency compilation (notably with MACS2, NumPy, and pybedtools) due to the cluster environment constraints.

Given these difficulties, we would like to request the creation of a shared Conda environment providing SCENIC+ and its dependencies, so that it can be used reliably within the cluster and loaded in the JupyterLab.

Ideally, the environment would include (not precisely in this order):

  • Python <= 3.11.8 >= 3.8
  • SCENIC+ (version 1.0a2)
  • MACS2 (2.2.9.1)
  • pybedtools and bedtools
  • numpy (compatible version, e.g., 1.23)
  • pysam, cython, setuptools, wheel
  • Any additional dependencies required for SCENIC+ to run properly

If possible, having this environment available as a module would greatly facilitate reproducibility and usage across users. Here I’m putting some colleagues in cc that will use this module if available.

Please let me know if you would prefer that I submit this request through the Git repository (cluster/tools) instead, or if additional information is needed.

Thank you very much for your support.

Best regards,

Carlos MARTIN BLANCO

Postdoctoral Researcher
Konstantinides Lab
Institute Jacques Monod, CNRS

Hello again,

I did not manage to install SCENIC+ in my own conda environment. But with a little help of Claude, I was able to load the existing module in a environment and then use this environment in Jupyter notebook.
Still I think it would be a good idea to update SCENIC+ to the last version. But we can start our analysis with these tools.

I am pasting the instructions I followed from Claude:

The SCENIC+ environment doesn’t have ipykernel installed, and since it’s a shared/read-only conda environment, you can’t install into it directly. Here’s the fix:

Solution: Create your own conda environment that wraps SCENIC+

bash

# 1. Create a new personal conda environment
conda create -n my_scenicplus python=3.11 -y

# 2. Activate it
conda activate my_scenicplus

# 3. Install ipykernel
pip install ipykernel

# 4. Add the shared SCENIC+ packages to your Python path
# First, find the site-packages path
ls /shared/software/conda/envs/scenicplus-1.0a1/lib/
# Look for something like python3.x, then:

# 5. Register as a Jupyter kernel with the SCENIC+ path included
python -m ipykernel install --user --name my_scenicplus --display-name "Python (SCENIC+)" \
  --env PYTHONPATH "/shared/software/conda/envs/scenicplus-1.0a1/lib/python3.11/site-packages"

Replace python3.11 with whatever version you see in step 4.

Verify the kernel was created

bash

jupyter kernelspec list

You should see my_scenicplus listed.

Then in Jupyter1. Go to Kernel → Change Kernel

  1. Select “Python (SCENIC+)”
  2. Test it:

Thank you and good afternoon.

Hello,

I’m currently trying to install scenicplus/1.0a2 but I’m facing issues with pybedtools and setuptools.

I will keep you updated if I manage to find a workaround or resolve the issue.

Best regards,