2012-04-23 5 views
2

私は本当に他に何を試していいのか分からないので、このメッセージを純粋な絶望から投稿しています。 。私はbioperlの初心者です。私はMolQuest fgeneshから得たいくつかの結果を解析するためのスクリプトに取り組んでいます。結果は.txt形式で出力されており、GFFやfastaファイルに解析してmRNAやタンパク質配列を解析し、他の結果との比較を容易にしたいと考えています。だからBio :: Tools :: Fgeneshモジュールが見つかりました。私はそれを使ってスクリプトを作成しています。問題は、BioPerlが私のubuntu PCで動作していないようです。BioPerl&CPAN - インストール&エラーの問題 "@INCでBio/EnsEMBL/Registry.pmを見つけることができません"

私はここの指示に従いますhttp://www.bioperl.org/wiki/Installing_Bioperl_for_Unix。私はCPANをルートモードでインストールしました(それ以外の場合は動作しません)。そしてCPAN経由でBioPerlをインストールしました。すべてのテストは大丈夫だったが、私がインストール

use strict; 
use warnings; 

use Getopt::Long; 
use Bio::EnsEMBL::Registry; 

my $reg = "Bio::EnsEMBL::Registry"; 
$reg->load_registry_from_db(
       -host => "ensembldb.ensembl.org", 
       -user => "anonymous" 
); 
my $db_list=$reg->get_all_adaptors(); 
my @line; 

foreach my $db (@$db_list){ 
    @line = split ('=',$db); 
    print $line[0]."\n"; 
} 

をテストするには、このスクリプトを実行したとき、私はエラーだ:"@INCにバイオ/ ENSEMBL/Registry.pmを見つけることができません"

IをBuild.PLを介してBioPerlを再度インストールしようとしましたが、rootとして実行されていましたが、同じ結果が得られました。あなたの助けのための

おかげ メルチェ・

答えて

0

あなたが試してみました:

» cpan 

cpan shell -- CPAN exploration and modules installation (v1.960001) 
Enter 'h' for help. 

cpan[1]> install Bio::EnsEMBL::Registry 

を、私はそれが何か他の要件として自動的に行われているはず暗示、これはあなたにリンクされたページではなく、気づきますしかし、それは試してみる価値があるかもしれません。

3

Ensembl APIを使用しようとしているようです。これはBioPerlディストリビューションの一部ではありません。インストール方法の詳細については、http://www.ensembl.org/info/docs/api/api_installation.htmlを参照してください。 APIが同じリリースで作成されたデータに深く結びついているため、これをデフォルトのPerlライブラリの場所にインストールすることはお勧めしません。 Ensemblは年間4〜5回のリリースを提供しているため、これを維持するのは難しい場合があります。

もう問題がある場合は、開発者に連絡してください。アクティブデベロッパーメーリングリスト&がヘルプデスクにあります。詳細については、http://www.ensembl.org/info/about/contact/index.htmlを参照してください。

0

Windows 64xで作業しているのと同じエラーが発生しました。 Seems Bio :: EnsEMBL :: Registryは私のWindowsコンピュータでは認識されません。 すべてのENSEMBL-API命令に続いて、私は最後にデバッグページ(http://www.ensembl.org/info/docs/api/debug_installation_guide.html)を見つけました。 C:\ src \ ensembl/misc-scripts/ping_ensembl.plを実行した後、上記のエラーメッセージが再び表示されます。

WindowsのPERL APIヘルプによると、「PERL5LIB = C:\ src \ bioperl-1.2.3; C:\ src \ ensembl \ modules; C:\ src \ ensembl-compara \モジュール; C:\ src \ ensembl-variation \ modules; C:\ src \ ensembl-funcgen \ modules "を入力します。それをしましたが、エラーは同じままです。このようなパス(C:\ src \ bioperl-1.2.3; C:\ src \ ensembl \ modules; C:¥src¥ensembl-compara¥modules; C:¥src¥ensembl-variation¥modules) modules; C:\ src \ ensembl-funcgen \ modules)を直接私のperlスクリプトに入れてください。これはうまくいくようです。おそらくこれはそれを行う方法ではありませんが、動作する限り、私は満足しています。

#!/usr/bin/perl -w

use lib "C:/src/ensembl/modules";

use lib "C:/src/ensembl/modules/Bio/EnsEMBL";

use lib "C:/src/ensembl-compara/modules/Bio/EnsEMBL/Compara";

use lib "C:/src/ensembl-functgenomics/modules/Bio/EnsEMBL/Funcgen";

use lib "C:/src/ensembl-variation/modules/Bio/EnsEMBL/Variation";

use strict;

use Bio::EnsEMBL::Registry;

my $registry = 'Bio::EnsEMBL::Registry';

$registry->load_registry_from_db(

-host => 'ensembldb.ensembl.org',

-user => 'anonymous',

-verbose => '1'

);

my $slice_adaptor = Bio::EnsEMBL::Registry->get_adaptor("human", "core", "slice");

get a slice on the entire chromosome X

my $chr_slice = $slice_adaptor->fetch_by_region('chromosome', '13', 32_889_000, >32_891_000);

print "#######################################################\n";

print $chr_slice->seq;

または代替的に:下記(BERT Overduinによって提供エクササイズに基づいて)スクリプト例を参照

#!/usr/bin/perl -w

BEGIN{ push @INC,'C:/src/bioperl-live','C:/src/ensembl/modules','C:/src/ensembl-compara/modules','C:/src/ensembl-variation/modules','C:/src/ensembl-functgenomics/modules';};

use strict;

use Bio::EnsEMBL::Registry;

my $registry = 'Bio::EnsEMBL::Registry';

$registry->load_registry_from_db(

-host => 'ensembldb.ensembl.org',

-user => 'anonymous',

-verbose => '1'

);

my $slice_adaptor = Bio::EnsEMBL::Registry->get_adaptor("human", "core", "slice");

get a slice on the entire chromosome X

my $chr_slice = $slice_adaptor->fetch_by_region('chromosome', '13', 32_889_000, >32_891_000);

print "#######################################################\n";

print $chr_slice->seq;

関連する問題