Skip to content
 
 

Repository files navigation

MoDIFI: Multi-omics Differential Inference for Functional Interpretation

MoDIFI is a Nextflow DSL2 pipeline that integrates ATAC-seq, RNA-seq, Hi-C, and promoter annotations to calculate Multi-omics Differential Inference for Functional Interpretation (MoDIFI) scores. It supports modular workflows, containerized execution (Docker/Singularity), and flexible re-analysis with customizable sample pairings.

Features

  • End-to-end integration of ATAC-seq, RNA-seq, Hi-C, and promoter data
  • Modular workflow in Nextflow DSL2
  • Portable with Docker or Singularity containers
  • Automatic generation of SampleInfo.tsv and SamplePair.tsv
  • Re-analysis workflow recalMoDIFI to test new combinations without rerunning the full pipeline

Requirements

  • Nextflow ≥ 22.10
  • Java ≥ 11
  • Docker or Singularity/Apptainer (recommended for HPC)

Installation

Clone the repository:

git clone https://github.com/your-org/MoDIFI.git
cd MoDIFI

Directory Layout

MoDIFI/
├─ modifi.nf            # Main Nextflow pipeline
├─ modifi_example.config        # Configuration file
├─ modifi.sif         # Singularity container
├─ scripts/           # Pipeline scripts
│   ├─ *.py           # Python scripts
│   └─ *.R            # R scripts
├─ resources/
│   ├─ SampleInfo.tsv   # Auto-generated
│   ├─ SamplePair.tsv   # Auto-generated (editable for recalMoDIFI)
│   ├─ hg38_annotation.txt   # Gene annotation file required for running RNA-seq DESeq2 analysis.
│   ├─ Gnocchi.tsv      # prior information
│   └─ Promoter/Promoter.tsv     # External promoter annotations
│   └─ imr90/
│       ├─ atac_seq/
│       │   ├─ *.bed.gz or *.narrowPeak.gz
│       │   └─ bam/*.bam
│       ├─ hic/*.bedpe.gz      # Hi-C data
│       └─ rna_seq/*.genes.results or *.tsv files
└─ output/

Inputs includes

Update the input paths and parameters in dact.config .

ATAC-seq:

  • Peak files:
     ATACBEDFile= absolute path 
  • BAM files:
     ATACBAMFiles= absolute path 
  • Label for DESeq2 outputs:
     ATACSeq='ATACseq' 
  • Filter out low quality variants:
     atac_minQ=5 
  • The column used for merging:
     ATAC_Key_col='Region' 

RNA-seq:

  • Gene expression files:
     RNACountFile= absolute path  
  • Label for DESeq2 outputs:
     RRNASeq='RNAseq'   
  • The column of gene IDs for DEseq anlysis:
     RNA_Key_col='GeneID'   
  • The column of RNA counts for DEseq anlysis:
     RNA_quantification='expected_count'   

Hi-C:

  • HiC files:
     HiCLoopsFile= absolute path  

Others:

  • Gene annotation:
     RNA_ANN_File="${resources_dir}/hg38_annotation.txt" 
  • Prior information:
     prior_file="${resources_dir}/Gnocchi.tsv" 
  • Prior information:
 SamplePair = "${resources_dir}/SamplePair.tsv" 

Workflow Overview

  1. ATAC-seq peaks linked with promoters
  2. ATAC-promoter links intersected with Hi-C loops
  3. RNA-seq fold changes mapped to gene IDs in loops
  4. Normalization restricted to Hi-C regions
  5. MoDIFI calculation

Running the Pipeline

Run the full workflow:

 bash nextflow run modifi.nf -c modifi_example.config 

Outputs include:

  • ATAC_counts.txt, ATAC_ann.txt, ATAC_conds.txt
  • RNA_counts.txt, RNA_ann.txt, RNA_conds.txt
  • Comparison results: [Target]vs[Reference]_ATACseq.txt, [Target]vs[Reference]_RNAseq.txt, etc.
  • MoDIFI results: MoDIFI_all_[Target]vs[Reference].tsv, MoDIFI_loop_[Target]vs[Reference].tsv

Re-running with recalMoDIFI

After the full run, edit resources/SamplePair.tsv to define new Target–Reference comparisons.

Example:

Target Reference Check
GM12878 IMR90 PASS

Then run:

 nextflow run modifi.nf -c modifi_example.config -entry recalMoDIFI 

About

Multi-omics Differential Inference for Functional Interpretation (MoDIFI): A Statistical Framework to Prioritize Cell Lines for Neurodevelopmental Variants

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages