Faire correspondre et filtrer

Introduction à Bioconductor en R

Paula Andrea Martinez, PhD.

Data Scientist

Séquences en double

  • Les doublons de séquences biologiques existent dans la nature
  • Amplification lors de la préparation de la banque (PCR)
  • Séquençage de l'échantillon plus d'une fois

Supprimez les doublons ou au moins marquez-les

  • Séquençage du génome entier ou de l'exome

Marquez les doublons à l'aide d'un seuil

  • RNA-seq et ChIP-seq
Introduction à Bioconductor en R

srduplicated

library(ShortRead)

# Compter les doublons : TRUE est le nombre de doublons table(srduplicated(dfqsample))
FALSE  TRUE 
500   500
# Nettoyer les lectures des doublons x[fun(x)]
cleanReads <- mydReads[srduplicated(mydReads) == FALSE]

# Recompter les doublons table(srduplicated(cleanReads))
FALSE
500
Introduction à Bioconductor en R

Créer vos propres filtres

srFilter pour filtrer selon une condition x[fun(x)]

Exemple de filtre

library(ShortRead)

# Utiliser un filtre personnalisé pour enlever des lectures de fqsample # Ce filtre enlève les lectures plus courtes qu'un nombre minimal de bases readWidthCutOff <- srFilter(function(x) {width(x) >= minWidth}, name = "MinWidth")
minWidth <- 51
fqsample[readWidthCutOff(fqsample)]
Introduction à Bioconductor en R

nFilter

library(ShortRead)

# enregistrer votre filtre, .name est facultatif myFilter <- nFilter(threshold = 10, .name = "cleanNFilter")
# utiliser le filtre au moment de la lecture filtered <- readFastq(dirPath = "data", pattern = ".fastq", filter = myFilter) # vous ne récupérerez que les lectures ayant au plus 10 N filtered
Introduction à Bioconductor en R

idFilter et polynFilter

library(ShortRead)

# exemple de filtre sur id myFilterID <- idFilter(regex = ":3:1") # retournera seulement les id qui contiennent l'expression régulière # paramètres facultatifs : .name, fixed et exclude # utiliser le filtre au moment de la lecture filtered <- readFastq(dirPath = "data", pattern = ".fastq", filter = myFilterID)
# filtre pour enlever les régions poly-A myFilterPolyA <- polynFilter(threshold = 10, nuc = c("A")) # retournera les séquences ayant au maximum 10 A consécutifs
# utiliser le filtre pour le sous-échantillonnage filtered[myFilterPolyA(filtered)]
Introduction à Bioconductor en R

Passons à la pratique !

Introduction à Bioconductor en R

Preparing Video For Download...