• Aucun résultat trouvé

Les fréquences alléliques dans les populations humaines des microsatellites utilisés en sciences Forensiques

N/A
N/A
Protected

Academic year: 2021

Partager "Les fréquences alléliques dans les populations humaines des microsatellites utilisés en sciences Forensiques"

Copied!
18
0
0

Texte intégral

(1)

humaines des microsatellites utilisés en sciences

forensiques

Jean R. Lobry

18 mars 2017

Cette fiche explore les données compilées par Brian Burritt du

dépar-tement de police à San Diego (CA, USA). On dispose par exemple

des fréquences alléliques de 9 loci hautement polymorphes dans 202

populations humaines.

Table des matières

1

Introduction

2

2

Importation et pré-traitement des données

2

2.1

Le locus D3S1358 . . . .

2

2.2

Le locus VWA

. . . .

5

2.3

Le locus FGA . . . .

6

2.4

Le locus D8S1179 . . . .

7

2.5

Le locus D21S11 . . . .

7

2.6

Le locus D18S51 . . . .

8

2.7

Le locus D5S818 . . . .

9

2.8

Le locus D13S317 . . . .

10

2.9

Le locus D7S820 . . . .

10

2.10 Le locus D16S539 . . . .

11

2.11 Le locus THO1 . . . .

12

2.12 Le locus TPOX . . . .

12

2.13 Le locus CSF1PO . . . .

13

2.14 Le locus PentaD

. . . .

14

2.15 Le locus PentaE

. . . .

14

2.16 Le locus D2S1338 . . . .

15

2.17 Le locus D19S433 . . . .

16

2.18 Sauvegarde . . . .

16

3

Vues d’ensemble

16

3.1

Restauration des données pré-traitées

. . . .

16

3.2

Nombre de populations par locus . . . .

16

(2)

1

Introduction

Les microsatellites représentent environ 3 % du génome humain. Ceux qui

sont utilisés en sciences forensiques ont été passés en revue par John M. Butler

[1]. Plus de 1000 articles publiés sont des études donnant une estimation des

fréquences alléliques dans une population humaine, plus ou moins bien définie.

Un effort considérable de compilation a été fait par Brian Burritt du

départe-ment de police à San Diego (CA, USA). Cette compilation est disponible sous

la forme d’un document tableur : OmniPop200.1.xls. Les données ci-après sont

extraites de ce document.

2

Importation et pré-traitement des données

2.1

Le locus D3S1358

Motif tétranucléotide de type (TCTR)

8−21

sur le chromosome 3.

read.table("https://pbil.univ-lyon1.fr/R/donnees/for7/D3S1358.csv", h=TRUE,sep="\t",dec=",", row.names = 1) -> D3 rownames(D3) <- abbreviate(rownames(D3))

dim(D3)

[1] 12 202

Nous avons donc 12 allèles différents dans 202 populations. Le nom des

allèles est une variable qualitative ordonnée donnant le nombre de répétitions

du microsatellite :

rownames(D3)

[1] "<12" "12,0" "13,0" "14,0" "15,0" "15,2" "16,0" "17,0" "17,1" "18,0" "19,0" [12] ">19"

Les modalités extrêmes correspondent aux valeurs hors-échelle, le nombre de

répétition n’est pas forcément entier en cas de délétion d’une ou plusieurs base

dans un motif.

La première surprise avec ces données est que la somme des fréquences

allé-liques ne fasse pas 1 :

x <- colSums(D3) dstx <- density(x)

plot(dstx, main = "Somme des fréquences alléliques") polycurve <- function(x, y, base.y = min(y), ...) {

polygon(x = c(min(x), x, max(x)), y = c(base.y, y, base.y), ...)

}

polycurve(dstx$x, dstx$y, col = "lightblue", border = "blue") rug(x)

abline(v=1, col="red",lwd=2)

version 3.3.1 (2016-06-21) – Page 2/18 – Compilé le 2017-03-18 URL :https://pbil.univ-lyon1.fr/R/pdf/for7.pdf

(3)

1.0 1.1 1.2 1.3 1.4 1.5 0 1 2 3 4 5 6 7

Somme des fréquences alléliques

N = 202 Bandwidth = 0.02055

Density

La raison est que les fréquences nulles ont été ici remplacées par une valeur

minimum égale à

5

2n

, où n est le nombre d’individus de la population. Par

exemple pour la première population :

