Skip to content

scMethyl + RNA Multi-omics SeekSoul Online Platform Jupyter Analysis User Guide

Author: SeekGene
Time: 14 min
Words: 2.7k words
Updated: 2026-07-31
Reads: 0 times
scMethyl + RNA-seq Analysis Guideline

This guide is intended for users who have completed the standard SeekMethyl pipeline analysis and want to perform downstream customized analysis in the Jupyter environment of the SeekGene Bio Cloud Platform.

This document uses the example project {project_name} (project ID {project_id}, sample {sample_name}) to demonstrate the operation path.

In actual use, replace these placeholders with your real project information.


1. Start Jupyter customized analysis

1.1 Open the project details page

After logging in to the SeekGene Bio Cloud Platform, go to:

Resource Overview → My Projects

Find the target project in the project list, for example:

  • Project ID: {project_id}
  • Project name: {project_name}

Click View on the right side of the project to enter the project details page.

Image 0


1.2 Start JupyterLab

On the upper-right corner of the project details page, click Customized Analysis.

Click Quick Run. A resource configuration pop-up window will appear. Select the appropriate compute resources. After startup is complete, click Quick Run again, and the platform will automatically redirect to JupyterLab.

Image 1

Common resource configurations:

Resource configurationRecommended scenario
4 cores 32 GBResult viewing, small-scale plotting, lightweight table processing
8 cores 64 GBRoutine single-cell object processing and basic integration analysis
16 cores 128 GBLarger sample sets, multimodal integration, differential analysis
32 cores 256 GBLarge object analysis, complex CNV analysis, or large-scale multi-omics analysis

To change resources, select Reset Resources from Operations in the lower-right corner of JupyterLab.

Note: Reset Resources will terminate the current Jupyter instance and start a new one. Before doing this, save all notebooks, scripts, and generated results. Unsaved content will be lost.


1.3 Common JupyterLab areas

After entering JupyterLab, the commonly used areas are:

AreaFunction
Left file browserBrowse directories, open notebooks, upload or download files
LauncherCreate a new Notebook, Terminal, or other interactive interface
Lower-right Operations menuMount pipeline data, summarize data, access the template library, upload templates, extend time, reset resources, or close the page

Image 2


1.4 Lower-right Operations menu

The Operations menu in the lower-right corner of JupyterLab contains commonly used platform functions.

FunctionDescription
Mount pipeline dataPipeline data are not mounted by default. When pipeline results are needed, use Mount Pipeline Data to select and mount the relevant pipeline tasks. To unmount data, deselect the corresponding pipeline task.
Summarize dataSummarize data under /home/{username}/workspace/project/{username}/ and its subfolders to the corresponding pipeline Result Overview page.
Template libraryDownload platform-provided Notebook templates. Templates downloaded from the template library are saved to /home/{username}/workspace/project/{username}/.
Upload templateUpload .ipynb files located under /home/{username}/workspace/project/{username}/ and its subfolders.
Reset resourcesTerminate the current Jupyter instance and start a new one. Before doing this, save all notebooks, scripts, and analysis results. Unsaved content will be lost.
Close pageTerminate the current Jupyter instance. Before closing, save all notebooks, scripts, and analysis results. Unsaved content will be lost.
Extend timeExtend the Jupyter session time. This operation can be performed multiple times, and each extension is added to the current remaining time.

2. Working directories and pipeline data mounting

2.1 Working directory description

Two main directories are used in Jupyter: the project disk and the data disk.

Directory typePathDescriptionRecommended use
project disk/home/{username}/workspace/project/{username}/User-specific writable directorySave customized analysis outputs such as notebooks, scripts, figures, tables, h5ad files, and rds files
data disk/home/{username}/workspace/data/{mount_id}/Mounted pipeline result directoryRead standard pipeline output data

It is recommended that all user-generated results be saved to:

bash
/home/{username}/workspace/project/{username}/

It is not recommended to write customized analysis results directly to the data disk. The data disk is mainly used as a read-only directory for standard pipeline results.


2.2 Storage and collaboration notes

  1. The total storage limit for all project personal working directories under /home/{username}/workspace/project/{username}/ is 500 GB.
  2. Members of the same project can view analysis results generated by other members, for example:
bash
/home/{username}/workspace/project/{OtherUsers}/

Therefore, do not store sensitive information or large temporary files unrelated to the project in the project directory.


