@solved 使用相同代码的 C# 速度是原来的两倍
我正在用 perl 解析一个 phred33 fastq 文件,这需要相当长的时间(大约 15 分钟)。fastq 文件大约 3 gigs。有什么合理的方法可以加快速度吗?
$file=shift;
open(FILE,$file);
open(FILEFA,">".$file.".fa");
open(FILEQA,">".$file.".qual");
while($line=<FILE>)
{
chomp($line);
if($line=~m/^@/)
{
$header=$line;
$header =~ s/@/>/g;
$seq=<FILE>;
chomp($seq);
$nothing=<FILE>;
$nothing="";
$fastq=<FILE>;
print FILEFA $header."\n";
print FILEFA $seq."\n";
$seq="";
print FILEQA $header."\n";
@elm=split("",$fastq);
$i=0;
while(defined($elm[$i]))
{
$Q = ord($elm[$i]) - 33;
if($Q!="-23")
{
print FILEQA $Q." ";
}
$i=$i+1;
}
print FILEQA "\n";
}
}
print $file.".fa\n";
print $file.".qual\n";