D3[,1,drop=F] X...FBI.African.American..1. <12 0.01190 12,0 0.01190 13,0 0.01190 14,0 0.12143 15,0 0.29048 15,2 0.01190 16,0 0.30714 17,0 0.20000 17,1 0.01190 18,0 0.05476 19,0 0.01190 >19 0.01190 table(D3[,1]) 0.0119 0.05476 0.12143 0.2 0.29048 0.30714 7 1 1 1 1 1

On voit que la fréquence 0.0119 est présente 7 fois, c’est la fréquence

mi-nimum pour les allèles non encore observés. On doit donc pouvoir déduire le

nombre d’individus :

t2n <- function(x){ tx <- table(x) minf <- as.numeric(names(tx)[which.max(tx)]) res <- 5/(2*minf) if(!is.finite(res)) res <- NA return( res ) } t2n(D3[,1]) [1] 210.084 ntot <- apply(D3,2,t2n) sum(ntot) [1] 32591.45 summary(ntot)

Min. 1st Qu. Median Mean 3rd Qu. Max. 35.21 100.00 140.90 161.30 192.30 1389.00

(4)

dstn <- density(log10(ntot))

plot(dstn, main = "Nombre d'individus par population", xlab = "Log10(n)")

polycurve(dstn$x, dstn$y, col = "lightblue", border = "blue") rug(log10(ntot)) 1.5 2.0 2.5 3.0 0.0 0.5 1.0 1.5

Nombre d'individus par population

Log10(n)

Density

Il y a donc typiquement une centaine d’individus par population.

Représen-tons maintenant la distribution des fréquences alléliques :

tmp <- as.data.frame(t(D3))

boxplot(tmp, horizontal = TRUE, las = 1, col = "lightblue", main = "Fréquences alléliques brutes au locus D3S1358", xlab = "Distribution des fréquences dans 202 populations")

<12 12,0 13,0 14,0 15,0 15,2 16,0 17,0 17,1 18,0 19,0 >19 0.0 0.2 0.4 0.6

Fréquences alléliques brutes au locus D3S1358

Distribution des fréquences dans 202 populations

Ce graphique est trompeur à cause des fréquences plancher. Remplaçons les

fréquences plancher par des fréquences nulles :

D3 <- apply(D3,2,function(x) ifelse(x == as.numeric(names(which.max(table(x)))), 0,x)) tmp <- as.data.frame(t(D3))

version 3.3.1 (2016-06-21) – Page 4/18 – Compilé le 2017-03-18 URL:https://pbil.univ-lyon1.fr/R/pdf/for7.pdf

(5)

boxplot(tmp, horizontal = TRUE, las = 1, col = "lightblue", main = "Fréquences alléliques au locus D3S1358",

xlab = "Distribution des fréquences dans 202 populations") burritt <- list() burritt$D3S1358 <- tmp <12 12,0 13,0 14,0 15,0 15,2 16,0 17,0 17,1 18,0 19,0 >19 0.0 0.2 0.4 0.6

Fréquences alléliques au locus D3S1358

Distribution des fréquences dans 202 populations

On a donc 5 allèles fréquents à ce locus : 14,0 15,0 16,0 17,0 18,0.

2.2

Le locus VWA

Motif tétranucléotide de type (TCTR)10−25

sur le chromosome 12.

read.table("https://pbil.univ-lyon1.fr/R/donnees/for7/VWA.csv", h=TRUE,sep="\t",dec=",", row.names = 1) -> x rownames(x) <- abbreviate(rownames(x)) dim(x) [1] 12 202 rownames(x) [1] "11,0" "12,0" "13,0" "14,0" "15,0" "16,0" "17,0" "18,0" "19,0" "20,0" "21,0" [12] ">21" ntot <- apply(x,2,t2n) sum(ntot) [1] 32862.78 summary(ntot)

Min. 1st Qu. Median Mean 3rd Qu. Max. 35.21 100.00 140.90 162.70 192.30 1389.00

x <- apply(x,2,function(x) ifelse(x == as.numeric(names(which.max(table(x)))), 0,x)) tmp <- as.data.frame(t(x))

boxplot(tmp, horizontal = TRUE, las = 1, col = "lightblue", main = "Fréquences alléliques au locus VWA",

xlab = paste("Distribution des fréquences dans", nrow(tmp), "populations")) burritt$VWA <- tmp

(6)