2.3 Mount pipeline data

SeekMethyl standard pipeline results do not appear in the Jupyter file system by default. They need to be mapped to the current Jupyter environment through Mount Pipeline Data.

Steps:

  1. Click Operations in the lower-right corner.
  2. Select Mount Pipeline Data.
  3. Select the pipeline task you want to use.
  4. Confirm the mount operation.

Image 3

To unmount already mounted data, enter Mount Pipeline Data again and deselect the corresponding pipeline task.

After mounting, you can check the mounted data in Terminal:

bash
ls -lh /home/{username}/workspace/data/

The mounted SeekMethyl results are usually located at:

bash
/home/{username}/workspace/data/{mount_id}/methylation/{task_directory}/

The result directory for a single sample is usually:

bash
/home/{username}/workspace/data/{mount_id}/methylation/{task_directory}/{sample_name}/

Example:

bash
cd /home/{username}/workspace/data/{mount_id}/methylation/{task_directory}/{sample_name}/
ls -lh

3. Mounted data contents

3.1 Sample-level mounted directory structure

After mounting, the sample-level standard data currently provided by SeekMethyl for Jupyter downstream analysis are organized into the following five directory types:

text
allcools_generate_datasets
cnvPreflight
filtered_feature_bc_matrix
methscan
split_bams

Example structure:

text
{sample_name}/
├── allcools_generate_datasets
│   └── {sample_name}.mcds
│       ├── chrom10k
│       ├── chrom20k
│       ├── chrom50k
│       ├── chrom100k
│       ├── chrom500k
│       ├── chrom1M
│       ├── chrom_sizes.txt
│       └── geneslop2k
├── cnvPreflight
│   ├── copykit_{sample_name}_1Mb.rds
│   ├── copykit_{sample_name}_1Mb.rds.md5
│   ├── copykit_{sample_name}_500kb.rds
│   ├── copykit_{sample_name}_500kb.rds.md5
│   ├── copykit_{sample_name}_220kb.rds
│   └── copykit_{sample_name}_220kb.rds.md5
├── filtered_feature_bc_matrix
│   ├── barcodes.tsv.gz
│   ├── features.tsv.gz
│   └── matrix.mtx.gz
├── methscan
│   └── compact_data
│       ├── *.npz
│       ├── cell_stats.csv
│       ├── column_header.txt
│       └── run_info.txt
└── split_bams
    ├── {sample_name}_cells.csv
    └── filtered_barcode_reads_counts.csv

These five directory types are the standard mounted results currently provided by the platform for Jupyter and can be used as the data basis for subsequent SeekMethyl template tutorials. Different tutorials may use one or more of these data types depending on the analysis purpose. Some tutorials also use intermediate results generated by previous tutorials based on these data, such as adata_rna.h5ad, adata_met.h5ad, or DMR result files.


3.2 Description of the five standard mounted data types

DirectoryData descriptionMain use
filtered_feature_bc_matrix/RNA expression matrixRNA quality control, dimensionality reduction, clustering, annotation, and differential expression analysis
allcools_generate_datasets/{sample_name}.mcds/Single-cell methylation MCDS dataset generated by ALLCoolsBasic methylation analysis, regional methylation aggregation, DMG/DMB analysis, and multimodal integration
methscan/compact_data/Compressed methylation matrix required by MethSCAnVMR detection and DMR analysis
cnvPreflight/CNV pre-analysis objectsCNV visualization, tumor cell identification, and clone grouping
split_bams/Single-cell barcode and read statisticsCell-level quality control, read distribution checks, and auxiliary doublet assessment

4. SeekMethyl downstream analysis template instructions

The platform provides commonly used Notebook templates for SeekMethyl downstream analysis. These templates are centrally available in the template library. Users can select and download the appropriate template based on their analysis purpose and complete the corresponding analysis in the Jupyter environment.


4.1 Download a template

In JupyterLab, click Operations in the lower-right corner and then select Template Library.

After entering the template library, set the type to Public and the product to SeekMethyl. Find the tutorial you need and click the download arrow in the lower-right corner.

After download, templates are saved by default to /home/{username}/workspace/project/{username}/. You can open the corresponding .ipynb file from this directory in the left file browser.

Templates are divided into Public and Private types:

Template typeDescription
PublicPublic templates. Users with access permission can view and download them.
PrivatePrivate templates. Only the creator can view and use them.

Image 4


4.2 Select a Kernel

Different tutorials depend on different runtime environments. After opening a Notebook, first select the recommended Kernel according to the tutorial overview table in Section 4.3.

Operation path:

Kernel → Change Kernel → select the recommended Kernel


4.3 Tutorial overview table

The tutorial files listed below correspond to the English templates in the notebooks/en/ directory.

Analysis categoryTutorial fileRecommended KernelStandard input sourceMain output
Doublet identificationscMethyl+RNA_Multi-omics_Doublet_Detection.ipynbSeekMethy_pyfiltered_feature_bc_matrix/, allcools_generate_datasets/{sample}.mcds/, split_bams/sample_doublet.txt, UMI distribution plot, methylation read distribution plot, doublet assessment plot
Basic integration analysisscMethyl+RNA_Multi-omics_Basic_Analysis.ipynbSeekMethy_pyfiltered_feature_bc_matrix/, allcools_generate_datasets/{sample}.mcds/adata_rna.h5ad, adata_met.h5ad, QC plots, UMAP plots
MOFA+ multimodal integrationscMethyl+RNA_Multi-omics_Integration_MOFA+.ipynbmuon_env(py)adata_rna.h5ad and adata_met.h5ad from the basic analysis outputMOFA+ latent factors and omics contribution results
WNN multimodal integrationscMethyl+RNA_Multi-omics_Integration_WNN.ipynbmuon_env(py)adata_rna.h5ad and adata_met.h5ad from the basic analysis outputWNN UMAP and integrated clustering results
Differential analysis and functional enrichmentscMethyl+RNA_Multi-omics_Differential_Analysis_Functional_Enrichment_Analysis.ipynbSeekMethy_pyadata_rna.h5ad, adata_met.h5ad, allcools_generate_datasets/{sample}.mcds/DEG, DMG, DMB, Venn plots, Circos plots, GO/KEGG enrichment plots
Between-group cell-type differential enrichmentscMethyl+RNA_Multi-omics_InterGroup_CellType_Differential_Enrichment_Analysis.ipynbSeekMethy_pyadata_rna.h5ad, adata_met.h5ad, allcools_generate_datasets/{sample}.mcds/, grouping informationBetween-group DEG, between-group DMG, volcano plots, Venn plots, Circos plots, GO/KEGG enrichment plots
MethSCAn differential methylation analysisscMethyl+RNA_Multi-omics_MethSCAn_Differential_Methylation_Analysis.ipynbcommon_rmethscan/compact_data/, cell grouping informationVMR, DMR, differential methylation region table
DMR functional enrichmentscMethyl+RNA_Multi-omics_DMR_Functional_Enrichment_Analysis.ipynbcommon_rDMR BED file generated by upstream analysisrGREAT annotation results and GO/KEGG enrichment results
DMR motif enrichmentscMethyl+RNA_Multi-omics_DMR_Motif_Enrichment_Analysis.ipynbcommon_rDMR/VMR BED file generated by upstream analysisHOMER motif enrichment results and candidate TFs
CNV copy number variation analysisscMethyl+RNA_Multi-omics_CNV_Analysis.ipynbSingleCell RcnvPreflight/copykit_{sample}_1Mb.rds, 500kb.rds, or 220kb.rdsCNV heatmap, tumor cell identification results, and clone grouping results

5. Custom environment creation and management

The platform provides commonly used Kernels required by SeekMethyl templates:

KernelMain use
SeekMethy_pyBasic methylation + RNA dual-omics analysis, differential analysis, and between-group analysis
common_rMethSCAn, DMR functional enrichment, and DMR motif analysis
singlecell_rCopyKit CNV analysis
muon_env(py)MOFA+ and WNN multimodal integration

In general, you do not need to create your own environment when using the template tutorials. A custom environment is recommended only when you need to install additional software packages, fix specific package versions, or run custom scripts.


5.1 Create a custom R environment

Example: create an R environment named DemoR.

bash
# 1. Create an R environment
micromamba create --prefix /jp_envs/envs_user/{UserId}/DemoR -y

# 2. Activate the environment
micromamba activate /jp_envs/envs_user/{UserId}/DemoR

# 3. Install the R kernel and common R packages
micromamba install -c conda-forge -c bioconda -c defaults r-base r-irkernel r-seurat -y

# 4. Start R
R

