Skip to content
Tim Sanchez edited this page Dec 9, 2024 · 4 revisions

Explication du process

Voici le DAG produit par nextflow à l'issu de l'execution du workflow :

DAG_workflow

Processus qui sont faits en amont de l'analyse

Ce sont les process qui doivent être fait en amont avant d'analyser les séquences séparement.

  • Téléchargement du génome de référence :
curl -o reference.fasta "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nuccore&id=CP000253.1&rettype=fasta"

C'est le fichier qui contiendra le génome de référence sous le format fasta

  • Téléchargement de l'annotation de génome de référence :
curl -o reference.gff "https://www.ncbi.nlm.nih.gov/sviewer/viewer.cgi?db=nuccore&report=gff3&id=CP000253.1"

C'est le fichier qui contiendra tout le génome de référence sous le format gff

  • Création de l'index du génome : La commande est la suivante :
bowtie-build reference.fasta <nom_ref>

Dans ce cas là, on utilise les noms de fichier donnés dans la commande curl précédente, à l'issue de ce traitement on se retrouve avec 6 fichiers :

  • <nom_ref>.1.ebwt
  • <nom_ref>.2.ebwt
  • <nom_ref>.3.ebwt
  • <nom_ref>.4.ebwt
  • <nom_ref>.1.rev.ebwt
  • <nom_ref>.2.rev.ebwt

Pour comprendre ce qu'il se passe : Documentation bowtie Cela nous permet de produire une index du génome de référence qui est nécessaire à l'alignement.

  • Téléchargement de la base de donnée AureoWiki : lien entre les identifiants de gène et le nom des gènes usuels :
curl -X POST 'https://aureowiki.med.uni-greifswald.de/extensions/AureoDownload/download.php' \ 
--data \
'gsiStrainSelection%5B%5D=NCTC8325%3A0&gsiColumnSelection%5B%5D=pansymbol&includeLinesWithoutData=1&download_token_hidden_field=1733490093889&button=Download+as+Text+%28.tsv%29' \ 
-o NCTC8325.csv

C'est un fichier qui est utilisé pour produire la deuxième figure du papier en faisant le lien entre les identifiants des gènes contenus dans le fichier en sortie du pré-traitement et les noms usuels de protéines utilisés dans la littérature.


Description des étapes du process

1. Récupération des séquences grâce à sra-toolkit :

fasterq-dump --threads <nb-CPUS> --progress <SRAID>

Les séquences sont les SRAID sont les suivants :

  • Persistor 1 (GSM4145661) : SRR10379721
  • Persistor 2 (GSM4145662) : SRR10379722
  • Persistor 3 (GSM4145663) : SRR10379723
  • Control 1 (GSM4145664) : SRR10379724
  • Control 2 (GSM4145665) : SRR10379725
  • Control 3 (GSM4145666) : SRR10379726

Après ça on se retrouve avec les différents fichiers fastq : <SRAID>.fastq

Pour travailler plus facilement avec les fichiers on peut gzipper les fichiers -> La majorité des fonctions peuvent travailler avec ces fichiers.
Pour cela on peut mettre dans le process :

fasterq-dump --threads <nb-CPUs> --progress <SRAID>
gzip *.fastq

La compression des fichiers est efficace, par exemple pour SRR10379721 qui fait 10Gb. Sa compression donne un fichier d'environ 1 Gb. Cependant c'est une étape qui prend un temps considérable.

2. Trimming des données reçue avec cutadapt :

C'est un module qui permet de supprimer les read de mauvaise qualité et supprimer les adapters utilisés pour le séquençage (ici kit TrueSeq Illumina). On supprime également les reads qui sont trop petits (--length 25 qui est la longueur minimale).

Pour faire ça on utilise la commande :

cutadapt -e 0.1 -q 20 -O 1 -a !{params.adapter_seq} -o !{sraid}_trimmed.fastq.gz !{sample}

avec :

  • -e : Error-rate
  • -q : Quality score cutoff
  • -O: Minimum required adapter overlap 1
  • -a : La sequence d'adapter qui est utilisée → AGATCGGAAGAGC

À partir de ce traitement on obtient 1 fichier par fichier fastq : <SRAID>_trimmed.fastq.gz

En utilisant cutadapt la commande change, pour choisir les paramètres on utilise les mêmes settings que pour trim_galore (on les retrouve dans le report du trimming par trim_galore)

Pour avoir plus d'information sur l'utilisation de la commande voici la documentation