11,0 12,0 13,0 14,0 15,0 16,0 17,0 18,0 19,0 20,0 21,0 >21 0.0 0.1 0.2 0.3 0.4 0.5

Fréquences alléliques au locus VWA

Distribution des fréquences dans 202 populations

2.3

Le locus FGA

read.table("https://pbil.univ-lyon1.fr/R/donnees/for7/FGA.csv", h=TRUE,sep="\t",dec=",", row.names = 1) -> x rownames(x) <- abbreviate(rownames(x))

dim(x)

[1] 32 202

x <- apply(x,2,function(x) ifelse(x == as.numeric(names(which.max(table(x)))), 0,x)) tmp <- as.data.frame(t(x))

boxplot(tmp, horizontal = TRUE, las = 1, col = "lightblue", main = "Fréquences alléliques au locus FGA",

xlab = paste("Distribution des fréquences dans", nrow(tmp), "populations")) burritt$FGA <- tmp <18 18,0 18,2 19,0 19,2 19,3 20,0 20,2 21,0 21,2 22,0 22,2 22,3 23,0 23,1 23,2 23,3 24,0 24,2 24,3 25,0 25,1 25,2 25,3 26,0 26,2 27,0 27,2 28,0 29,0 30,0>30 0.00 0.05 0.10 0.15 0.20 0.25 0.30

Fréquences alléliques au locus FGA

Distribution des fréquences dans 202 populations

version 3.3.1 (2016-06-21) – Page 6/18 – Compilé le 2017-03-18 URL:https://pbil.univ-lyon1.fr/R/pdf/for7.pdf

(7)

2.4

Le locus D8S1179

read.table("https://pbil.univ-lyon1.fr/R/donnees/for7/D8S1179.csv", h=TRUE,sep="\t",dec=",", row.names = 1) -> x rownames(x) <- abbreviate(rownames(x))

dim(x)

[1] 11 202

x <- apply(x,2,function(x) ifelse(x == as.numeric(names(which.max(table(x)))), 0,x)) tmp <- as.data.frame(t(x))

boxplot(tmp, horizontal = TRUE, las = 1, col = "lightblue", main = "Fréquences alléliques au locus D8S1179",

xlab = paste("Distribution des fréquences dans", nrow(tmp), "populations")) burritt$D8S1179 <- tmp <9 9,00 10,0 11,0 12,0 13,0 14,0 15,0 16,0 17,0 >17 0.0 0.1 0.2 0.3 0.4

Fréquences alléliques au locus D8S1179

Distribution des fréquences dans 202 populations

2.5

Le locus D21S11

read.table("https://pbil.univ-lyon1.fr/R/donnees/for7/D21S11.csv", h=TRUE,sep="\t",dec=",", row.names = 1) -> x rownames(x) <- abbreviate(rownames(x))

dim(x)

[1] 34 202

x <- apply(x,2,function(x) ifelse(x == as.numeric(names(which.max(table(x)))), 0,x)) tmp <- as.data.frame(t(x))

boxplot(tmp, horizontal = TRUE, las = 1, col = "lightblue", main = "Fréquences alléliques au locus D21S11",

xlab = paste("Distribution des fréquences dans", nrow(tmp), "populations")) burritt$D21S11 <- tmp

(8)

<24. 24,2 24,3 25,0 25,2 26,0 26,2 27,0 28,0 28,2 29,0 29,2 29,3 30,0 30,2 30,3 31,0 31,1 31,2 32,0 32,1 32,2 32,3 33,0 33,1 33,2 33,3 34,0 34,1 34,2 35,0 35,2 36,0>36 0.0 0.1 0.2 0.3 0.4 0.5

Fréquences alléliques au locus D21S11

Distribution des fréquences dans 202 populations

2.6

Le locus D18S51

Il y a une typo ici dans les données originelles.

read.table("https://pbil.univ-lyon1.fr/R/donnees/for7/D18S51.csv", h=TRUE,sep="\t",dec=",", row.names = 1) -> x rownames(x) <- abbreviate(rownames(x))

dim(x)

[1] 20 202

max(x)

[1] 6

which(x == max(x), arr = TRUE)

row col

14,2 7 12

x[7,12] <- NA

x <- apply(x,2,function(x) ifelse(x == as.numeric(names(which.max(table(x)))), 0,x)) tmp <- as.data.frame(t(x))

