SARTools : l'analyse différentielle pour tous

Un article court aujourd’hui pour pré­sen­ter SAR­Tools, un outil d’analyse dif­fé­ren­tielle de don­nées de RNA-seq.

Plus qu’un outil, SAR­Tools est plu­tôt un pipe­line sim­pli­fié pour trai­ter des don­nées d’analyses réa­li­sées dans un plan d’expérience assez basique.

En effet le cadre d’utilisation de SAR­Tools est volon­tai­re­ment limi­té aux plans d’expérience simples, à savoir des com­pa­rai­sons de deux (ou plus) conditions/​mutants avec au moins deux répli­cats par condi­tion. Cela dit, ce type de plan repré­sente la majo­ri­té des expé­riences réa­li­sées et per­met­tra de trai­ter une grande par­tie des don­nées de RNA-seq.

Le pré-requis, mal­gré tout, est que les dif­fé­rentes condi­tions ou muta­tions n’affectent qu’une faible pro­por­tion des gènes ou, si ce n’est pas le cas, qu’il y ait un bon équi­libre entre les gènes sur-expri­més et sous-expri­més.

SAR­Tools se base sur 2 packages R : DESeq2 et EdgeR. Ces outils déve­lop­pés spé­ci­fi­que­ment pour trai­ter les don­nées de trans­crip­to­mique vont cher­cher à esti­mer la varia­bi­li­té bio­lo­gique des dif­fé­rents échan­tillons afin de les nor­ma­li­ser et de cal­cu­ler des ratios moyen pour chaque gène. Ils vont éga­le­ment déter­mi­ner quels gènes sont dif­fé­ren­tiel­le­ment expri­més en cher­chant des valeurs de log2 de ratios signi­fi­ca­ti­ve­ment supé­rieures à 1 ou infé­rieures à ‑1 et en employant pour cela le test de Wald.

Pas­sons à la pra­tique.

Installation

Sar­tools est un package R. mais il n’est pas encore dis­po­nible sur le CRAN. Il faut l’installer depuis github. Le package est dis­po­nible à l’adresse sui­vante : https://​github​.com/​P​F​2​-​p​a​s​t​e​u​r​-​f​r​/​S​A​R​T​o​ols

La docu­men­ta­tion est bien faite et il suf­fit de suivre les ins­truc­tions pour l’installer. Il fau­dra d’abord ins­tal­ler depuis bio­con­duc­tor DESeq2 et EdgeR qui ser­vi­ront à l’analyse dif­fé­ren­tielle pro­pre­ment dite, puis quelques outils sup­plé­men­taires et enfin ins­tal­ler le package SAR­Tools. Cette der­nière étape génère sou­vent une erreur, due à la géné­ra­tion de la docu­men­ta­tion à l’aide de LaTeX. Quand ce der­nier n’est pas (ou mal) ins­tal­lé, l’installation de SAR­Tools s’interrompt avant la fin. Pour régler le pro­blème, sans ins­tal­ler LaTeX, il suf­fit de mettre l’option

build_vignettes=FALSE

et l’installation se ter­mine sans erreur.

Utilisation

Comme je le disais plus haut, la docu­men­ta­tion est bien faite et il y a un tuto­riel pour bien démar­rer.

Le tuto­riel décrit les fichiers néces­saires pour faire une ana­lyse, les fichiers et figures obte­nus et donne enfin deux exemples de script R selon que l’on sou­haite uti­li­ser les packages DESeq2 ou EdgeR.

Pre­mier point, les fichiers d’entrée. Pour chaque échan­tillon il va fal­loir four­nir un fichier de 2 colonnes (sans en-tête) avec dans la pre­mière colonne les iden­ti­fiants des gènes ou régions et dans la deuxième le nombre de reads de chaque gène. Il faut ensuite un fichier de desi­gn. Ce fichier doit com­por­ter au moins 3 colonnes, avec en-tête cette fois ci. La pre­mière colonne est l’identifiant de chaque échan­tillon, la deuxième le nom du fichier (sans le che­min d’accès) et la troi­sième le groupe auquel appar­tient l’échantillon. On doit donc avoir autant de ligne que d’échantillons à trai­ter.

Un exemple de fichier de Design pour SARTool avec les 3 colonnes nécéssaires
Un exemple de fichier de Desi­gn pour SAR­Tool avec les 3 colonnes néces­saires

 

