Мне нужно было создать скользящее окно размером 15, пройти через файл Fasta и сохранить все значения скользящего окна в хэш. Когда я пытаюсь напечатать, я получаю ошибкуКак создать скользящее окно и поместить значения скользящего окна в хэш?
Глобальный символ «$ последовательность» требует явного имя пакета на ./findAllKmers.1.pl линии 60.
Выполнение ./findAllKmers.1.pl прерванную из-за ошибки компиляции»
#!/usr/bin/perl
use warnings;
use strict;
my %windowSeqScores =();
my $sequenceRef = loadSequence("/scratch/Drosophila/dmel-2L-chromosome-r5.54.fasta");
my $windowSize = 23;
my $stepSize = 1;
my $maxScore = 0;
my $sequence = @_;
my $in_file = 'uniqueKmersEndingGG.fasta';
open (my $fh, '>', $in_file) or die "Could not open file 'filename' $!";
for (
my $windowStart = 0;
$windowStart <= (length($$sequenceRef) - $windowSize);
$windowStart += $stepSize
)
{
my $windowSeq = substr($$sequenceRef, $windowStart, $windowSize);
sub loadSequence {
my ($sequenceFile) = @_;
my $sequence = "";
my $counter = 0;
unless (open(FASTA, "<", $sequenceFile)) {
die $!;
}
while (<FASTA>) {
my $line = $_;
chomp($line);
if ($line !~ /^>/) {
my $sequence = $line;
if (length($sequence) == 15) {
$counter = $counter + 1;
print $_;
}
}
return \$sequence;
}
}
print $sequence;
Вы только разместили 46 строк кода ... но ошибка в строке 60 – Yetti99
Извините, я удалил кучу ненужного кода. ошибка находится в последней строке $ sequence. спасибо за помощь. –