boxplot(tmp, horizontal = TRUE, las = 1, col = "lightblue", main = "Fréquences alléliques au locus D18S51",

xlab = paste("Distribution des fréquences dans", nrow(tmp), "populations")) burritt$D18S51 <- tmp

version 3.3.1 (2016-06-21) – Page 8/18 – Compilé le 2017-03-18 URL :https://pbil.univ-lyon1.fr/R/pdf/for7.pdf

(9)

<11 11,0 12,0 13,0 13,2 14,0 14,2 15,0 15,2 16,0 16,2 17,0 18,0 19,0 20,0 20,2 21,0 21,2 22,0 >22 0.0 0.1 0.2 0.3

Fréquences alléliques au locus D18S51

Distribution des fréquences dans 202 populations

2.7

Le locus D5S818

read.table("https://pbil.univ-lyon1.fr/R/donnees/for7/D5S818.csv", h=TRUE,sep="\t",dec=",", row.names = 1) -> x rownames(x) <- abbreviate(rownames(x))

dim(x)

[1] 12 202

x <- apply(x,2,function(x) ifelse(x == as.numeric(names(which.max(table(x)))), 0,x)) tmp <- as.data.frame(t(x))

boxplot(tmp, horizontal = TRUE, las = 1, col = "lightblue", main = "Fréquences alléliques au locus D5S818",

xlab = paste("Distribution des fréquences dans", nrow(tmp), "populations")) burritt$D5S818 <- tmp <7 7,00 8,00 9,00 9,20 10,0 11,0 12,0 13,0 14,0 15,0 >15 0.0 0.1 0.2 0.3 0.4 0.5 0.6

Fréquences alléliques au locus D5S818

(10)

2.8

Le locus D13S317

read.table("https://pbil.univ-lyon1.fr/R/donnees/for7/D13S317.csv", h=TRUE,sep="\t",dec=",", row.names = 1) -> x rownames(x) <- abbreviate(rownames(x))

dim(x)

[1] 12 202

x <- apply(x,2,function(x) ifelse(x == as.numeric(names(which.max(table(x)))), 0,x)) tmp <- as.data.frame(t(x))

boxplot(tmp, horizontal = TRUE, las = 1, col = "lightblue", main = "Fréquences alléliques au locus D13S317",

xlab = paste("Distribution des fréquences dans", nrow(tmp), "populations")) burritt$D13S317 <- tmp <8 8,00 8,10 9,00 10,0 11,0 12,0 13,0 13,3 14,0 15,0 >15 0.0 0.1 0.2 0.3 0.4 0.5

Fréquences alléliques au locus D13S317

Distribution des fréquences dans 202 populations

2.9

Le locus D7S820

read.table("https://pbil.univ-lyon1.fr/R/donnees/for7/D7S820.csv", h=TRUE,sep="\t",dec=",", row.names = 1) -> x rownames(x) <- abbreviate(rownames(x))

dim(x)

[1] 18 202

x <- apply(x,2,function(x) ifelse(x == as.numeric(names(which.max(table(x)))), 0,x)) tmp <- as.data.frame(t(x))

boxplot(tmp, horizontal = TRUE, las = 1, col = "lightblue", main = "Fréquences alléliques au locus D7S820",

xlab = paste("Distribution des fréquences dans", nrow(tmp), "populations")) burritt$D7S820 <- tmp

version 3.3.1 (2016-06-21) – Page 10/18 – Compilé le 2017-03-18 URL :https://pbil.univ-lyon1.fr/R/pdf/for7.pdf

(11)

6,00 6,30 7,00 8,00 8,10 8,20 9,00 9,10 9,30 10,0 10,1 10,3 11,0 11,3 12,0 13,0 14,0 >14 0.0 0.1 0.2 0.3 0.4 0.5

Fréquences alléliques au locus D7S820

Distribution des fréquences dans 202 populations

2.10

Le locus D16S539

read.table("https://pbil.univ-lyon1.fr/R/donnees/for7/D16S539.csv", h=TRUE,sep="\t",dec=",", row.names = 1) -> x rownames(x) <- abbreviate(rownames(x))

x <- x[,!apply(x,2,function(x) all(is.na(x)))] dim(x)

[1] 10 120

x <- apply(x,2,function(x) ifelse(x == as.numeric(names(which.max(table(x)))), 0,x)) tmp <- as.data.frame(t(x))