Une fois que tout cela est prêt, on peut com­men­cer l’analyse. Il y a un cer­tain nombre de para­mètres à défi­nir. Ces para­mètres sont bien défi­nis dans le tuto­riel, donc je ne vais pas reve­nir des­sus ici. Je vais juste appor­ter une pré­ci­sion pour le para­mètre

featuresToRemove

. Ce para­mètre ne peut être nul sinon, cela génère une erreur. Par consé­quent, même s’il n’y a aucune fea­ture à reti­rer il va fal­loir don­ner une valeur à ce para­mètre. Il suf­fit d’indiquer un nom qui n’existe pas dans les tables d’entrée et le pro­blème est réglé.

Cela fait, il suf­fit d’utiliser les com­mandes don­nées dans les tem­plates de la fin du tuto­riel. Il y a d’abord des étapes de véri­fi­ca­tion des para­mètres, d’importation des don­nées et d’exploration des don­nées. Puis l’analyse dif­fé­ren­tielle est réa­li­sée par les com­mandes run.DESeq2 ou run.edgeR. Il faut choi­sir l’un ou l’autre. Ce sont deux méthodes très uti­li­sées actuel­le­ment. Il y a une légère pré­fé­rence dans la lit­té­ra­ture pour DESeq2 mais il n’y a pas vrai­ment de rai­son objec­tive, si ce n’est que DESeq2 donne en géné­ral plus de gènes dif­fé­ren­tiel­le­ment expri­més que edgeR.

Ensuite une ACP et un clus­te­ring sont réa­li­sés sur les échan­tillons nor­ma­li­sés par DESeq2 ou edgeR.

Exemple d'ACP produite par SARTools
Exemple d'ACP pro­duite par SAR­Tools

 

Les com­mandes sui­vantes vont ser­vir à expor­ter les fichiers de résul­tats, enre­gis­trer l’espace de tra­vail R et enfin pro­duire un fichier HTML résu­mant l’ensemble de l’analyse et conte­nant des figures telles que des MA-Plots ou des vol­ca­no-plots.

# summary of the analysis (boxplots, dispersions, diag size factors, export table, nDiffTotal, histograms, MA plot)
summaryResults independentFiltering=independentFiltering,
cooksCutoff=cooksCutoff, alpha=alpha)
# save image of the R session
save.image(file=paste0(projectName, ".RData"))
# generating HTML report
writeReport.DESeq2(target=target, counts=counts, out.DESeq2=out.DESeq2, summaryResults=summaryResults,
majSequences=majSequences, workDir=workDir, projectName=projectName, author=author,
targetFile=targetFile, rawDir=rawDir, featuresToRemove=featuresToRemove, varInt=varInt,
condRef=condRef, batch=batch, fitType=fitType, cooksCutoff=cooksCutoff,
independentFiltering=independentFiltering, alpha=alpha, pAdjustMethod=pAdjustMethod,
typeTrans=typeTrans, locfunc=locfunc, colors=colors)

Exemple de MA plot produit par SARTools
Exemple de MA-plot pro­duit par SAR­Tools
Exemple de Vulcano Plot produits par SARTools
Exemple de vol­ca­no-plot pro­duits par SAR­Tools

 

Le fichier HTML résu­mant l'ensemble est un des inté­rêts de SAR­Tools. Un exemple est dis­po­nible ici (Sta­tis­ti­cal report) Il per­met d’avoir une trace de tout ce qui a été fait, étape par étape. Une expli­ca­tion de chaque figure et des guides pour inter­pré­ter les résul­tats obser­vés. On retrouve éga­le­ment à la fin les réfé­rences des outils uti­li­sés et les ver­sions de chaque package R uti­li­sé. Ces infor­ma­tions sont essen­tielles quand on cherche à publier aujourd’hui et il est très appré­ciable de ne pas avoir à les cher­cher lorsqu’on est en train de fina­li­ser la rédac­tion d’un article.

SAR­Tools ne révo­lu­tionne pas l’analyse dif­fé­ren­tielle mais la sim­pli­fie suf­fi­sam­ment pour jus­ti­fier son exis­tence et mérite d’être tes­té.

Mer­ci aux relec­teurs ZaZo0oNiGo­PolYoann M. et Syl­vain P. pour leur temps et leurs conseils

Mer­ci éga­le­ment à Hugo Varet, auteur de package, pour son tra­vail et pour m'avoir fait gagner beau­coup de temps dans mes ana­lyses.



Pour continuer la lecture :


Commentaires

3 réponses à “SARTools : l'analyse différentielle pour tous”

      1. Mer­ci, j'étais pas­sée à côté

Laisser un commentaire