Pipeline Hi-C et nf-core

Développement d’un pipeline Hi-C au format nf-core
Hi-C
Nextflow
nf-core
ongoing
Authors

Mia Croiset

Laurent Modolo

Daniel Jost

Franck Mortreux

Published

December 20, 2022

Participation au développement du pipeline Hi-C sur nf-core et ajout de différents modules Hi-C à une version locale du pipeline

Objectifs

Participation au pipeline nf-core/hic

Le pipeline d’analyses Hi-C disponible sur nf-core est développé par Nicolas Servant et basé sur son pipeline HiC-Pro. Ce pipeline est actuellement entrain d’être basculé en DSL2 et a besoin d’être testé avant d’être released. Faire des tests et reporter les bugs éventuels à Nicolas est un premier objectif.

Mise à jour : La version 2.0.0 du pipeline nf-core/hic est déployée depuis fin janvier 2023.

Développement d’une version locale

Les pipelines publiés sur nf-core n’ont pas pour but de contenir tout les workflows disponibles dans la littérature et de se contenter des plus utilisés. Ainsi, on ne va pas rajouter toutes les méthodes d’analyses Hi-C dans le pipeline nf-core/hic. Cependant, on peut utiliser ce pipeline comme une base et développer une version locale avec les workflows utilisés au sein du LMBC.

Ajout de hicstuff

Un autre objectif va être d’intégrer hicstuff qui est utilisé par l’équipe Piazza. Pour cela il va falloir créer des modules Nextflow pour chaque étape de ce pipeline et les intégrer en tant que nouveau subworkflow au pipeline.

Etapes de l’ajout

Dans un premier temps, on va simplement ajouter le workflow hicstuff dans le pipeline “nfcore/hic”, à la place du workflow hicpro. Il faudra modulariser le workflow, et ajouter une option au pipeline pour choisir entre les workflows hicpro et hicstuff.

Dans un second temps, on pourra ajouter en option au workflow hicstuff de nouvelles fonctions de préparation pour des données particulières.

Mise à jour avril 2023 : Le workflow principal de hicstuff est en place en nextflow. Il est pour le moment encore séparé du workflow nf-core/hic.

Workflow hicstuff

Le workflow hicstuff est composé de différentes commandes :

  • convert Convert Hi-C data between different formats.
  • digest Digest genome into a list of fragments.
  • cutsite Preprocess fastq files by digesting reads at religation site.
  • distancelaw Analyse and plot distance law.
  • filter Filters Hi-C pairs to exclude spurious events.
  • iteralign Iteratively aligns reads to a reference genome.
  • missview Preview missing Hi-C bins in based on the genome and read length.
  • pipeline Hi-C pipeline to generate contact matrix from fastq files.
  • rebin Bin the matrix and regenerate files accordingly.
  • subsample Bootstrap subsampling of contacts from a Hi-C map.
  • view Visualize a Hi-C matrix.

La commande pipeline permet d’exécuter le workflow en entier. Mais cette commande est codée en une seule grande fonction python. Pour pouvoir l’exécuter en Nextflow, il y a 2 solutions :

  • Appeler le script python de cette fonction dans un module
  • Découper chaque étape de cette fonction en modules et en faire un subworkflow

Mise à jour avril 2023 : La fonction pipeline a été découpée en plusieurs modules et recomposée en un subworkflow “hicstuff”. Il ne contient pas encore toutes les options de filtres présentes dans la fonction pipeline. Il est prévu de rajouter des modules pour les fonctions rebin et peut-être convert.

Mise à jour des objectifs (avril 2023)
nf-core/hic

Dans le subworkflow hicpro, un filtre est effectué pour supprimer les duplicats de PCR. Cependant, c’est un filtre “simple” qui regarde les starts des reads et supprime les reads ayant le même start, en n’en gardant qu’un. Un nouvel objectif est d’ajouter une option pour que l’utilisateur puisse choisir entre ce filtre d’origine, et un nouveau module pour filtrer les duplicats de PCR. Ce module contiendrait la fonction MarkDuplicates de PICARD, avec l’option –remove_duplicates.

Nous rajoutons également un module afin de générer les images pour les matrices HiC générées par le pipeline. Nous utilisons la fonction HicPlotMatrix de HicExplorer. Ce module générera un plot HiC général et un plot avec l’option –perChromosome, afin de créer dans le même fichier un plot par chromosome.

Hicstuff

Les fonctions filter_events, filter_duplicates et distance_law de hicstuff pipeline doivent être rajoutées à la version nextflow en tant qu’options. Il y a aura également l’option de choisir le module PICARD pour filtrer les duplicats de PCR.

De nouveaux modules seront créés pour les fonctions rebin et convert, et ils pourront être intégrés directement à la suite du pipeline, avec des valeurs d’options par défauts définies dans le fichier de configuration. Cela permettra une plus grande automatisation, car la matrice sortie par la fonction pipeline est quasiment systématiquement rebinée par exemple.

Le module de création des images des matrices sera également intégré.

Ajout des outils de TADbit

Si les outils de TADbit ne sont pas intégrés à la version release sur nf-core du pipeline Hi-C, on pourra les intégrer dans notre pipeline local.

Dates

Intégration de hicstuff : début en janvier 2023

Tests de la version nf-core de Nicolas Servant : terminé

Intégration de TADbit : non décidé

Mises à jour : 5 avril 2023