boxplot(tmp, horizontal = TRUE, las = 1, col = "lightblue", main = "Fréquences alléliques au locus D16S539",

xlab = paste("Distribution des fréquences dans", nrow(tmp), "populations")) burritt$D16S539 <- tmp <8 8,00 9,00 10,0 11,0 11,3 12,0 13,0 14,0 15,0 0.0 0.1 0.2 0.3 0.4 0.5 0.6

Fréquences alléliques au locus D16S539

(12)

2.11

Le locus THO1

read.table("https://pbil.univ-lyon1.fr/R/donnees/for7/THO1.csv", h=TRUE,sep="\t",dec=",", row.names = 1) -> x rownames(x) <- abbreviate(rownames(x))

x <- x[,!apply(x,2,function(x) all(is.na(x)))] dim(x)

[1] 10 137

x <- apply(x,2,function(x) ifelse(x == as.numeric(names(which.max(table(x)))), 0,x)) tmp <- as.data.frame(t(x))

boxplot(tmp, horizontal = TRUE, las = 1, col = "lightblue", main = "Fréquences alléliques au locus THO1",

xlab = paste("Distribution des fréquences dans", nrow(tmp), "populations")) burritt$THO1 <- tmp <5 5,00 6,00 7,00 8,00 8,30 9,00 9,30 10,0 >10 0.0 0.2 0.4 0.6 0.8

Fréquences alléliques au locus THO1

Distribution des fréquences dans 137 populations

2.12

Le locus TPOX

read.table("https://pbil.univ-lyon1.fr/R/donnees/for7/TPOX.csv", h=TRUE,sep="\t",dec=",", row.names = 1) -> x rownames(x) <- abbreviate(rownames(x))

x <- x[,!apply(x,2,function(x) all(is.na(x)))] dim(x)

[1] 10 136

x <- apply(x,2,function(x) ifelse(x == as.numeric(names(which.max(table(x)))), 0,x)) tmp <- as.data.frame(t(x))

boxplot(tmp, horizontal = TRUE, las = 1, col = "lightblue", main = "Fréquences alléliques au locus TPOX",

xlab = paste("Distribution des fréquences dans", nrow(tmp), "populations")) burritt$TPOX <- tmp

version 3.3.1 (2016-06-21) – Page 12/18 – Compilé le 2017-03-18 URL :https://pbil.univ-lyon1.fr/R/pdf/for7.pdf

(13)

<6 6,00 7,00 8,00 9,00 10,0 11,0 12,0 13,0 >13 0.0 0.1 0.2 0.3 0.4 0.5 0.6

Fréquences alléliques au locus TPOX

Distribution des fréquences dans 136 populations

2.13

Le locus CSF1PO

read.table("https://pbil.univ-lyon1.fr/R/donnees/for7/CSF1PO.csv", h=TRUE,sep="\t",dec=",", row.names = 1) -> x rownames(x) <- abbreviate(rownames(x))

x <- x[,!apply(x,2,function(x) all(is.na(x)))] dim(x)

[1] 14 136

x <- apply(x,2,function(x) ifelse(x == as.numeric(names(which.max(table(x)))), 0,x)) tmp <- as.data.frame(t(x))

boxplot(tmp, horizontal = TRUE, las = 1, col = "lightblue", main = "Fréquences alléliques au locus CSF1PO",

xlab = paste("Distribution des fréquences dans", nrow(tmp), "populations")) burritt$CSF1PO <- tmp <6 6,00 7,00 8,00 9,00 10,0 10,3 11,0 11,1 12,0 12,1 13,0 14,0 15,0 0.0 0.1 0.2 0.3 0.4 0.5

Fréquences alléliques au locus CSF1PO

(14)

2.14

Le locus PentaD

read.table("https://pbil.univ-lyon1.fr/R/donnees/for7/PentaD.csv", h=TRUE,sep="\t",dec=",", row.names = 1) -> x rownames(x) <- abbreviate(rownames(x))

x <- x[,!apply(x,2,function(x) all(is.na(x)))] dim(x)

[1] 19 32

x <- apply(x,2,function(x) ifelse(x == as.numeric(names(which.max(table(x)))), 0,x)) tmp <- as.data.frame(t(x))

boxplot(tmp, horizontal = TRUE, las = 1, col = "lightblue", main = "Fréquences alléliques au locus PentaD",

xlab = paste("Distribution des fréquences dans", nrow(tmp), "populations")) burritt$PentaD <- tmp 2,20 3,20 5,00 6,00 7,00 8,00 9,00 9,30 10,0 11,0 11,2 12,0 13,0 13,2 14,0 15,0 16,0 17,0 >17 0.00 0.05 0.10 0.15 0.20 0.25 0.30 0.35