Run the following commands in the R interactive interface:

r
Sys.setenv(PATH = paste("/home/mambauser/bin:/home/mambauser/env/jupyter/bin", Sys.getenv("PATH"), sep = ":"))

IRkernel::installspec(
  name = "DemoR",
  displayname = "DemoR",
  prefix = "/jp_envs/kernels_user/{UserId}/"
)

q()

After returning to Terminal, run:

bash
jupyter kernelspec install /jp_envs/kernels_user/{UserId}/share/jupyter/kernels/demor --user

micromamba deactivate

Refresh the Jupyter page. You should then see DemoR in the Kernel list.


5.2 Delete a custom R environment

bash
jupyter-kernelspec remove demor

micromamba env remove --prefix /jp_envs/envs_user/{UserId}/DemoR

5.3 Create a custom Python environment

Example: create a Python environment named DemoPython.

bash
# 1. Create a Python environment
micromamba create --prefix /jp_envs/envs_user/{UserId}/DemoPython python=3.10 -y

# 2. Activate the environment
micromamba activate /jp_envs/envs_user/{UserId}/DemoPython

# 3. Install the Jupyter kernel and common Python packages
micromamba install -c conda-forge -c bioconda -c defaults ipykernel scanpy pandas numpy matplotlib -y

# 4. Install the Python Kernel
python -m ipykernel install \
  --name DemoPython \
  --display-name "DemoPython" \
  --prefix /jp_envs/kernels_user/{UserId}/

# 5. Register it to the current user's Jupyter
jupyter kernelspec install /jp_envs/kernels_user/{UserId}/share/jupyter/kernels/demopython --user

# 6. Exit the environment
micromamba deactivate

Refresh the Jupyter page. You should then see DemoPython in the Kernel list.


5.4 Delete a custom Python environment

bash
jupyter-kernelspec remove demopython

micromamba env remove --prefix /jp_envs/envs_user/{UserId}/DemoPython

5.5 Notes on custom environments

  1. Prefer platform-provided Kernels whenever possible.
  2. Do not modify package versions in public environments.
  3. Use independent names for custom environments to avoid overwriting existing environments.
  4. When installing additional software packages, record the installation commands for reproducibility.
  5. If dependency conflicts are severe, create a new environment instead of repeatedly overwriting packages in an existing environment.

6. FAQ

Q1: What should I do if I cannot find the /home/{username}/workspace/data/ directory?

First confirm whether pipeline data have been mounted:

Lower-right OperationsMount Pipeline Data

Then check in Terminal:

bash
ls -lh /home/{username}/workspace/data/

If you still cannot see the corresponding mount ID, remount the pipeline data, or confirm whether the current project has available SeekMethyl pipeline results that can be mounted.


Q2: Where are templates saved after download?

Templates are saved by default to:

bash
/home/{username}/workspace/project/{username}/

You can open the Notebook from this directory in the left file browser.


Q3: What should I do if a Notebook cannot be saved?

Confirm whether the Notebook is located in the personal project directory:

bash
/home/{username}/workspace/project/{username}/

If the Notebook is created in a read-only directory or a mounted data directory, a Permission denied error may occur.


Q4: What should I do if resources are insufficient?

If memory is insufficient, execution is too slow, or the task is interrupted, click Operations in the lower-right corner and select Reset Resources. Then choose a higher resource configuration and restart Jupyter.

Note: Resetting resources will terminate the current Jupyter instance and start a new one. Before doing this, save all notebooks, scripts, and important results. Unsaved content will be lost.


Q5: What should I do if the session is about to end?

Click Operations in the lower-right corner and select Extend Time to extend the Jupyter session time. This operation can be performed multiple times, and each extension is added to the current remaining time.

Also save notebooks and output results to the project directory in time to avoid losing unsaved content due to browser closure, session interruption, or instance restart.


7. Technical support and issue reporting

If you encounter a problem, provide the following information to help with troubleshooting:

  1. Project ID: {project_id}
  2. Project name: {project_name}
  3. Sample name: {sample_name}
  4. Name of the Notebook used
  5. Kernel used
  6. Current input path
  7. Error screenshot or complete error text
  8. Whether pipeline data have been mounted
  9. Resource configuration used: CPU / memory

After analysis is complete, it is recommended to release compute resources through Operations in the lower-right corner → Close Page.

0 comments·0 replies