Как исправить ошибку «Нет такого файла или каталога» в Perl? - PullRequest
0 голосов
/ 14 мая 2019

Я хочу использовать модуль Bioperl SeqFeature, но код не работает.

Я попытался написать код с использованием Padre.

use Bio::SeqIO;
my $seqio_object = Bio::SeqIO->new(-file => "sequence.gb" );
my $seq_object = $seqio_object->next_seq;
print ref($seq_object);

for my $feat_object ($seq_object->get_SeqFeatures) {
print "primary tag: ", $feat_object->primary_tag, "\n";

for my $tag ($feat_object->get_all_tags) {
    print "  tag: ", $tag, "\n";
    for my $value ($feat_object->get_tag_values($tag)) {
        print "    value: ", $value, "\n";
    }
}

}

Я хочуфайл, который нужно открыть, и информация в нем, которая будет отображаться в окне вывода, но это исключение.

Как мне решить эту проблему?

Ответы [ 2 ]

1 голос
/ 15 мая 2019

Это сообщение выдается операционной системой, когда вы предоставляете имя файла для операции, которая требует, чтобы указанный файл существовал, но это не так.Например, когда код пытается открыть файл, который не существует для чтения.

На основании предоставленной вами минимальной информации можно предположить, что ошибка связана с попыткой открыть sequence.gb.Если это так, это означает, что путь sequence.gb не ссылается на существующий файл.

Имейте в виду, что путь sequence.gb означает именованное sequence.gb в текущем рабочем каталоге, поэтому либо у вас естьневерное имя, и вы сделали неверные предположения о текущем рабочем каталоге.

Если вы хотите получить доступ к файлу, который находится в том же каталоге, что и скрипт, вы должны использовать следующее:

use FindBin qw( $RealBin );

"$RealBin/sequence.gb"
0 голосов
/ 15 мая 2019

Я думаю, вам нужно написать полный или позиционный путь к файлу

    -file => "/home/user/sequence.gb"
    -file => "./sequence.gb"

Надеюсь, это решит вашу проблему.Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...