Fréquences alléliques au locus PentaD

Distribution des fréquences dans 32 populations

2.15

Le locus PentaE

read.table("https://pbil.univ-lyon1.fr/R/donnees/for7/PentaE.csv", h=TRUE,sep="\t",dec=",", row.names = 1) -> x rownames(x) <- abbreviate(rownames(x))

x <- x[,!apply(x,2,function(x) all(is.na(x)))] dim(x)

[1] 23 41

x <- apply(x,2,function(x) ifelse(x == as.numeric(names(which.max(table(x)))), 0,x)) tmp <- as.data.frame(t(x))

boxplot(tmp, horizontal = TRUE, las = 1, col = "lightblue", main = "Fréquences alléliques au locus PentaE",

xlab = paste("Distribution des fréquences dans", nrow(tmp), "populations")) burritt$PentaE <- tmp

version 3.3.1 (2016-06-21) – Page 14/18 – Compilé le 2017-03-18 URL :https://pbil.univ-lyon1.fr/R/pdf/for7.pdf

(15)

5 6 7 8 9 10 11 12 13 13.214 15 16 17 18 19 20 20.321 22 23 24 25 0.00 0.05 0.10 0.15 0.20

Fréquences alléliques au locus PentaE

Distribution des fréquences dans 41 populations

2.16

Le locus D2S1338

read.table("https://pbil.univ-lyon1.fr/R/donnees/for7/D2S1338.csv", h=TRUE,sep="\t",dec=",", row.names = 1) -> x rownames(x) <- abbreviate(rownames(x))

x <- x[,!apply(x,2,function(x) all(is.na(x)))] dim(x)

[1] 14 13

x <- apply(x,2,function(x) ifelse(x == as.numeric(names(which.max(table(x)))), 0,x)) tmp <- as.data.frame(t(x))

boxplot(tmp, horizontal = TRUE, las = 1, col = "lightblue", main = "Fréquences alléliques au locus D2S1338",

xlab = paste("Distribution des fréquences dans", nrow(tmp), "populations")) burritt$D2S1338 <- tmp 15 16 17 18 19 20 21 22 23 24 25 26 27 28 0.00 0.05 0.10 0.15 0.20 0.25 0.30

Fréquences alléliques au locus D2S1338

(16)

2.17

Le locus D19S433

read.table("https://pbil.univ-lyon1.fr/R/donnees/for7/D19S433.csv", h=TRUE,sep="\t",dec=",", row.names = 1) -> x rownames(x) <- abbreviate(rownames(x))

x <- x[,!apply(x,2,function(x) all(is.na(x)))] dim(x)

[1] 17 13

x <- apply(x,2,function(x) ifelse(x == as.numeric(names(which.max(table(x)))), 0,x)) tmp <- as.data.frame(t(x))

boxplot(tmp, horizontal = TRUE, las = 1, col = "lightblue", main = "Fréquences alléliques au locus D19S433",

xlab = paste("Distribution des fréquences dans", nrow(tmp), "populations")) burritt$D19S433 <- tmp 9 10 11 11.2 12 12.2 13 13.2 14 14.2 15 15.2 16 16.2 17 17.2 18.2 0.0 0.1 0.2 0.3

Fréquences alléliques au locus D19S433

Distribution des fréquences dans 13 populations

2.18

Sauvegarde

save(burritt, file = "burritt.RData")

3

Vues d’ensemble

3.1

Restauration des données pré-traitées

load(url("https://pbil.univ-lyon1.fr/R/donnees/for7/burritt.RData"))

3.2

Nombre de populations par locus

par(mar = c(5,5,2,2)+0.1)

barplot(unlist(lapply(burritt,nrow)),horiz=T,las=1, main = "Populations documentées par locus",

xlab = "Nombre de populations")

version 3.3.1 (2016-06-21) – Page 16/18 – Compilé le 2017-03-18 URL :https://pbil.univ-lyon1.fr/R/pdf/for7.pdf

(17)

D3S1358 VWA FGA D8S1179 D21S11 D18S51 D5S818 D13S317 D7S820 D16S539 THO1 TPOX CSF1PO PentaD PentaE D2S1338 D19S433

Populations documentées par locus

Nombre de populations

0 50 100 150 200

