annotate gccontent.pl @ 0:878ec9a5f8c0 draft default tip

planemo upload
author matthias
date Tue, 08 Jan 2019 09:43:35 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
878ec9a5f8c0 planemo upload
matthias
parents:
diff changeset
1 #!/usr/bin/perl -w
878ec9a5f8c0 planemo upload
matthias
parents:
diff changeset
2
878ec9a5f8c0 planemo upload
matthias
parents:
diff changeset
3 # usage : perl toolExample.pl <FASTA file> <output file>
878ec9a5f8c0 planemo upload
matthias
parents:
diff changeset
4
878ec9a5f8c0 planemo upload
matthias
parents:
diff changeset
5 open (IN, "<$ARGV[0]");
878ec9a5f8c0 planemo upload
matthias
parents:
diff changeset
6 open (OUT, ">$ARGV[1]");
878ec9a5f8c0 planemo upload
matthias
parents:
diff changeset
7 while (<IN>) {
878ec9a5f8c0 planemo upload
matthias
parents:
diff changeset
8 chop;
878ec9a5f8c0 planemo upload
matthias
parents:
diff changeset
9 if (m/^>/) {
878ec9a5f8c0 planemo upload
matthias
parents:
diff changeset
10 s/^>//;
878ec9a5f8c0 planemo upload
matthias
parents:
diff changeset
11 if ($. > 1) {
878ec9a5f8c0 planemo upload
matthias
parents:
diff changeset
12 print OUT sprintf("%.3f", $gc/$length) . "\n";
878ec9a5f8c0 planemo upload
matthias
parents:
diff changeset
13 }
878ec9a5f8c0 planemo upload
matthias
parents:
diff changeset
14 $gc = 0;
878ec9a5f8c0 planemo upload
matthias
parents:
diff changeset
15 $length = 0;
878ec9a5f8c0 planemo upload
matthias
parents:
diff changeset
16 } else {
878ec9a5f8c0 planemo upload
matthias
parents:
diff changeset
17 ++$gc while m/[gc]/ig;
878ec9a5f8c0 planemo upload
matthias
parents:
diff changeset
18 $length += length $_;
878ec9a5f8c0 planemo upload
matthias
parents:
diff changeset
19 }
878ec9a5f8c0 planemo upload
matthias
parents:
diff changeset
20 }
878ec9a5f8c0 planemo upload
matthias
parents:
diff changeset
21 print OUT sprintf("%.3f", $gc/$length) . "\n";
878ec9a5f8c0 planemo upload
matthias
parents:
diff changeset
22 close( IN );
878ec9a5f8c0 planemo upload
matthias
parents:
diff changeset
23 close( OUT );