Отладка кода C ++, связанного с библиотекой R

Я пытаюсь понять, как работает библиотека R DESeq2. Есть некоторый скомпилированный код C ++, и DESeq2 имеет несколько зависимостей. Чтобы сделать это, я скомпилировал этот код C ++ с флагами отладки, однако я озадачен тем, что делать дальше. Я использую R-3.4.2 и GCC-4.9.2 и работаю над CentOS 6.6.

В консоли R я недавно установил зависимости DESeq2.

> .libPaths()
[1] "~/Scratch/R-3.4.2_debug"[2] "/gpfs0/export/opt/R/3.4.2/lib64/R/library"> source("https://bioconductor.org/biocLite.R")
> biocLite("S4Vectors", lib.loc="~/Scratch/R-3.4.2_debug/", lib="~/Scratch/R-3.4.2_debug/")
> biocLite("IRanges", lib.loc="~/Scratch/R-3.4.2_debug/", lib="~/Scratch/R-3.4.2_debug/")
> biocLite("GenomicRanges", lib.loc="~/Scratch/R-3.4.2_debug/", lib="~/Scratch/R-3.4.2_debug/")
> biocLite("SummarizedExperiment", lib.loc="~/Scratch/R-3.4.2_debug/", lib="~/Scratch/R-3.4.2_debug/")
> biocLite("RcppArmadillo", lib.loc="~/Scratch/R-3.4.2_debug/", lib="~/Scratch/R-3.4.2_debug/")
> biocLite("Rcpp", lib.loc="~/Scratch/R-3.4.2_debug/", lib="~/Scratch/R-3.4.2_debug/")

Затем из терминала, в пределах ~/Scratch/DESeq2/srcЯ собрал DESeq2:

gcc -I/opt/R/3.4.2/lib64/R/include -I~/Scratch/R-3.4.2_debug/RcppArmadillo/include/ -I~/Scratch/R-3.4.2_debug/Rcpp/include/ -DNDEBUG  -fpic  -g -c DESeq2.cpp -o DESeq2.o
gcc -I/opt/R/3.4.2/lib64/R/include -I~/Scratch/R-3.4.2_debug/RcppArmadillo/include/ -I~/Scratch/R-3.4.2_debug/Rcpp/include/ -DNDEBUG  -fpic  -g -c RcppExports.cpp -o RcppExports.o
gcc -shared -L/opt/R/3.4.2/lib64/R/lib -lRlapack -lRblas -lR -g -o ~/Scratch/R-3.4.2_debug/DESeq2/libs/DESeq2.so RcppExports.o DESeq2.o

Конечный скомпилированный общий объект (DESeq2.so) находит все зависимости.

Тогда в R невозможно найти DESeq2:

> library("DESeq2")
Error in library("DESeq2") : ‘DESeq2’ is not a valid installed package
No traceback available

Сравнивая это с предыдущей установкой DESeq2, я упускаю (на первый взгляд) важный ~/Scratch/DESeq2/R/DESeq2, ~/Scratch/DESeq2/R/DESeq2.rdb, ~/Scratch/DESeq2/R/DESeq2.rdx,

Здесь есть две основные проблемы с моим пониманием:

  1. Я не понимаю, как biocLite / install.packages собирает пакеты из BioConductor / CRAN (т.е. куда идет код R?).

  2. Я не уверен, как пройти через код R и C ++.

ВОПРОС:

Как мне создать пакет DESeq2 так, чтобы я мог беспрепятственно проходить через код R и C ++? это кажется многообещающим, но GDB работает на R и не контролирует реальный код R (даже с вставкой в ​​код браузера ()).

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector