Traductions de cette page:
Piste : bam_qual_analysis

Comment trouver les valeurs de qualité et en exploiter l'information

Comment trouver les valeurs de qualité et en exploiter l'information

Introduction

Comme mentionné ailleurs, les aligneurs de séquence pour RNASeq ont une manière très particulière de "calculer" la qualité des alignements obtenus… Il peut devenir nécessaire de voir la distribution des valeurs de qualité non seulement pour juger du résultat de l'alignement mais aussi pour connaitre la valeur extrême utilisée pour identifier les “bons” alignements.

Pour référence:

Type d'aligneur Valeur correspondant aux “bons” alignements
HISAT2 60 (depuis la version 2.0.5; 255 avant)
Tophat2 50
STAR 255

Protocole

  • En utilisant un fichier SAM ou BAM lu par samtools, capturez les valeurs de la 5ème colonne:
% samtools view un_fichier_sequences.bam | cut -f5 > un_fichier_sequences_qual.txt
  • Ce fichier aura autant de lignes que de séquences, avec une seule valeur sur chaque ligne. Le reste de la magie se fait via R. Donc, après avoir démarrer R, on crée un objet contenant nos données:
> data.r<-read.csv(file="un_fichier_sequences_qual.txt",header=FALSE)
  • On doit transformer cet objet en liste:
> data.l<-unlist(data.r)
  • On applique la magie de la méthode hist():
> hist(data.l,col="blue")
  • On remarque que la très grande majorité des lectures se retrouve dans la barre des 50 (exemple avec Tophat2):

  • On peut extraire des données descriptives de cet histogramme en interceptant les infos silencieusement créées par la méthode:
> hist.d<-hist(data.l)
> hist.d
$breaks
 [1]  0  2  4  6  8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44
[24] 46 48 50
 
$counts
 [1]  1188218  1077044        0        0        0        0        0
 [8]        0        0        0        0        0        0        0
[15]        0        0        0        0        0        0        0
[22]        0        0        0 34913044
 
$density
 [1] 0.01597999 0.01448485 0.00000000 0.00000000 0.00000000 0.00000000
 [7] 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
[13] 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
[19] 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
[25] 0.46953516
 
$mids
 [1]  1  3  5  7  9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45
[24] 47 49
 
$xname
[1] "data.l"
 
$equidist
[1] TRUE
 
attr(,"class")
[1] "histogram"
  • On peut remarquer qu'on observe que trois classes contenant des valeurs autre que 0: 0-1, 2-3 et 49-50. De plus, il est assez évident que le maximum est 50 ;-) Donc, c'est cette valeur à prendre pour filtrer!
fr/impilopedia/genex/rnaseq/align/bam_qual_analysis.txt · Dernière modification : 2021/05/29 15:35 de 127.0.0.1
CC Attribution-Share Alike 4.0 International Sauf mention contraire, le contenu de ce wiki est placé sous les termes de la licence suivante : CC Attribution-Share Alike 4.0 International