28 lines
616 B
Perl
Executable File
28 lines
616 B
Perl
Executable File
#!/usr/bin/perl -w
|
|
|
|
use strict;
|
|
use warnings;
|
|
|
|
die("Usage: qualfa2fq.pl <in.fasta> <in.qual>\n") if (@ARGV != 2);
|
|
|
|
my ($fhs, $fhq, $q);
|
|
open($fhs, ($ARGV[0] =~ /\.gz$/)? "gzip -dc $ARGV[0] |" : $ARGV[0]) || die;
|
|
open($fhq, ($ARGV[1] =~ /\.gz$/)? "gzip -dc $ARGV[1] |" : $ARGV[1]) || die;
|
|
|
|
$/ = ">"; <$fhs>; <$fhq>; $/ = "\n";
|
|
while (<$fhs>) {
|
|
$q = <$fhq>;
|
|
print "\@$_";
|
|
$/ = ">";
|
|
$_ = <$fhs>; $q = <$fhq>;
|
|
chomp; chomp($q);
|
|
$q =~ s/\s*(\d+)\s*/chr($1+33)/eg;
|
|
print $_, "+\n";
|
|
for (my $i = 0; $i < length($q); $i += 60) {
|
|
print substr($q, $i, 60), "\n";
|
|
}
|
|
$/ = "\n";
|
|
}
|
|
|
|
close($fhs); close($fhq);
|