0
|
1 #!/usr/bin/perl -w
|
|
2
|
|
3 use strict;
|
|
4 use warnings;
|
|
5
|
|
6 die("Usage: qualfa2fq.pl <in.fasta> <in.qual>\n") if (@ARGV != 2);
|
|
7
|
|
8 my ($fhs, $fhq, $q);
|
|
9 open($fhs, ($ARGV[0] =~ /\.gz$/)? "gzip -dc $ARGV[0] |" : $ARGV[0]) || die;
|
|
10 open($fhq, ($ARGV[1] =~ /\.gz$/)? "gzip -dc $ARGV[1] |" : $ARGV[1]) || die;
|
|
11
|
|
12 $/ = ">"; <$fhs>; <$fhq>; $/ = "\n";
|
|
13 while (<$fhs>) {
|
|
14 $q = <$fhq>;
|
|
15 print "\@$_";
|
|
16 $/ = ">";
|
|
17 $_ = <$fhs>; $q = <$fhq>;
|
|
18 chomp; chomp($q);
|
|
19 $q =~ s/\s*(\d+)\s*/chr($1+33)/eg;
|
|
20 print $_, "+\n";
|
|
21 for (my $i = 0; $i < length($q); $i += 60) {
|
|
22 print substr($q, $i, 60), "\n";
|
|
23 }
|
|
24 $/ = "\n";
|
|
25 }
|
|
26
|
|
27 close($fhs); close($fhq);
|