Есть ли способ использовать параллель для ускорения процесса plotVenn ()? - PullRequest
1 голос
/ 14 января 2020

Я пытаюсь составить диаграмму Венна с 15 наборами. Я мог бы сделать это с 9, используя пакет nVennR, но мне пришлось составить график 22 раза, чтобы сжать результат.

myV <- createVennObj(nSets = 9, sNames = c( "NN","AdINI","AdTAR",
                                            "NN con NBI",
                                            "NN sin NBI",
                                            "AdINI con NBI",
                                            "AdINI sin NBI",
                                            "AdTAR con NBI",
                                            "AdTAR sin NBI"))

myV <- setVennRegion(myV, c("NN con NBI", "NN"), 4343)
myV <- setVennRegion(myV, c("NN sin NBI", "NN"), 22526)
myV <- setVennRegion(myV, c("AdINI con NBI", "AdINI"), 2032)
myV <- setVennRegion(myV, c("AdINI sin NBI", "AdINI"), 9545)
myV <- setVennRegion(myV, c("AdTAR con NBI", "AdTAR"), 2641)
myV <- setVennRegion(myV, c("AdTAR sin NBI", "AdTAR"), 10125)
i=0
while (i<22) {
        myV <- plotVenn(nVennObj = myV, outFile='democentro.svg')
        i=i+1
}

Потребовалось несколько минут, но в итоге получилось то, что я ожидал: enter image description here Теперь я хочу сделать то же самое для 15 комплектов. Потому что меньшие наборы на предыдущем графике разделены на две части. Я пытался сделать это, но процесс никогда не заканчивается, даже для первого графика.

Есть ли способ использовать весь потенциал моего компьютера для этого?

Кстати, я использую Windows 10 и у меня 16 [ГБ] ОЗУ

enter image description here

1 Ответ

0 голосов
/ 15 января 2020

Модуль nVennR интенсивно использует процессор, оперативная память не является проблемой. Актуальная проблема заключается в том, что количество точек на линию увеличивается с ростом числа наборов нелинейно. Я настроил это поведение так, чтобы до девяти наборов можно было воспроизвести как можно быстрее. Я работал над новой версией алгоритма, которая отбрасывает ненужные очки и может быть намного быстрее в такой ситуации, как ваша. К сожалению, я не смог перенести эту версию на R (я считаю, что проблема с ограничением Rcpp).

Вы можете попробовать эту версию с https://github.com/vqf/nVenn. Там вы найдете инструкции о том, как подготовить ваши файлы. Вы можете даже загрузить двоичные файлы для Windows на https://github.com/vqf/nVenn/tree/master/binaries/Win.

...