hola world.
a wave of nostalgia overcame me when i read the
posting re: punnet squares, & i offer the following
wee map-fest in penance for the sundry wrongs & misdemeanors in the classroom of biology teacher mr robinson...
it does the trick in
a fairly simple way, made more complicated by
the presence of pesky column and row titles.
if i wanted to do something with the combinations
generated, like count frequencies, i'd get rid of the unshift's, which are
only there to deal with the row and column titles.
the venerable getopt::long module is used for arg
capture.
# i am not strict
use Getopt::Long;
GetOptions("f=s@" => \@dadAlls,
"m=s@" => \@mumAlls,
"help" => sub {
print "psquare: --f (male allele) --m (female allele)\n"; exit; });
unshift @mumAlls, ""; # for titles.
@psquare = map { my $current = $_; [ map { sprintf("%-10s",$current .
+$_) } @mumAlls ] } @dadAlls;
unshift @psquare, [map { sprintf("%-10s", $_) } @mumAlls];
map { print join "", @$_; print "\n"; } @psquare;
hope that helps.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.