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