📖 User Guide

MultiDMPcaller

A one-stop tool for detection and visualization of DMPs and DMRs, supporting three methylation contexts (CpG, CHG, CHH)

⚠️ Failed to connect to the server. Please ensure the backend server is running!
✅ Server connection is normal
Total CPU Cores: {{ state.serverLoad.cpu_cores }}
Max CPU Cores per Job: {{ state.serverLoad.max_processes_per_job || 4 }}
Max Concurrent: {{ state.serverLoad.max_concurrent }}
Running: {{ state.serverLoad.running_count }}
Queued: {{ state.serverLoad.queue_count }}
Allocated CPU Cores: {{ state.serverLoad.running_processes || 0 }}
Available CPU Cores: {{ state.serverLoad.available_processes ?? state.serverLoad.available_slots }}
Upload Limit: No fixed software-level cap
Result Retention: {{ state.serverLoad.result_retention_hours || 72 }} h

📋 Tool Description

This tool is designed for analyzing DNA methylation changes. By comparing methylome data between control and experimental groups, it identifies and visualizes Differentially Methylated Positions (DMPs) and Differentially Methylated Regions (DMRs).

Analysis Workflow:
1. Upload control and experimental group sample files. For example, valid input files can be obtained by simple processing of output files from the upstream analysis tool Bismark.
2. Set the number of replicates per group, organism type (e.g., plant, animal, other), and group names (e.g., wildtype, mut).
3. Perform Fisher's exact test and FDR correction
4. Identify significantly differentially methylated positions (DMPs) and regions (DMRs).
5. Generate visualization charts and detailed reports

File Format Requirements:
• File naming: Serial number-Group name.txt (e.g., 1-wt.txt, 2-wt.txt, 1-mut.txt, 2-mut.txt)
Supports ZIP files: Upload ZIP archives and they will be automatically extracted
Large files (>100MB): Automatically uploaded in chunks
• File content format: Chromosome ID, genomic position, methylated read count, unmethylated read count, methylation context

👉 View Detailed User Guide

🔬 DNA Methylation Differential Analysis

🔄 Restoring previous session... 🔬 Analysis in progress 📁 Session active ✨ Previous session restored ⏳ Creating session...
🔬 Job ID: {{ state.jobId }}

💡 Save this Job ID to query task status later, even after closing this page.

Parameter Settings

Advanced parameters for the current English MultiDMPcaller core

Recommended default setting for plant and animal methylomes: use the Recommended adaptive mode. This mode enables auto q-value thresholds, auto DMP/DMR voting thresholds, and the low-difference strict vote strategy; keeps both DMP and DMR MethDiff thresholds at 0; and runs both DMR detection and sliding-window plotting. For non-plant, non-animal species, we recommend the User-defined threshold module instead.

Threshold decision mode

Adaptive threshold modules

In adaptive mode, these options take priority over the corresponding user-defined thresholds.

User-defined thresholds

Decimal or fraction accepted. For example, 0.6667 means 2/3.

These values apply only in user-defined threshold mode. The default values are plant-oriented: CpG = 0.05, CHG = 0.035, and CHH = 0.045. For animal methylomes, we recommend a q-value threshold of approximately 0.035 for CpG, and 0.05 for both CHG and CHH. For methylomes from non-plant, non-animal species, we recommend a uniform q-value threshold of 0.05 across all three sequence contexts (CpG, CHG, CHH).

Other options

Minimum absolute site-level methylation difference for DMP support. Recommended default: 0.0. Values are in the 0-1 range, so 0.2 means 20%.
Minimum absolute regional difference calculated from aggregated methylated and unmethylated reads. Recommended default: 0.0.
For server stability, each submitted task is capped at 4 processes by the backend.

Control group samples

📁 Drag and drop files here, or click to select

💡 Supports .txt files and .zip archives (auto-extract) | Files >100MB auto-chunked upload

Download wt Sample Data
File Name Size Status Action
{{ f.displayName || f.file.name }} {{ formatFileSize(f.file.size) }} {{ getStatusText(f.status) }}
📦 Extracted {{ f.extractedFiles.length }} files
⚠️ {{ f.errorMsg }}

Experimental group samples

📁 Drag and drop files here, or click to select

💡 Supports .txt files and .zip archives (auto-extract) | Files >100MB auto-chunked upload

Download mut Sample Data
File Name Size Status Action
{{ f.displayName || f.file.name }} {{ formatFileSize(f.file.size) }} {{ getStatusText(f.status) }}
📦 Extracted {{ f.extractedFiles.length }} files
⚠️ {{ f.errorMsg }}

📊 Control group: {{ getUploadedCount('wt') }} / {{ state.n }} files uploaded | Experimental group: {{ getUploadedCount('mut') }} / {{ state.m }} files uploaded

After starting, you can use the Job ID shown above to query status and download results at the bottom of this page.

⚠️ {{ getSubmitBlockReason() }}

⏳ Task is queued

Position #{{ state.queuePosition }}

Server is busy, please wait patiently

{{ state.message }}
⏳ Current step is shown above. The task is still running.

📊 Visualization charts

Analysis result
❌ {{ state.errorMsg }}

🔍 Query Task Status by Job ID

Enter a Job ID to check the task status and download results. This is useful when you've closed the page and want to retrieve your results later.

❌ {{ queryError }}

✅ Task Completed 🔄 Task Running ⏳ Task Queued ❌ Task Failed 🚫 Task Cancelled ⏳ Task Cancelling... 📋 Task Status

Job ID: {{ queryJobId }}
Status: {{ queryResult.status }}
Message: {{ queryResult.message }}
Queue Position: #{{ queryResult.queue_position }}
Progress: {{ Math.floor(queryResult.progress) }}%
{{ Math.floor(queryResult.progress) }}%
📦 Download Results (ZIP)

📊 Result Images

Result
Auto-refreshing every 3 seconds...