つぎのclass.Rを参考にして、遺伝子発現データに基づいた分類についてのケーススタディを説明します。
▼のついてソースコードをRコンソールにコピー&ペーストしながらすすめていきます。
GeneChip による腎臓ガン細胞遺伝子発現データは、kidpack データパッケージの eset データを使用します。
▼データの読み込み。
set.seed(32) library("kidpack") data(eset)
▼あとで利用するためにデータセットから一部取り除いておきます。
x <- t(exprs(eset)) y <- pData(phenoData(eset))$type y <- as.factor(y) y.train <- y[-c(1:10) ] x.train <- x[-c(1:10),]
▼eset の中身
eset
△実行結果
ExpressionSet (storageMode: lockedEnvironment) assayData: 4224 features, 74 samples element names: exprs phenoData sampleNames: 1, 2, ..., 87 (74 total) varLabels and varMetadata: lfdnr: NULL patientid: NULL ...: ... 22q: NULL (64 total) featureData featureNames: 1, 2, ..., 4224 (4224 total) varLabels and varMetadata: none experimentData: use 'experimentData(object)' Annotation [1] ""
▼eset は Biobase パッケージに含まれる exprSet クラスのデータです。
class(eset)
△実行結果
[1] "ExpressionSet" attr(,"package") [1] "Biobase"
eset$type
△実行結果
[1] "ccRCC" "ccRCC" "ccRCC" "ccRCC" "ccRCC" "pRCC" "ccRCC" [8] "pRCC" "chRCC" "ccRCC" "ccRCC" "ccRCC" "chRCC" "chRCC" [15] "ccRCC" "ccRCC" "ccRCC" "ccRCC" "ccRCC" "chRCC" "pRCC" [22] "ccRCC" "ccRCC" "ccRCC" "ccRCC" "ccRCC" "ccRCC" "ccRCC" [29] "pRCC" "ccRCC" "ccRCC" "ccRCC" "pRCC" "ccRCC" "chRCC" [36] "chRCC" "ccRCC" "ccRCC" "ccRCC" "chRCC" "pRCC" "pRCC" [43] "ccRCC" "pRCC" "pRCC" "ccRCC" "pRCC" "ccRCC" "ccRCC" [50] "pRCC" "ccRCC" "ccRCC" "ccRCC" "ccRCC" "ccRCC" "ccRCC" [57] "ccRCC" "ccRCC" "ccRCC" "ccRCC" "ccRCC" "ccRCC" "pRCC" [64] "ccRCC" "chRCC" "ccRCC" "ccRCC" "ccRCC" "ccRCC" "ccRCC" [71] "chRCC" "pRCC" "ccRCC" "ccRCC"
▼三種類の細胞型のそれぞれの数の分布をみます。
table(eset$type)
△実行結果
ccRCC chRCC pRCC 52 9 13
分類には、訓練データ、学習データと評価データの三種類のデータを用意する必要があります。それぞれを学習データと評価データは訓練データを 2:1 に分割して作成されます。
▼訓練データサイズ(t.size)、学習データサイズ(l.size)、評価データサイズ(v.size)
t.size <- length(y.train) l.size <- round((2/3) * t.size) # 2/3 が l.size へ v.size <- t.size - l.size # 1/3 が v.size へ
▼訓練データ(t.samp)、学習データ(l.samp)、評価データ(v.samp)
l.samp <- NULL K <- nlevels(y.train) props <- round(l.size / t.size * table(y.train)) props[1] <- l.size - sum(props[2:K]) for (k in 1:K) { y.num <- as.numeric(y.train) l.samp <- c(l.samp, sample(which(y.num == k))[1:props[k]]) } v.samp <- (1:t.size)[-l.samp]
データ集合をみる
▼学習集合(l.samp)を表示してみる。
table(y.train[l.samp])
△実行結果
ccRCC chRCC pRCC 31 5 7
▼評価集合(v.samp)を表示してみる。
table(y.train[v.samp])
△実行結果
ccRCC chRCC pRCC 14 3 4
このようにデータの比率は保存されています。
▼効果的な分類のために分類予測に使用する遺伝子を選別します。ここでは単純なF統計量(群間平方和と群内平方和の比)を用います。F統計量の上位200遺伝子を選択します。
library("multtest") yl.num <- as.numeric(y.train[l.samp]) - 1 xl.mtt <- t(x.train[l.samp,]) f.stat <- mt.teststat(xl.mtt, yl.num, test = "f") best.genes <- rev(order(f.stat))[1:200] x.learn <- x.train[l.samp, best.genes] x.valid <- x.train[v.samp, best.genes] y.learn <- y.train[l.samp] y.valid <- y.train[v.samp]
遺伝子発現のF統計量が大きいとは、群内での分散が小さくかつ群間での分散が大きい、すなわち、群(ここでは分類対象:細胞タイプ)に特徴的な遺伝子であるとしています。
分類には対角線形判別(DLDA)、k最近傍分類(kNN)、サポートベクターマシン(SVM)の三種類のアルゴリズムを試してみます。
▼対角線形判別(diagonal linear disriminant analysis: DLDA)の実行
library("sma") yl.num <- as.numeric(y.learn) yv.num <- as.numeric(y.valid) - 1 dlda.predic <- stat.diag.da(x.learn, yl.num, x.valid) dlda.error <- mean(dlda.predic$pred - 1 != yv.num)
▼k最近傍分類(kNN)の実行。kNNではパラメータ k を 1, 3, 5 に振って最適な分類を探索します。
library("class") knn.error <- numeric(3) for(k in c(1,3,5)) { i <- ((k - 1) / 2) + 1 knn.predic <- knn(x.learn, x.valid, y.learn, k = k) knn.error[i] <- mean(knn.predic != y.valid) }
▼サポートベクターマシン(SVM)の実行。SVM では二つのパラメータ(γと c)を振って最適なパラメータを探索します。パラメータγ(gamma)は -1, 0, 1に、パラメータc(cost) は 0, 1, 2 に振っています。実際のパラメータは,cost = 2^cost なので、{2^0, 2^1, 2^2}です。また、gamma = 2^gamma/ncol(x.learn) なので、{2^(-1)/200, 2^0/200, 2^1/200} です。
library("e1071") svm.error <- matrix(0, nrow = 3, ncol = 3) for(cost in 0:2) { for(gamma in (-1):1) { i <- cost + 1 j <- gamma + 2 svm.fit <- svm(x.learn, y.learn, cost = 2^cost, gamma = 2^gamma/ncol(x.learn)) svm.predic <- predict(svm.fit, newdata = x.valid) svm.error[i,j] <- mean(svm.predic != y.valid) } }
分類器 DLDA、kNN、SVM の誤分類率を表示
▼DLDAの誤分類率を表示
dlda.error
△実行結果
[1] 0
▼kNNの誤分類率を表示
knn.error
△実行結果
[1] 0.04761905 0.00000000 0.04761905
パラメータ k = 3 の時がもっとも正確な分類をおこなっています。
▼SVMの誤分類率を表示
svm.error
△実行結果
[,1] [,2] [,3] [1,] 0.04761905 0.04761905 0.0952381 [2,] 0.04761905 0.04761905 0.0952381 [3,] 0.04761905 0.04761905 0.0952381
行がパラメータc {0,1,2} で列がパラメータγ{-1,0,1}です。
c が {0,1} かつ γ{-1,0} の組み合わせが、SVM のなかでもっとも正確な分類をおこなっています。
ここで三つの分類法を比較しました。その結果、DLDA と k = 3 の kNN がもっとも正確な分類をおこなうことがわかりました。今後の解析(診断)ではどちらかの方法をつかうとよいといえます。
しかし、今回の訓練データの分割がたまたま DLDA や k = 3 の kNN に有利ダッタのかもしれません。このような偶然性への依存を減らすには訓練データの分割を複数回おこなうことが有効です。
上記のようなパラメータの最適化をおこなう場合は、データの分割を複数回ためす必要があります。ここでは、訓練データの50 回のランダム分割によるパラメータ最適化をみてみます。
▼
randiv.repr <- function(x, y) { t.size <- length(y) l.size <- round((2 / 3) * t.size) v.size <- t.size - l.size l.samp <- NULL K <- nlevels(y) props <- round(l.size / t.size * table(y)) props[1] <- l.size - sum(props[2:K]) for (k in 1:K) { y.num <- as.numeric(y) l.samp <- c(l.samp, sample(which(y.num == k))[1:props[k]]) } v.samp <- (1:t.size)[-l.samp] yl.num <- as.numeric(y[l.samp]) - 1 f.stat <- mt.teststat(t(x[l.samp,]), yl.num, test = "f") best.genes <- rev(order(f.stat))[1:200] x.learn <- x[l.samp, best.genes] x.valid <- x[v.samp, best.genes] y.learn <- y[l.samp] y.valid <- y[v.samp] yl.num <- as.numeric(y.learn) yv.num <- as.numeric(y.valid) - 1 dlda.predic <- stat.diag.da(x.learn, as.numeric(y.learn), x.valid) dlda.error <- mean(dlda.predic$pred-1 != yv.num) knn.error <- numeric(3) for(k in c(1,3,5)) { i <- ((k - 1) / 2) + 1 knn.predic <- knn(x.learn, x.valid, y.learn, k = k) knn.error[i] <- mean(knn.predic != y.valid) } svm.error <- matrix(0, nrow = 3, ncol = 3) for(cost in 0:2) { for(gamma in (-1):1) { i <- cost + 1 j <- gamma + 2 svm.fit <- svm(x.learn, y.learn, cost = 2^cost, gamma = 2^gamma / ncol(x.learn)) svm.predic <- predict(svm.fit, newdata = x.valid) svm.error[i,j] <- mean(svm.predic != y.valid) } } list(dlda = dlda.error, knn = knn.error, svm = svm.error, lsamp = l.samp, vsamp = v.samp) }
▼データの分割と分類を50回くり返す
runs <- 50 dlda.errors <- numeric(runs) knn.errors <- matrix(0, nrow = 3, ncol = runs) svm.errors <- array(0, dim = c(3, 3, runs)) vsamp <- matrix(0, runs, length(v.samp)) lsamp <- matrix(0, runs, length(l.samp)) for(r in 1:runs) { results <- randiv.repr(x.train, y.train) dlda.errors[ r] <- results$dlda knn.errors[, r] <- results$knn svm.errors[,,r] <- results$svm vsamp[r,] <- results$vsamp lsamp[r,] <- results$lsamp cat("This was run", r, "of", runs, "\n") }
△実行結果
This was run 1 of 50 This was run 2 of 50 This was run 3 of 50 This was run 4 of 50 This was run 5 of 50 This was run 6 of 50 This was run 7 of 50 This was run 8 of 50 This was run 9 of 50 This was run 10 of 50 This was run 11 of 50 This was run 12 of 50 This was run 13 of 50 This was run 14 of 50 This was run 15 of 50 This was run 16 of 50 This was run 17 of 50 This was run 18 of 50 This was run 19 of 50 This was run 20 of 50 This was run 21 of 50 This was run 22 of 50 This was run 23 of 50 This was run 24 of 50 This was run 25 of 50 This was run 26 of 50 This was run 27 of 50 This was run 28 of 50 This was run 29 of 50 This was run 30 of 50 This was run 31 of 50 This was run 32 of 50 This was run 33 of 50 This was run 34 of 50 This was run 35 of 50 This was run 36 of 50 This was run 37 of 50 This was run 38 of 50 This was run 39 of 50 This was run 40 of 50 This was run 41 of 50 This was run 42 of 50 This was run 43 of 50 This was run 44 of 50 This was run 45 of 50 This was run 46 of 50 This was run 47 of 50 This was run 48 of 50 This was run 49 of 50 This was run 50 of 50
DLDA、knn、svmにおける誤判別率の平均値を表示します。
▼DLDAの誤判別率の平均値を表示
mean(dlda.errors)
△実行結果
[1] 0.0467
▼kNNの誤判別率の平均値を表示
apply(knn.errors, 1, mean)
△実行結果
[1] 0.0590 0.0571 0.0600
apply(svm.errors, c(1,2), mean)
△実行結果
[,1] [,2] [,3] [1,] 0.0657 0.0810 0.138 [2,] 0.0610 0.0705 0.128 [3,] 0.0562 0.0695 0.128
## Loading the required package library("grid") ## Check the settings if (!exists("pushViewport")) pushViewport <- push.viewport if (!exists("popViewport")) popViewport <- pop.viewport ## The function for the barplots grid.barplot <- function(x, xlab = FALSE, main = FALSE, xscale = NULL, yticks, ylabels) { ## Customizing the data y <- table(x) y.alt <- table(x) x.alt <- x x <- sort(unique(x)) if(!is.null(xscale)) { index <- which(x > xscale[1] & x < xscale[2]) x <- x[index] y <- y[index] } ## Horizontal bars grid.segments(x0 = unit(x, "native"), y0 = unit(0, "native"), x1 = unit(x, "native"), y1 = unit(y.alt, "native")) ## Drawing the lines grid.lines(unit(x, "native"), unit(y, "native")) ## Plotting the mean brks <- as.numeric(attributes(table(x))$dimnames$x) start <- max(which(brks < mean(x.alt))) ende <- start + 1 xinc <- (mean(x.alt) - brks[start]) / (brks[ende] - brks[start]) yh <- ((y.alt[ende] - y.alt[start])*xinc) + (y.alt[start]) farbe <- gpar(col="red") grid.segments(x0 = unit(mean(x.alt), "native"), y0 = unit(0, "native"), x1 = unit(mean(x.alt), "native"), y1 = unit(yh, "native"), gp = farbe) ## Annotation if(xlab) grid.xaxis() grid.yaxis(main = FALSE, at = yticks, name = ylabels) grid.rect() } ## The function for the boxplots grid.boxplot <- function(x, xlab = FALSE, main = FALSE, ylab = NULL, xscale = NULL) { ## Generic boxplot x <- boxplot(x, plot = FALSE) farb <- gpar(col="red") ## Transformation to the grid-system grid.lines(unit(x$stats[1], "native"), unit(c(0.3, 0.7), "npc")) grid.lines(unit(x$stats[1:2],"native"), unit(0.5, "npc"), gp = gpar(lty = 2)) grid.rect(unit(x$stats[2], "native"), y = unit(0.5, "npc"), height = unit(0.6, "npc"), width = unit(diff(x$stats[2:3]), "native"), just = c("left", "centre")) grid.rect(unit(x$stats[3], "native"), y = unit(0.5, "npc"), height = unit(0.6, "npc"), width = unit(diff(x$stats[3:4]), "native"), just = c("left", "centre")) grid.lines(unit(x$stats[4:5],"native"), unit(0.5, "npc"), gp = gpar(lty = 2)) grid.lines(unit(x$stats[5], "native"), unit(c(0.3, 0.7), "npc")) grid.lines(unit(x$stats[3], "native"), unit(c(0.2, 0.8), "npc"), gp = farb) ## Outliers n <- length(x$out) if(n > 0) { if(!is.null(xscale)) index <- which(x$out > xscale[1] & x$out < xscale[2]) else index <- 1:n if(length(index) > 0) { grid.points(unit(x$out[index],"native"),unit(rep(0.5,length(index)), "npc"), size = unit(0.5, "char")) } } ## Annotation if(xlab) grid.xaxis() if(!is.null(ylab)) { grid.text(ylab, x = unit(0, "npc") - unit(0.5, "lines"), gp = gpar(fontface = "bold"), just = c("right", "centre")) } } ## Plotting the results grid.boxNbar <- function(daten, mname) { grid.newpage() pushViewport(plotViewport(c(4, 6, 4, 4))) #pushViewport(viewport(layout = lyt)) n <- ncol(daten) ## Calibration of the x-axis xsc <- range(daten) + c(-1, 1) * max(daten)/15 xsc2 <- xsc ## Calibration of the y-axis ysc <- c(0, max(sapply(apply(daten, 2, function(x) table(x)), max))) ysc <- ysc * 1.1 ylabels <- c("0", "10", "20", "30", "40", "50") ynumb <- floor((ysc[2] + 3) / 10) - 1 yticks <- (0:ynumb) * 10 ylabels <- ylabels[1:(ynumb + 1)] ## The plot contains 3 pieces lyt <- grid.layout(1, 3, widths = unit(c(0.5 - 0.03 / 2, 0.03, 0.5 - 0.03 / 2), "npc")) pushViewport(viewport(layout = lyt)) ## Left side: boxplots lyt <- grid.layout(n, 1, heights = unit(rep(1/n, n), "npc")) pushViewport(viewport(layout.pos.row = 1, layout.pos.col = 1, xsc = xsc)) pushViewport(viewport(layout = lyt)) grid.rect() for(i in n:1) { pushViewport(viewport(layout.pos.r = i, layout.pos.c = 1, xsc = xsc)) main <- (i < 2) grid.boxplot(daten[,i], m = main, xl = (i > (n - 1)), yl = mname[i], xsc = xsc) popViewport(1) } popViewport(1) grid.text("Boxplot", y = unit(-2.5, "lines")) ## Middle: an empty frame popViewport(1) #schrift <- gpar(fontface = "bold") #grid.text(namen[j], y = unit(1, "npc") + unit(2, "lines"), gp = schrift) ## Right side: density plots lyt <- grid.layout(n, 1, hei = unit(rep(1/n, n), "npc")) pushViewport(viewport(layout.pos.row = 1, layout.pos.col = 3, xscale = xsc)) pushViewport(viewport(layout = lyt)) grid.rect() for(i in n:1) { pushViewport(viewport(layout.pos.r = i, layout.pos.c = 1, xs = xsc2, ys = ysc)) main <- (i < 2) grid.barplot(daten[,i], main, xsc2, yticks, ylabels, xlab = (i > (n - 1))) popViewport(1) } popViewport(1) grid.text("Density", y = unit(-2.5, "lines")) popViewport(3) }
▼図を生成。
daten <- cbind(dlda.errors, knn.errors[2,], svm.errors[3,1,], svm.errors[2,1,]) mname <- c("DLDA", "kNN", "SVM1", "SVM2") grid.boxNbar(daten, mname)
△実行結果
kNN は k = 3 の場合、SVM1 は c = 2^2 かつ γ = 2^1/200、SVM2 は c = 2^2 かつ γ = 2^0/200の場合です。赤いバーは平均値を示しています。左のパネルが箱ヒゲ図で分類精度の分布を表していて、DLDA の分類精度がほかのものよりよいことが読み取れる。右のパネルでは密度分布図で分類精度の分布を表している。こちらでも同様である。
補足:図をファイルとして保存する場合は、pdf() と dev.off() を利用します。
pdf(file = 'box_and_barplot.pdf') grid.boxNbar(daten, mname) dev.off()
はじめにデータから取り除いていた 10 個のサンプルに対しての細胞型の予測をおこないます。
▼DLDA による予測を実行
test <- (1:10) train <- (1:length(eset$type))[-test] # needed! trEset <- eset[,train] library("MLInterfaces") yt.num <- as.numeric(factor(trEset$type)) - 1 xt.mtt <- exprs(trEset) f.stat <- mt.teststat(xt.mtt, yt.num, test = "f") best.genes <- rev(order(f.stat))[1:200] selEset <- eset[best.genes,] dlda.predic <- stat.diag.daB(selEset, "type", train) dlda.predic@RObject$pred - 1
△実行結果
[1] 0 0 0 0 0 2 0 2 1 0
confuMat(dlda.predic)
△実行結果
predicted given 1 2 3 ccRCC 7 0 0 chRCC 0 1 0 pRCC 0 0 2
ここでは10個すべてのサンプルで正しい細胞型を予測しました。正しく予測した場合、対角成分に数字がならびます。対角成分以外に数字がある場合は誤分類(偽陽性もしくは偽陰性)の数を示しています。
ここでは、遺伝子発現データから細胞を分類予測する研究をみました。
このような解析はあたらしい診断、分類や予測方法の開発でもちいられます。
Bioconductor では数多くの分類法が利用できます。
Bioconductor には遺伝子発現データのサンプルデータが豊富にあります。
複雑なことをするにはそれなりに長いプログラムが必要です。
<a href="http://googlee.te/">bbcode</a>
<a href="http://googlee.te/">html</a>
http://googlee.te/ simple
<a href=http://erectiledysfunctionpillsntx.com/>erectile pills</a>
is erectile dysfunction psychological
<a href="http://erectiledysfunctionpillsntx.com/">best erectile pills</a>
<a href=http://edpils-gg.com/>best erectile dysfunction medication</a>
erectile pillole
<a href="http://edpils-gg.com/">erectile pills canada</a>
<a href=http://eddrugsgeneric.com/#>new drugs for ed</a>
when does erectile dysfunction happen
<a href="http://eddrugsgeneric.com/#">buy erectile dysfunction pills online</a>
erectile help <a href="http://dc-shuttle.com/">buy erectile dysfunction medications online</a> http://dc-shuttle.com/
<a href=http://edpilsmystery.com/>ed drugs</a>
erectile shots
<a href="http://edpilsmystery.com/">erectile dysfunction medications</a>
<a href="http://erectiledysfunctionlq.com/">buy erectile dysfunction pills online</a>
youth erectile dysfunction
<a href="http://erectiledysfunctionlq.com/">erectile pills over the counter</a>
<a href="http://options-binary-platform-try-best.pw/trade-secret-australia-return-policy-1260.php#">autotrader vans west midlands</a>
discount brokerage promotions
<a href=http://options-try-best-platform-binary.pw/binary-option-wikihow-3090.php>der handel binaroperationen 60220</a>
http://toperectiledysfunctionpills.com/ - best erectile pills
erectile pill sponsored by doctor oz
<a href="http://toperectiledysfunctionpills.com/">best drugs for ed</a>
<a href="http://mylevitraok.com">levitra prices</a>
soldado de levitra wikipedia
<a href=http://myvardenafilok.com#vardenafil+20mg>levitra 10 mg prezzo</a>
<a href="http://myvardenafilok.com">levitra 10 mg prezzo</a>
cialis generic levitra viagra php
<a href=http://levitra-gg.com#levitra+coupon>levitra 20 mg</a>
<a href="http://myvardenafilok.com">levitra coupon</a>
levitra 20mg preis deutschland alles
<a href=http://myvardenafilok.com#generic+levitra>levitra online</a>
<a href="http://myvardenafilok.com">levitra 10 mg prezzo</a>
kas geriau cialis ar levitra vs cialis
<a href=http://myvardenafilok.com#vardenafil+20mg>vardenafil 20mg</a>
п»ї<a href="http://jvrimages.com/">cialis 20 mg</a>
generic for cialiscialis dosage
http://jvrimages.com/#cialis+official+site
<a href="http://mylevitraok.com">levitra 10 mg prezzo</a>
generico levitra orosolubile significato
<a href=http://myvardenafilok.com#vardenafil+20mg>buy levitra</a>
<a href="http://myvardenafilok.com">buy levitra</a>
buy levitra on line
<a href=http://levitra-gg.com#levitra+20mg>levitra coupon</a>
<a href="http://myvardenafilok.com">levitra rezeptfrei deutschland</a>
levitra very cheap
<a href=http://levitra-gg.com#levitra+prices>levitra online</a>
<a href="http://levitra-gg.com">levitra 20mg</a>
levitra falcons score
<a href=http://mylevitraok.com#levitra+10+mg+prezzo>levitra online</a>
<a href="http://myvardenafilok.com">levitra 10 mg prezzo</a>
ketoconazole 20 mg generic levitra
<a href=http://levitra-gg.com#levitra+coupon>levitra 20mg</a>
<a href="http://levitra-gg.com">levitra 20 mg bayer prezzo</a>
viagra cialis ou levitra qual o melhor investimento
<a href=http://myvardenafilok.com#generic+levitra>levitra online</a>
<a href="http://mylevitraok.com">levitra online</a>
baixaki playback levitra flavio canto
<a href=http://mylevitraok.com#levitra+20+mg>vardenafil 20mg</a>
Truly a lot of terrific material!
<a href="http://cialispaxl.com/">generic cialis</a>
viagra and cialis price comparison
<a href="http://cialispaxl.com/">cialis</a>
cialis dosing options
http://cialispaxl.com/
cialis dose maximale
<a href="http://viagrapipls.com/">generic viagra</a>
compare price of viagra cialis and levitra
<a href="http://viagrapipls.com/">viagra generic</a>
como se debe tomar un viagra
http://viagrapipls.com/
date for generic viagra
<a href="http://cialisgrudj.com/">cialis generic</a>
cialis professional 20 mg
<a href="http://cialisgrudj.com/">generic cialis online</a>
long term side effects of cialis
http://cialisgrudj.com/
side effects of viagra and cialis
<a href="http://cialispaxl.com/">buy cialis</a>
buy generic cialis online in canada
<a href="http://cialispaxl.com/">buy cialis online</a>
cialis generic 2018 expiration patent
http://cialispaxl.com/
main ingredient in cialis
<a href="http://viagrapipls.com/">buy viagra online</a>
viagra dosage instructions
<a href="http://viagrapipls.com/">generic viagra</a>
cost comparison viagra levitra cialis
http://viagrapipls.com/
compare cialis and viagra side effects
<a href="http://viagrapipls.com/">generic viagra</a>
buy cialis viagra online
<a href="http://viagrapipls.com/">generic viagra online</a>
viagra price vs cialis
http://viagrapipls.com/
cost of generic viagra in india
<a href="http://cialisgrudj.com/">cialis generic</a>
preГ§o cialis generico brasil
<a href="http://cialisgrudj.com/">generic cialis</a>
cialis dosagem diaria
http://cialisgrudj.com/
cvs pharmacy cialis cost
<a href="http://cialispaxl.com/">cialis generic</a>
cialis side effects dangers oral
<a href="http://cialispaxl.com/">buy cialis online</a>
cialis 5mg price walgreens
http://cialispaxl.com/
acquisto cialis generico in italia
<a href="http://viagrapipls.com/">buy viagra online</a>
generic viagra prices at walgreens
<a href="http://viagrapipls.com/">viagra</a>
price comparison viagra cialis levitra
http://viagrapipls.com/
2016 viagra commercial actress
<a href="http://cialispaxl.com/">buy generic cialis online</a>
cialis generico precio espaГ±a
<a href="http://cialispaxl.com/">generic cialis</a>
effectiveness of cialis vs viagra vs levitra reviews
http://cialispaxl.com/
levitra viagra cialis cost comparison
<a href="http://viagrapipls.com/">buy viagra online</a>
viagra effects on the liver
<a href="http://viagrapipls.com/">buy viagra</a>
viagra maximum daily dosage
http://viagrapipls.com/
viagra going generic date wikipedia
<a href="http://cialispaxl.com/">cialis</a>
cialis going generic date
<a href="http://cialispaxl.com/">buy generic cialis</a>
generic cialis release date
http://cialispaxl.com/
cialis retail price at cvs
<a href="http://viagrapipls.com/">viagra generic</a>
viagra professional 100mg ft myers florida
<a href="http://viagrapipls.com/">buy viagra</a>
cialis vs viagra cost comparison
http://viagrapipls.com/
precisa ter receita para comprar viagra
<a href="http://cialisgrudj.com/">generic cialis</a>
dosage for 20mg cialis
<a href="http://cialisgrudj.com/">generic cialis</a>
cialis price walmart pharmacy
http://cialisgrudj.com/
cialis professional dosage
<a href="http://cialispaxl.com/">cialis</a>
generic cialis safety
<a href="http://cialispaxl.com/">buy generic cialis online</a>
cialis generico 5 mg preГ§o
http://cialispaxl.com/
buy cheap viagra and cialis
<a href="http://viagrapipls.com/">buy viagra online</a>
viagra dosage chart
<a href="http://viagrapipls.com/">generic viagra</a>
female viagra pills
http://viagrapipls.com/
viagra super active 150mg for sale
<a href="http://cialispaxl.com/">buy cialis online</a>
onde comprar cialis generico no brasil
<a href="http://cialispaxl.com/">buy generic cialis</a>
cialis 5mg dosage
http://cialispaxl.com/
cialis price comparison walmart
<a href="http://viagrapipls.com/">buy viagra online</a>
viagra vs cialis price in india
<a href="http://viagrapipls.com/">buy viagra online</a>
viagra commercial football actors
http://viagrapipls.com/
viagra professional 100mg pills
<a href="http://cialispaxl.com/">buy generic cialis online</a>
viagra cialis levitra generici
<a href="http://cialispaxl.com/">buy generic cialis online</a>
cialis for daily use side effects
http://cialispaxl.com/
best generic cialis prices
<a href="http://cialisgrudj.com/">buy generic cialis</a>
precio cialis generico en farmacias
<a href="http://cialisgrudj.com/">buy generic cialis</a>
buy generic viagra cialis levitra
http://cialisgrudj.com/
physician samples of cialis
<a href="http://cialispaxl.com/">buy cialis</a>
cialis 20 mg vs 5mg daily
<a href="http://cialispaxl.com/">buy generic cialis</a>
generic cialis available in us
http://cialispaxl.com/
cialis side effects vs viagra
<a href="http://viagrapipls.com/">viagra generic</a>
best price viagra cialis
<a href="http://viagrapipls.com/">buy generic viagra online</a>
viagra dose riddim
http://viagrapipls.com/
female viagra pill review
<a href="http://cialispaxl.com/">buy generic cialis online</a>
levitra vs cialis cost
<a href="http://cialispaxl.com/">buy cialis online</a>
cialis vs viagra vs levitra reddit
http://cialispaxl.com/
generic cialis available in us
<a href="http://viagrapipls.com/">buy viagra</a>
cialis dose recommendations vs viagra
<a href="http://viagrapipls.com/">buy generic viagra</a>
viagra tablet price in india
http://viagrapipls.com/
dosage for viagra in dogs
<a href=http://edpils-gg.com/>erectile dysfunction medications</a>
buy erectile dysfunction pills online india
<a href="http://edpils-gg.com/">erectile pills without a doctor prescription</a>
<a href="http://cialispaxl.com/">buy cialis</a>
cialis with dapoxetine review
<a href="http://cialispaxl.com/">generic cialis online</a>
cialis side effects vision impairment
http://cialispaxl.com/
cialis super force dapoxetine review
<a href="http://viagrapipls.com/">buy viagra online</a>
what is generic viagra safe
<a href="http://viagrapipls.com/">buy generic viagra</a>
female viagra spoof commercial
http://viagrapipls.com/
viagra professional vs 200 mg viagra
<a href="http://cialispaxl.com/">cialis generic</a>
viagra vs cialis dose
<a href="http://cialispaxl.com/">buy generic cialis</a>
generic cialis capsules
http://cialispaxl.com/
cialis side effects dangers or levitra vs cialis vs
<a href="http://cialispaxl.com/">cialis generic</a>
once daily use generic cialis
<a href="http://cialispaxl.com/">generic cialis online</a>
cialis vs viagra
http://cialispaxl.com/
cialis soft 20mg
<a href="http://viagrapipls.com/">generic viagra</a>
viagra generic walmart cost
<a href="http://viagrapipls.com/">generic viagra</a>
prices for viagra at walmart
http://viagrapipls.com/
generic viagra soft tabs 100mg
<a href="http://cialispaxl.com/">cialis</a>
cialis 5 mg coupon lilly
<a href="http://cialispaxl.com/">buy cialis</a>
cialis super active plus
http://cialispaxl.com/
dosage strengths of cialis
<a href="http://cialisgrudj.com/">generic cialis online</a>
comprar cialis generico no brasil
<a href="http://cialisgrudj.com/">cialis</a>
cialis commercial black woman
http://cialisgrudj.com/
levitra cialis viagra comparison
<a href="http://viagrapipls.com/">buy viagra online</a>
cialis dose vs viagra dose
<a href="http://viagrapipls.com/">buy generic viagra online</a>
female viagra pills name in india
http://viagrapipls.com/
pfizer brand viagra 100mg sales
<a href="http://viagrapipls.com/">buy viagra online</a>
maximum daily dosage of viagra
<a href="http://viagrapipls.com/">buy viagra</a>
viagra generico preГ§o rj
http://viagrapipls.com/
cialis generic levitra viagra
<a href="http://cialispaxl.com/">buy cialis online</a>
cialis 5mg best price
<a href="http://cialispaxl.com/">buy cialis</a>
price comparison viagra and cialis
http://cialispaxl.com/
cialis daily use side effects
<a href="http://cialisgrudj.com/">generic cialis</a>
price of cialis and viagra
<a href="http://cialisgrudj.com/">cialis generic</a>
cialis generic availability
http://cialisgrudj.com/
cialis dosage information
<a href="http://cialispaxl.com/">buy cialis</a>
cialis price at walmart pharmacy
<a href="http://cialispaxl.com/">cialis</a>
buy generic viagra and cialis online canada
http://cialispaxl.com/
cialis coupon rite aid
<a href="http://viagrapipls.com/">generic viagra online</a>
viagra commercial actress asian
<a href="http://viagrapipls.com/">buy generic viagra online</a>
cost of viagra cialis and levitra
http://viagrapipls.com/
effects of viagra on females
Buy Cheap Cialisbuy cialis online <a href="http://chineseteacrafts.com/">Buy Generic Cialis Online Without Prescription</a>
<a href="http://cialispaxl.com/">cialis</a>
cialis 5 mg daily side effects
<a href="http://cialispaxl.com/">cialis generic</a>
generic viagra cialis levitra
http://cialispaxl.com/
viagra cialis cost
<a href="http://viagrapipls.com/">buy generic viagra</a>
viagra levitra cost comparison
<a href="http://viagrapipls.com/">buy viagra online</a>
cheap viagra in usa
http://viagrapipls.com/
generic viagra super active reviews
<a href="http://cialisgrudj.com/">generic cialis online</a>
effectiveness of cialis vs viagra vs levitra alcohol
<a href="http://cialisgrudj.com/">buy generic cialis online</a>
walmart pharmacy cialis price check
http://cialisgrudj.com/
buy cialis in usa online
<a href="http://cialispaxl.com/">cialis generic</a>
cialis dosage strengths and weaknesses
<a href="http://cialispaxl.com/">buy generic cialis</a>
cialis side effects red eyes
http://cialispaxl.com/
cialis printable coupon 2017
<a href="http://cialispaxl.com/">buy generic cialis</a>
cialis coupons for walgreens pharmacy
<a href="http://cialispaxl.com/">generic cialis</a>
cialis prescription price australia
http://cialispaxl.com/
cialis soft tabs uk
<a href="http://cialisonlinq.com/">buy generic cialis</a>
cialis super active 40 mg
<a href="http://cialisonlinq.com/">cialis generic</a>
cialis tablets 20mg for sale
http://cialisonlinq.com/
is generic cialis available in europe
<a href="http://viagrapipls.com/">viagra generic</a>
viagra stendra cialis levitra side effects
<a href="http://viagrapipls.com/">viagra generic</a>
generic viagra 100mg sildenafil prescription
http://viagrapipls.com/
viagra vs. cialis vs. levitra which is best
<a href="http://cialisonlinq.com/">cialis generic</a>
daily 5mg cialis price
<a href="http://cialisonlinq.com/">generic cialis online</a>
viagra cialis comparison
http://cialisonlinq.com/
generics for viagra and cialis at costco
<a href="http://cialisonlinq.com/">buy cialis</a>
cialis 5 mg generic best price india
<a href="http://cialisonlinq.com/">generic cialis</a>
cialis and viagra generic
http://cialisonlinq.com/
cialis when generic in us
<a href="http://viagrapipls.com/">viagra generic</a>
fiat viagra commercial youtube
<a href="http://viagrapipls.com/">buy viagra</a>
viagra commercial brunette woman
http://viagrapipls.com/
brand viagra australia
<a href="http://cialisonlinq.com/">buy generic cialis online</a>
viagra price vs cialis
<a href="http://cialisonlinq.com/">generic cialis</a>
walgreens price for cialis 20mg
http://cialisonlinq.com/
walmart pharmacy cialis 5 mg cost
<a href="http://cialisonlinq.com/">cialis generic</a>
cialis 5 mg daily side effects
<a href="http://cialisonlinq.com/">buy cialis online</a>
cialis cena apoteka
http://cialisonlinq.com/
cost of generic cialis
<a href="http://viagrapipls.com/">buy viagra online</a>
levitra vs viagra cost
<a href="http://viagrapipls.com/">buy viagra online</a>
como fazer viagra caseiro masculino
http://viagrapipls.com/
viagra casero para hombres instantaneo
<a href="http://cialisonlinq.com/">cialis generic</a>
is generic cialis safe
<a href="http://cialisonlinq.com/">buy cialis</a>
cialis side effects dangers or levitra
http://cialisonlinq.com/
cialis commercial british lady
<a href="http://cialisonlinq.com/">cialis generic</a>
cialis super active plus rezeptfrei
<a href="http://cialisonlinq.com/">cialis generic</a>
professional samples of cialis
http://cialisonlinq.com/
20mg cialis vs viagra 100mg
<a href="http://cialisonlinq.com/">buy cialis online</a>
cialis generico colombia
<a href="http://cialisonlinq.com/">generic cialis</a>
buy cialis online usa
http://cialisonlinq.com/
brand name cialis 20mg
<a href="http://viagrapipls.com/">generic viagra</a>
cost per pill for generic viagra at walmart
<a href="http://viagrapipls.com/">generic viagra online</a>
viagra without a doctor prescription reddit
http://viagrapipls.com/
prices of cialis and viagra
<a href="http://cialisonlinq.com/">buy generic cialis</a>
viagra and cialis best price
<a href="http://cialisonlinq.com/">generic cialis</a>
walmart pharmacy cialis price checklist
http://cialisonlinq.com/
cialis 30 lu tablet 20 mg
<a href="http://cialisonlinq.com/">buy generic cialis</a>
how long does it take a 5 mg cialis to work
<a href="http://cialisonlinq.com/">cialis</a>
cialis vs viagra for bph
http://cialisonlinq.com/
cialis generic name
<a href="http://viagrapipls.com/">generic viagra</a>
viagra dosage strengths
<a href="http://viagrapipls.com/">buy generic viagra online</a>
female viagra pills price
http://viagrapipls.com/
generic viagra india 100mg trustworthy site
<a href="http://cialisonlinq.com/">generic cialis online</a>
order generic cialis online canada
<a href="http://cialisonlinq.com/">buy cialis</a>
cialis generico opinion
http://cialisonlinq.com/
cialis super active reviews
<a href="http://cialisonlinq.com/">buy cialis online</a>
cialis 20mg tablets side effects
<a href="http://cialisonlinq.com/">cialis generic</a>
cialis generic 20mg price shop
http://cialisonlinq.com/
cialis 5 mg generico prezzo
<a href="http://viagrapipls.com/">buy generic viagra online</a>
generic viagra in united states
<a href="http://viagrapipls.com/">buy generic viagra</a>
viagra soft pill
http://viagrapipls.com/
viagra soft tabs 100mg review
<a href="http://cialisonlinq.com/">generic cialis</a>
lowest cost generic cialis
<a href="http://cialisonlinq.com/">buy cialis</a>
cialis generic india
http://cialisonlinq.com/
cialis 100mg dosage information
<a href="http://viagrapipls.com/">viagra</a>
viagra for women pink
<a href="http://viagrapipls.com/">buy generic viagra online</a>
viagra preГ§o drogaria sp
http://viagrapipls.com/
cialis dosage 20mg vs 100mg viagra
<a href="http://myvardenafilok.com">levitra coupon</a>
levitra 20mg directions
<a href=http://mylevitraok.com#levitra+rezeptfrei+deutschland>levitra 20mg</a>
<a href="http://cialisonlinq.com/">cialis generic</a>
levitra side effects levitra vs cialis
<a href="http://cialisonlinq.com/">buy generic cialis online</a>
generic cialis daily 5 mg
http://cialisonlinq.com/
cialis side effects long term
<a href="http://myvardenafilok.com">levitra coupon</a>
andy levitra contract extension
<a href=http://myvardenafilok.com#buy+levitra>levitra rezeptfrei deutschland</a>
<a href="http://mylevitraok.com">levitra 20mg</a>
s kym si rozumie levitra
<a href=http://levitra-gg.com#levitra+20+mg>levitra 20 mg</a>
<a href="http://levitra-gg.com">levitra 20 mg</a>
levitra bayer indonesia
<a href=http://levitra-gg.com#levitra+coupon>levitra prices</a>
<a href="http://mylevitraok.com">levitra prices</a>
cialas vs levitra
<a href=http://mylevitraok.com#levitra+generic>levitra 20 mg bayer prezzo</a>
<a href="http://viagrapipls.com/">generic viagra online</a>
viagra commercial
<a href="http://viagrapipls.com/">buy viagra</a>
150 mg viagra dosage recommendations
http://viagrapipls.com/
effects of viagra on healthy men
<a href="http://levitra-gg.com">buy levitra</a>
levitra orodispersible contre indication total
<a href=http://myvardenafilok.com#levitra+rezeptfrei+deutschland>levitra 20 mg bayer prezzo</a>
<a href="http://cialisonlinq.com/">buy generic cialis online</a>
generic names for cialis
<a href="http://cialisonlinq.com/">generic cialis online</a>
price of viagra and cialis per pill
http://cialisonlinq.com/
cialis generic
<a href="http://levitra-gg.com">levitra rezeptfrei deutschland</a>
united states levitra commercial babe
<a href=http://myvardenafilok.com#generic+levitra>generic levitra</a>
<a href="http://levitra-gg.com">levitra online</a>
levitra and aleve
<a href=http://mylevitraok.com#generic+levitra>levitra 10 mg prezzo</a>
<a href="http://myvardenafilok.com">levitra 10 mg prezzo</a>
levitra 10 mg costochondritis
<a href=http://myvardenafilok.com#levitra+online>buy levitra</a>
<a href="http://mylevitraok.com">vardenafil 20mg</a>
levitra antiguo testamento catolica
<a href=http://levitra-gg.com#levitra+online>levitra 20mg</a>
<a href="http://cialisonlinq.com/">buy generic cialis online</a>
generic 5mg cialis for daily use
<a href="http://cialisonlinq.com/">generic cialis online</a>
cheap viagra cialis levitra
http://cialisonlinq.com/
cialis generic availability 2017
<a href="http://viagrapipls.com/">buy viagra online</a>
viagra levitra cialis dosage
<a href="http://viagrapipls.com/">buy generic viagra</a>
cialis viagra dosage comparison
http://viagrapipls.com/
viagra natural barrio chino
<a href="http://levitra-gg.com">levitra 10 mg prezzo</a>
einnahme cialis vs levitra
<a href=http://levitra-gg.com#levitra+generic>levitra coupon</a>
<a href="http://cialisonlinq.com/">cialis</a>
levitra vs sildenafil vs cialis
<a href="http://cialisonlinq.com/">generic cialis</a>
cialis generico preГ§o no brasil
http://cialisonlinq.com/
cialis professional reviews
<a href="http://levitra-gg.com">levitra 20 mg bayer prezzo</a>
traje levitra 1900722
<a href=http://levitra-gg.com#levitra+20+mg>levitra 10 mg prezzo</a>
<a href="http://levitra-gg.com">levitra prices</a>
levitra flavio rar files
<a href=http://myvardenafilok.com#levitra+generic>levitra prices</a>
<a href="http://cialisonlinq.com/">cialis</a>
viagra vs cialis effectiveness
<a href="http://cialisonlinq.com/">buy generic cialis</a>
cost of viagra cialis and levitra
http://cialisonlinq.com/
cialis vs viagra for bph
<a href="http://cialisonlinq.com/">cialis generic</a>
buy cheap cialis in canada
<a href="http://cialisonlinq.com/">buy cialis</a>
generic cialis release date
http://cialisonlinq.com/
buy cialis cheap prices fast delivery
<a href="http://cialisonlinq.com/">cialis generic</a>
generic cialis tadalafil 20mg best prices
<a href="http://cialisonlinq.com/">generic cialis online</a>
generic cialis brands india
http://cialisonlinq.com/
cytotechnology specialist
<a href="http://cialisonlinq.com/">cialis</a>
buy generic cialis online india
<a href="http://cialisonlinq.com/">generic cialis online</a>
cialis generic vs brand name
http://cialisonlinq.com/
viagra cialis cost
<a href="http://amsboatyard.com/">generic viagra</a>
generic viagra online united states
<a href="http://amsboatyard.com/">generic viagra online</a>
viagra commercial actress name football
http://amsboatyard.com/
viagra prices
<a href="http://cialisonlinq.com/">buy generic cialis online</a>
generic cialis is it safe
<a href="http://cialisonlinq.com/">buy generic cialis</a>
cialis 5mg tablets bedwetting
http://cialisonlinq.com/
cialis coupons printable 2017
<a href="http://airvietnamairline.com/">generic cialis</a>
cialis side effects pain in leg
<a href="http://airvietnamairline.com/">generic cialis online</a>
cialis 5 mg generico preГ§o
http://airvietnamairline.com/
cialis shop usa
<a href="http://kamagraonl.com/">buy kamagra 100mg</a>
kamagra oral jelly 100mg sildenafil citrate
<a href="http://kamagraonl.com/">buy kamagra</a>
kamagra vs viagra
http://kamagraonl.com/
kamagra 100mg oral jelly review
<a href="http://amsboatyard.com/">buy viagra</a>
name of generic viagra
<a href="http://amsboatyard.com/">buy generic viagra online</a>
viagra price drop to boost sales
http://amsboatyard.com/
viagra natural receta
<a href="http://airvietnamairline.com/">buy cialis online</a>
cialis 20 mg 30 tablets
<a href="http://airvietnamairline.com/">cialis</a>
preГ§o cialis generico brasil
http://airvietnamairline.com/
best prices for cialis 5mg
<a href="http://kamagraonl.com/">kamagra 100 mg oral jelly</a>
kamagra uk
<a href="http://kamagraonl.com/">buy kamagra online</a>
kamagra chew tablets - 100 mg
http://kamagraonl.com/
kamagra oral jelly amazon nederland texas
<a href="http://amsboatyard.com/">buy viagra online</a>
generic viagra vs cialis
<a href="http://amsboatyard.com/">generic viagra online</a>
herbal viagra side effects
http://amsboatyard.com/
levitra or viagra which is better
<a href="http://airvietnamairline.com/">cialis</a>
cialis available generic in 2017
<a href="http://airvietnamairline.com/">generic cialis online</a>
cialis 20 mg price walmart
http://airvietnamairline.com/
cialis side effects reviews
kamagra 100mg oral jelly suppliers indianapolis indiana
kamagra gold from ajanta pharma
buy kamagra oral jelly usa
kamagra 100mg chewable tablets
ajanta kamagra 100 chewable
kamagra oral jelly wirkungsdauer
kamagra 100mg tablets uk
ajanta kamagra 100 chewable tablet
kamagra forum doctissimo
the kamagra store hoax
kamagra winkel utrecht
kamagra online bestellen nederland
kamagra forum srpski
kamagra cost
kamagra kopen afhalen amsterdam
<a href="http://myvardenafilok.com">coupon levitra</a>
archive info levitra personal php remember
<a href=http://mylevitraok.com#levitra+coupon>cheap levitra 10 mg</a>
levitra professional 100mg
<a href="http://myvardenafilok.com">10 mg levitra</a>
janet aponte levitra guerrero viejo
<a href=http://myvardenafilok.com#20+mg+levitra>levitra generic</a>
levitra vagisaling
<a href="http://myvardenafilok.com">20 mg levitra</a>
acquistare levitra generico online thesaurus
<a href=http://mylevitraok.com#vardenafil+buy>coupon levitra</a>
levitra sample coupon
<a href="http://mylevitraok.com">levitra generic</a>
000002b4.htm commercialization discussion levitra sfp.forprod.vt.edu
<a href=http://mylevitraok.com#levitra+online>levitra 20 mg</a>
levitra 20 mg instructions on how to play
<a href="http://myvardenafilok.com">levitra 10mg prezzo</a>
levitra antsanitia
<a href=http://mylevitraok.com#vardenafil+prices>buy 20mg levitra</a>
levitra pills look like
<a href="http://mylevitraok.com">levitra generic</a>
buy levitra online 7 news
<a href=http://myvardenafilok.com#buy+vardenafil+online>levitra 10 mg prezzo</a>
can you take percocet with levitra
<a href="http://mylevitraok.com">buy 10 mg levitra</a>
aty an tany levitra 20mg
<a href=http://mylevitraok.com#levitra+coupon>vardenafil prices</a>
levitra side effects youtube
<a href="http://mylevitraok.com">cheap 10mg levitra</a>
levitra babyfoon camera repair
<a href=http://mylevitraok.com#levitra+buy>levitra prices</a>
stan mc levitra
<a href="http://mylevitraok.com">buy 10 mg levitra</a>
levitra flavio vine
<a href=http://mylevitraok.com#buy+levitra+10mg>cheap levitra 20 mg</a>
buy cheap levitra link online jixx de