Проблемы установки модуля Perl Bio :: Perl - PullRequest
0 голосов
/ 23 сентября 2018

У меня возникли некоторые проблемы при установке Bio-DB-HTS (https://github.com/Ensembl/Bio-DB-HTS) требуется для запуска сценария Perl из клонированного репозитория git.

Информация о системе и Perl

Я на Mac OSx High Sierra v.10.13.6 и использую perl 5, версия 18, subversion 2 (v5.18.2). Я добавил эту информацию в свой первоначальный вопрос сейчас.

Справочная информация

При попытке выполнить локальную установку в соответствии с инструкциями README я получаю сообщение об ошибке ...

git clone https://github.com/Ensembl/Bio-DB-HTS.git
cd Bio-DB-HTS-2.10
perl INSTALL.pl

lzma.h library header not found in /usr/include 

Я пытался установить библиотеку LZMAно обнаружил, что он действительно установлен и что заголовочный файл lzma.h просто отсутствует в пути / usr / include. Поскольку LZMA устарел и заменен на XZ, я установил библиотеку XZ

 brew install xz

Послебыстрый поиск Я нашел заголовок lzma.h в ...

/usr/local/Cellar/xz/5.2.4/include/lzma.h

Основной выпуск

Теперь я не уверен, что делать дальше, и еслиЯ что-то напутал, пытаясь обойти это. Так как / usr / iВ nclude есть каталог с ограниченным доступом. Я добавил строку в сценарий INSTALL.pl, чтобы проверить наличие файла в обоих местах (что, вероятно, может нарушить что-то в процессе анализа, поскольку я не изменил ничего, кроме условия if).Однако, когда я запустил установку на этот раз, я столкнулся с новой проблемой.

perl INSTALL.pl

BioPerl does not seem to be installed. Please install it and try again. 
On Debian/Ubuntu systems you can do this with the command:

apt-get install bioperl

On other systems use the CPAN shell:

perl -MCPAN -e 'install Bio::Perl'

И именно здесь находятся мои основные проблемы.При попытке установить Bio: Perl с помощью тестов cpan не удается на разных этапах, и я не уверен, какие из них являются основными.Последние строки в выводе:

Result: FAIL
Failed 3/325 test programs. 16/19945 subtests failed.
CJFIELDS/BioPerl-1.007002.tar.gz
./Build test -- NOT OK
//hint// to see the cpan-testers results for installing this module, 
try:
reports CJFIELDS/BioPerl-1.007002.tar.gz
Running Build install
make test had returned bad status, won't install without force

Я перенастроил cpan для автоматической установки зависимостей, как указано здесь Как сказать CPAN установить все зависимости? .

perl -MCPAN -Mlocal::lib=~/perl5 -e 'my $c = "CPAN::HandleConfig"; $c->load(doit => 1, autoconfig => 1); $c->edit(prerequisites_policy => "follow"); $c->edit(build_requires_install_policy => "yes"); $c->commit'

И снова попытался установить принудительно ...

perl -f -MCPAN -e 'install Bio::Perl'

Но я получаю ту же ошибку

Result: FAIL
Failed 3/325 test programs. 16/19945 subtests failed.
CJFIELDS/BioPerl-1.007002.tar.gz
./Build test -- NOT OK
//hint// to see the cpan-testers results for installing this module, 
try:
reports CJFIELDS/BioPerl-1.007002.tar.gz
Running Build install
make test had returned bad status, won't install without force

Когда я смотрю, какие модули были установлены с помощью ...

cpan -l 
Bio::DB::HTS    2.11
Bio::DB::HTS::ReadIterator  2.11
Bio::DB::HTS::VCF   2.11
Bio::DB::HTS::Faidx 2.11
Bio::DB::HTS::PileupWrapper 2.11
Bio::DB::HTS::Alignment 2.11
Bio::DB::HTS::ConfigData    undef
.
.
.
Bio::DB::HTS::VCF::Iterator 2.11
Bio::DB::HTS::VCF::Row  2.11

Я вижу, что многие из тех, которые мне нужны из пакета Bio-DB-HTS, присутствуют (при условии, что они были одной из успешных установок при установке Bio :: Perl), но теперь он запрашиваетошибка

Can't locate Bio/SeqFeature/Lite.pm in @INC

Однако мне так и не удалось установить Bio: Seq или Bio :: Perl.У меня есть некоторые знания Perl, но в основном я работаю с Python, поэтому я немного растерялся из-за того, что делать.

Дополнительная информация

Мой cpan устанавливает модули на

/usr/local/perl 

И я добавил путь к моей переменной среды

export PERL5LIB=/usr/local/perl

Отредактированная информация (неудачные тесты и ошибки) как ответ Шону

@Shawn, это длинный список ошибок, тестовых сбоев и рекомендуемых установок.Я могу опубликовать несколько примеров первой пары ошибок.Я не совсем уверен, на что смотреть.

Рекомендуемые установки

Checking prerequisites...
recommends:
*  Algorithm::Munkres is not installed
*  Array::Compare is not installed
*  Bio::Phylo is not installed
*  Convert::Binary::C is not installed
*  GD is not installed
*  Graph is not installed
*  GraphViz is not installed
*  HTML::TableExtract is not installed
*  Inline::C (0.53) is installed, but we prefer to have 0.67
*  PostScript::TextBlock is not installed
*  SVG is not installed
*  SVG::Graph is not installed
*  Set::Scalar is not installed
*  Sort::Naturally is not installed
*  Spreadsheet::ParseExcel is not installed
*  XML::DOM is not installed
*  XML::DOM::XPath is not installed
*  XML::Parser::PerlSAX is not installed
*  XML::SAX::Writer is not installed
*  XML::Twig is not installed
*  YAML is not installed


Checking optional features...
EntrezGene............disabled
requires:
! Bio::ASN1::EntrezGene is not installed
MySQL Tests...........disabled
requires:
! DBD::mysql is not installed
Pg Tests..............disabled
requires:
! DBD::Pg is not installed

Вот сводный отчет об испытаниях.Я не напечатал весь список неудачных тестов, так как он очень длинный.Но я могу видеть, что /LocalDB/SeqFeature_BDB.t является частью большинства неудачных тестов при просмотре подробного вывода.

Test Summary Report
-------------------
t/LocalDB/Fasta.t                    (Wstat: 1024 Tests: 109 Failed: 4)
Failed tests:  73, 91, 95, 101
Non-zero exit status: 4
t/LocalDB/Index/Index.t              (Wstat: 20224 Tests: 36 Failed: 6)
Failed tests:  12-17
Non-zero exit status: 79
Parse errors: Bad plan.  You planned 73 tests but ran 36.
t/LocalDB/Qual.t                     (Wstat: 1536 Tests: 56 Failed: 6)
Failed tests:  7-9, 49-50, 52
Non-zero exit status: 6
t/LocalDB/SeqFeature_BDB.t           (Wstat: 0 Tests: 38 Failed: 4)
Failed tests:  17-19, 24
Parse errors: Bad plan.  You planned 116 tests but ran 38.
t/Perl.t                             (Wstat: 512 Tests: 47 Failed: 16)
Failed tests:  28, 28, 28, 28-29, 29, 29, 29-30, 30, 30
            30-31, 31, 31, 31
Non-zero exit status: 2
Parse errors: Tests out of sequence.  Found (24) but expected (26)
            Tests out of sequence.  Found (25) but expected (27)
            Tests out of sequence.  Found (26) but expected (28)
            Tests out of sequence.  Found (26) but expected (29)
            Tests out of sequence.  Found (27) but expected (30)
Displayed the first 5 of 23 TAP syntax errors.
Re-run prove with the -p option to see them all.
t/RemoteDB/BioFetch.t                (Wstat: 0 Tests: 83 Failed: 47)
Failed tests:  20-21, 21-22, 22-23, 23-24, 24-25, 25-26
            26-27, 27-28, 28-29, 29-30, 30, 30, 30-31
            31, 31, 31-32, 32, 32, 32-33, 33, 33, 33-34
            34, 34, 34-35, 35, 35, 35-36, 36, 36, 36
Parse errors: Tests out of sequence.  Found (4) but expected (6)
            Tests out of sequence.  Found (6) but expected (7)
            Tests out of sequence.  Found (7) but expected (8)
            Tests out of sequence.  Found (5) but expected (9)
            Tests out of sequence.  Found (6) but expected (10)
Displayed the first 5 of 79 TAP syntax errors.
Re-run prove with the -p option to see them all.
t/RemoteDB/GenBank.t                 (Wstat: 0 Tests: 658 Failed: 614)
Failed tests:  10-11, 11, 11-12, 12, 12-13, 13, 13-14
            14, 14-15, 15, 15-16, 16, 16-17, 17, 17-18
            18, 18-19, 19, 19, 19, 19, 19, 19-20, 20
            20, 20, 20, 20, 20-21, 21, 21, 21, 21, 21
            21-22, 22, 22, 22, 22, 22, 22-23, 23, 23

1 Ответ

0 голосов
/ 25 сентября 2018

Спасибо всем, кто помог, мне удалось в конце концов разобраться.Я объясню процесс здесь от начала до конца, если у кого-то еще возникнет такая же проблема.

Вопрос, который я разместил, заключался в том, чтобы решить, как установить Bio :: Perl с использованием CPAN, поскольку у меня возникали проблемы с неудачными тестами.Хотя у меня возникли некоторые проблемы с установкой Bio-DB-HTS (которую я решил до публикации), я объясню, как мне удалось установить ее и в случае, если кто-то столкнется с такой же проблемой.

Похоже, пользователи Macкак правило, проблема с отсутствующим заголовком lzma.h.В случае установки Bio-DB-HTS.Мне пришлось изменить строку в файле Bio-DB-HTS / INSTALL.pl, которая проверила наличие файла lzma.h.Инструкции см. В разделе «Установка Bio-DB-HTS на Mac OSx» ниже.

Решение проблемы установки Bio :: Perl

По сути, я решил ее путем переустановки / перенастройки моегоCPAN установка.Хотя я полагаю, что проблема в конечном итоге была связана с некоторыми переменными среды, которые я не установил, поскольку я решил вручную отсортировать структуру каталогов CPAN, я рекомендую позволить CPAN сделать это для вас, используя опцию local: lib, так как она будет установлена ​​илия расскажу вам, как установить переменные среды в конце установки.

Я установил только одну из приведенных ниже переменных среды (PERL5LIB), что, вероятно, и стало причиной моей ошибки.НОТА!что пути, которые вы видите ниже, являются специфическими для моей системы.

PATH="/Users/sjamal/perl5/bin${PATH:+:${PATH}}"; export PATH; PERL5LIB="/Users/sjamal/perl5/lib/perl5${PERL5LIB:+:${PERL5LIB}}"; export PERL5LIB; PERL_LOCAL_LIB_ROOT="/Users/sjamal/perl5${PERL_LOCAL_LIB_ROOT:+:${PERL_LOCAL_LIB_ROOT}}"; export PERL_LOCAL_LIB_ROOT; PERL_MB_OPT="--install_base \"/Users/sjamal/perl5\""; export PERL_MB_OPT; PERL_MM_OPT="INSTALL_BASE=/Users/sjamal/perl5"; export PERL_MM_OPT;

Если вы уже настроили его, как я, но что делатьначать с чистого листа, вам нужно будет удалить папку CPAN, созданную на пользователя, на которого вы установили cpan.

/Users/<USERNAME>/.cpan
rm -rf /Users/<USERNAME>/.cpan

Теперь вы сможете запустить команду cpan, как это было сделано в первом случае, и получитьВы получите множество вопросов о том, как вы хотите настроить установку, и именно здесь вы сможете выбрать «local: lib» (если вы можете получить доступ к sudo, вы также можете выбрать опцию «sudo»).Я установил cpanm на основе нескольких рекомендаций, а также, поскольку он, по-видимому, вызывает меньше вопросов, а затем установил Bio :: Perl.Хотя я должен упомянуть, что установка не прошла тест и отказалась от установки, поэтому мне пришлось запустить команду force для сборки Bio :: Perl.

cpan -i App:cpanminus
cpanm --force Bio::Perl

Теперь у вас должен быть установлен Bio :: Perl.

Установка Bio-DB-HTS на Mac OSx

Библиотека lzma устарела в Mac OSx, но была заменена на библиотеку XZ, так что если вы пропуститефайл, а также вы можете установить XZ, используя Brew.Если у вас не установлен brew, вы можете найти его здесь https://brew.sh/

brew install xz

Теперь у вас будет файл заголовка lzma.h в том месте, где XZ был установлен с помощью brewВ моем случае /usr/local/Cellar/xz/5.2.4/include/lzma.h.

git clone https://github.com/Ensembl/Bio-DB-HTS.git
cd Bio-DB-HTS-2.10
vim Bio-DB-HTS/INSTALL.pl

Итак, я изменил строку, используя vim ...

-e '/usr/include/lzma.h' or die <<END; 

до

-e '/usr/include/lzma.h' **|| '/usr/local/Cellar/xz/5.2.4/include/lzma.h'** or die <<END;

ПРИМЕЧАНИЕ!Вы должны изменить '/ usr / local / Cellar / xz / 5.2.4 / include / lzma.h' путь к тому месту, где у вас есть пакет lzma.h в XZ, только что установленный с помощью brew.Однако я хочу уточнить, что это не решает ничего, кроме сообщения сценарию о том, что файл существует.Сценарий установки не сможет использовать файл (если это именно то, что ему нужно), так как в сценарии установки больше ничего не изменилось.

Теперь вы сможете установить Bio-DB-HTS, просто запустив сценарий perl, как показано ниже

cd Bio-DB-HTS-2.10
perl INSTALL.pl

Надеюсь, это поможет!

Сабри

...