3.3

Nombre d’allèles par locus

par(mar = c(5,5,2,2)+0.1)

apg <- unlist(lapply(burritt,ncol)) barplot(apg[order(apg)],horiz=T,las=1, main = "Nombre d'allèles par locus", xlab = "Nombre d'allèles")

D16S539 THO1 TPOX D8S1179 D3S1358 VWA D5S818 D13S317 CSF1PO D2S1338 D19S433 D7S820 PentaD D18S51 PentaE FGA D21S11

Nombre d'allèles par locus

Nombre d'allèles

0 5 10 15 20 25 30

3.4

Fréquences alléliques médianes

Le graphique donne pour les allèle, correspondant à un multiple entier du

motif de base et qui ne sont pas hors-échelle, la médiane des fréquences observées

au sein les populations en fonction de la taille du microsatellite :

(18)

par(mfrow = c(5,4), mar = c(2,1,2,1)+0.1) for(i in 1:length(burritt)){

x <- burritt[[i]]

suppressWarnings (xx <- as.numeric(sub(",",".",colnames(x)))) entiers <- floor(xx) == xx & !is.na(xx)

xval <- xx[entiers]

yval <- apply(x,2,median)[entiers] plot(xval, yval,

main = paste(names(burritt)[i],"(", nrow(x),"Pop. )") , yaxt = "n",

pch = ".")

for(i in min(xval):max(xval)) abline(v=i,col="grey") polycurve(xx[entiers], yval, col = "lightblue") } 12 14 16 18 D3S1358 ( 202 Pop. ) xval 12 14 16 18 20 VWA ( 202 Pop. ) xval yv al 18 22 26 30 FGA ( 202 Pop. ) xval yv al 10 12 14 16 D8S1179 ( 202 Pop. ) xval yv al 26 30 34 D21S11 ( 202 Pop. ) xval 12 16 20 D18S51 ( 202 Pop. ) xval yv al 8 10 12 14 D5S818 ( 202 Pop. ) xval yv al 8 9 11 13 15 D13S317 ( 202 Pop. ) xval yv al 6 8 10 12 14 D7S820 ( 202 Pop. ) xval 8 9 11 13 15 D16S539 ( 120 Pop. ) xval yv al 5 6 7 8 9 10 THO1 ( 137 Pop. ) xval yv al 6 7 8 9 11 13 TPOX ( 136 Pop. ) xval yv al 6 8 10 12 14 CSF1PO ( 136 Pop. ) xval 6 8 10 14 PentaD ( 32 Pop. ) xval yv al 5 10 15 20 25 PentaE ( 41 Pop. ) xval yv al 16 20 24 28 D2S1338 ( 13 Pop. ) xval yv al 10 12 14 16 D19S433 ( 13 Pop. )

Références

[1] J.M. Butler. Genetics and genomics of core short tandem repeat loci used

in human identity testing. Journal of Forensic Sciences, 51 :253–265, 2006.

version 3.3.1 (2016-06-21) – Page 18/18 – Compilé le 2017-03-18 URL :https://pbil.univ-lyon1.fr/R/pdf/for7.pdf

Références

Documents relatifs

Les 6 chiffres de son code sont écrits dans le même ordre que les lettres de son prénom.. Trouver le

computing) veulent rendre les objets technologiques de plus en plus « aimables » pour qu’ils soient plus faciles à utiliser. Sur le « moment robotique », Sherry Turkle pose

Ces fr´ equences all´ eliques sont tir´ ees dans une loi de Dirichlet dont les param` etres sont le produit des fr´ equences all´ eliques d’une population consensus (de la

on appelle X n la variable aléatoire qui compte le nombre de succès, c'est-à-dire le nombre d'individus ayant le caractère étudié.. On suppose que, pour tout entier n1, X n

(2013) dans une étude d’estimation des fréquences génotypiques de CSN3 chez des vaches de la race Rhodope Bulgare, montrent aussi une diversité génétique importante.. Ce

Le modèle d’Hardy-Weinberg : la constance des fréquences alléliques dans les populations au cours du

L’homozygote muté (TA) 7 /.(TA) 7 qui semble être en association avec une hyperbilirubinémie est observé avec des fréquences de 0.13 dans des populations caucasiennes et

Turkle met l’accent sur les nouvelles solitudes ainsi que sur les nouvelles intimités, que ce soit avec les robots dans la première partie de l’ouvrage, ou avec les machines