Avec la version 1.11 (celle du papier), la commande fonctionne bien (aussi bien avec les fichiers commpressés qu'avec ceux qui ne le sont pas).

3. Mapping avec bowtie

On utilise la commande suivante :

bowtie -p <CPU> -S <INDEX NAME> <FASTQ FILE>

NB : Les fichiers FastQ doivent être unzip. Si ce n'est pas le cas on peut les unzip en utilisant la commande.

bowtie -p <CPU> -S <INDEX NAME> <(gunzip -c < Compressed FASTQ FILE>)

On peut directement utiliser la commande suivante (dans le cas où les fichiers n'ont pas été zippé) en pipant le résultat de bowtie dans samtools sort

bowtie -p <NB CPU> -S <Nom index> <(gunzip -c <Fichier gz>) | samtools sort -@ <Nb CPU> > <NAME>.bam

La partie <NAME> correspond à un nom choisit par l'utilisateur

L'output final de ce process est un ensemble de fichiers bam qui contiennent les données de séquences alignées pour chaque SRAID. On a donc finalement: <NAME_SRAID>.bam

4. Counting des séquences avec featureCounts :

Une fois tous les fichiers bam produit on peut utiliser la dernière librairie avant de passer à l'analyse sur R. \ Celle ci repose sur featureCounts de la librairie subread. Elle permet de compter le nombre de reads alignés sur un gène donnée (obtenu grâce aux annotations de génome qu'on a téléchargé précédemment)

Le commande donnée dans les indications (cf. Aide du projet) et celles du papier est la suivante :

featureCounts -t gene -g ID -F GTF -s 1 -T <Nb-CPU> -a <annotation.gff> -o counts.txt <BAM Files>

<BAM files> correspond à tous les fichiers bam à la fois (== *.bam) \ Et l'output final est un fichier counts.txt qui contient les données nécessaires à l'analyse R.

5. Analyse R:

L'analyse statistique R repose sur l'utilisation du package DESeq2 qui nous permet de produire les MA-plots que l'on veut reproduire. Le script R est le script Plotting_script.R qui nous donne en sortie 2 fichiers :

  • MA_plot_1.pdf : C'est la figure de l'annexe qui représente l'ensemble des gènes sans se focaliser sur des pathways précis.

MA_plot_1.pdf

  • MA_plot_enhanced.pdf : C'est la figure 3B du papier qui représente l'expression différentielle des gènes dans certaines pathways.

MA_plot_enhanced.pdf

Explication de la structure des fichiers

FastQ Files que l'on télécharge depuis NCBI

Ce sont des fichiers qui contiennent les données de séquençage RNA-seq avec les scores de qualité associés. Une séquence se présente sous la forme:

@SRR10379721.1 1 length=65
CGGCAGACAAACAAAAGAATGGAATCAAAGCTAACTTCAAAATTCGCCACAACATTGAAGATGGA
+SRR10379721.1 1 length=65
FFFFFBF/FFFFFFFFFFFFFFFFFFFFFFF/FFFF/FFFFFFFFFBFFFFFFFFFFFFFBBBBB

La première partie représente la séquence, et la deuxième représente un chaine qui permet de qualifier la qualité des données.

Données <NOM>_trimmed.fastq obtenues après le trimming

C'est l'équivalent du fichier FastQ téléchargé depuis la base donnée mais avec les séquences avec une faible qualité (On la quantifie à partir de la probabilité que la séquence contient des erreurs). On supprime également les adapteurs utilisés pour le RNA-seq : Explication dans ce papier

Le génome de référence

C'est uniquement un fichier texte avec la séquence du génome de référence.

Index du génome de référence

Ce sont les fichier ebwt. Ils permettent de faciliter l'alignement des séquences des fichiers fastq avec bowtie.

Les fichiers bam

C'est le format compressé des fichiers sam qui veut dire : "Sequence alignement map". C'est tout simplement la localisation des séquences alignées

Le fichier d'output de featureCounts

C'est un fichier qui contient un matrice de l'association des alignements de chaque séquence avec le gène associé à la portion de génome sur lequel il est aligné. La localisation des gènes est obtenue à partir du fichier d'annotation du génome (téléchargé depuis NCBI).

Version des outils utilisée :

  • fasterq-dump : version peut importante mais celle utilisé est la suivante 3.0.3
  • cutadapt : 1.11
  • bowtie : 0.12.7
  • subread (Pour utiliser featurecounts) : 1.4.6-p3
  • R package : 3.4.1
  • DESeq2 : 1.16.1
  • EnrichmentBrowser : 2.6.3 (cf Rapport pour justifier l'utilisation d'une version différente de celle du papier)

References / Aide :

Lien doc et téléchargement