[ use while/until and if/unless to draw attention to positive/negative conditions ]
lecture code viewer
downloads
Code
File I/O
File I/O
Martin Krzywinski
#!/usr/local/bin/perl
$\ = "\n";
my $header;
my %bp;
open(FH,"/home/martink/work/ucsc/hg17/fasta/chr22.fa");
while($line = <FH>) {
chomp $line;
next if $line =~ /^>/;
for $bp (split("",$line)) {
$bp{$bp}++;
}
}
%bpstats = ();
for $bp (keys %bp) {
print qq/$bp $bp{$bp}/;
if($bp =~ /[atcg]/) {
$bpstats{repeat} += $bp{$bp};
} elsif ($bp =~ /n/i) {
$bpstats{padding} += $bp{$bp};
} elsif ($bp =~ /[GC]/) {
$bpstats{gc} += $bp{$bp};
} elsif ($bp =~ /[AT]/) {
$bpstats{at} += $bp{$bp};
} else {
$bpstats{unk} += $bp{$bp};
}
}
for $statistic (sort {$bpstats{$b} <=> $bpstats{$a}} keys %bpstats) {
print qq($statistic $bpstats{$statistic});
}
|
5 |
File I/O |
1.0.1.8.5
1.0.1.8.5.p1 |
File I/O
|
Martin Krzywinski
|
ppt
1.0.1.8.5.c1 |
bes-01
|
Martin Krzywinski
|
code
1.0.1.8.5.c2 |
data.txt
|
Martin Krzywinski
|
code
1.0.1.8.5.c3 |
fasta-01
|
Martin Krzywinski
|
code
1.0.1.8.5.c4 |
fasta-02
|
Martin Krzywinski
|
code
1.0.1.8.5.c5 |
file-01
|
Martin Krzywinski
|
code
1.0.1.8.5.c6 |
file-02
|
Martin Krzywinski
|
code
1.0.1.8.5.c7 |
file-03
|
Martin Krzywinski
|
code
1.0.1.8.5.c8 |
file1.txt
|
Martin Krzywinski
|
code
1.0.1.8.5.c9 |
file2.txt
|
Martin Krzywinski
|
code
1.0.1.8.5.c10 |
printf-01
|
Martin Krzywinski
|
code
1.0.1.8.5.c11 |
randseq.fa
|
Martin Krzywinski
|
code
1.0.1.8.5.c12 |
rx.txt
|
Martin Krzywinski
|
code
1.0.1.8.5.c13 |
sherlock.txt
|
Martin Krzywinski
|
code
1.0.1.8.5.c14 |
sprintf-01
|
Martin Krzywinski
|
code
1.0.1.8.5.c15 |
while-01
|
Martin Krzywinski
|
code
1.0.1.8.5.a1 |
File I/O
|
Martin Krzywinski
|
pdf
1.0.1.8.5.s1 |
File I/O
|
Martin Krzywinski
|
slides
|