A really rewarding course this week - Perl programming, for a dozen bright delegates in the bioinformatics field - the people who have defined the human code as billions of C A T and Gs and are then fuzzy matching against that human code to help in medical research. I hope I am forgiven for that simplistic explanation - THEY are the experts at the algorithms, not me. On a course such as this we add their knowledge of the data to my Perl and come up with a glue that is greater than the sum of the components.
The C A T and G letters go together in groups of 3 to make up Amino Acids ... of which there are 24. A hash is a very good way to set up and use this data, and a regular expression substitute is a short (but it must be admitted inefficient) way of translating 3 at a time. Of course, you don't know where in the sequence to start, so there are three possible strings ... see the sample program
[here].
I'm sitting in Edinburgh Waverley station this evening, awaiting the sleeper train back to London. Home, midmorning tomorrow. It's been a long week too ... (written 2011-06-24)
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
P212 - Perl - More on Character Strings [453] Commenting Perl regular expressions - (2005-09-30)
[583] Remember to process blank lines - (2006-01-31)
[586] Perl Regular Expressions - finding the position and length of the match - (2006-02-02)
[597] Storing a regular expression in a perl variable - (2006-02-09)
[608] Don't expose your regular expressions - (2006-02-15)
[737] Coloured text in a terminal from Perl - (2006-05-29)
[928] C++ and Perl - why did they do it THAT way? - (2006-11-16)
[943] Matching within multiline strings, and ignoring case in regular expressions - (2006-11-25)
[1222] Perl, the substitute operator s - (2007-06-08)
[1230] Commenting a Perl Regular Expression - (2007-06-12)
[1251] Substitute operator / modifiers in Perl - (2007-06-28)
[1305] Regular expressions made easy - building from components - (2007-08-16)
[1336] Ignore case in Regular Expression - (2007-09-08)
[1510] Handling Binary data (.gif file example) in Perl - (2008-01-17)
[1727] Equality and looks like tests - Perl - (2008-07-29)
[1735] Finding words and work boundaries (MySQL, Perl, PHP) - (2008-08-03)
[1947] Perl substitute - the e modifier - (2008-12-16)
[2230] Running a piece of code is like drinking a pint of beer - (2009-06-11)
[2379] Making variables persistant, pretending a database is a variable and other Perl tricks - (2009-08-27)
[2657] Want to do a big batch edit? Nothing beats Perl! - (2010-03-01)
[2801] Binary data handling with unpack in Perl - (2010-06-10)
[2834] Teaching examples in Perl - third and final part - (2010-06-27)
[2874] Unpacking a Perl string into a list - (2010-07-16)
[2877] Further more advanced Perl examples - (2010-07-19)
[2993] Arrays v Lists - what is the difference, why use one or the other - (2010-10-10)
[3059] Object Orientation in an hour and other Perl Lectures - (2010-11-18)
[3100] Looking ahead and behind in Regular Expressions - double matching - (2010-12-23)
[3322] How much has Perl (and other languages) changed? - (2011-06-10)
[3411] Single and double quotes strings in Perl - what is the difference? - (2011-08-30)
[3546] The difference between dot (a.k.a. full stop, period) and comma in Perl - (2011-12-09)
[3630] Serialsing and unserialising data for storage and transfer in Perl - (2012-02-28)
[3650] Possessive Regular Expression Matching - Perl, Objective C and some other languages - (2012-03-12)
[3707] Converting codons via Amino Acids to Proteins in Perl - (2012-04-25)
[3927] First match or all matches? Perl Regular Expressions - (2012-11-19)
[4452] Binary data handling - Python and Perl - (2015-03-09)
P050 - Perl - General [116] The next generation of programmer - (2004-11-13)
[400] New in the shops - (2005-08-01)
[743] How to debug a Perl program - (2006-06-04)
[1750] Glorious (?) 12th August - what a Pe(a)rl! - (2008-08-12)
[1897] Keeping on an even keel - (2008-11-21)
[2228] Where do I start when writing a program? - (2009-06-11)
[2242] So what is this thing called Perl that I keep harping on about? - (2009-06-15)
[2374] Lead characters on Perl variable names - (2009-08-24)
[2504] Learning to program in ... - (2009-11-15)
[2736] Perl Course FAQ - (2010-04-23)
[2783] The Perl Survey - (2010-05-27)
[2825] Perl course - is it tailored to Linux, or Microsoft Windows? - (2010-06-25)
[2971] Should the public sector compete with businesses? and other deep questions - (2010-09-26)
[3093] How many toilet rolls - hotel inventory and useage - (2010-12-18)
[3407] Perl - a quick reminder and revision. Test yourself! - (2011-08-26)
[3823] Know Python or PHP? Want to learn Perl too? - (2012-07-31)
[3902] Shell - Grep - Sed - Awk - Perl - Python - which to use when? - (2012-10-22)
[3911] How well do you know Perl and / or Python? - (2012-11-04)
[4296] Polishing the Perl courses - updated training - (2014-09-17)
[4301] Perl - still a very effective language indeed for extracting and reporting - (2014-09-20)
Some other Articles
Efficient travel - from Melsksham to Edinburgh by Sleeper TrainPractical Extraction and ReportingA lesson from the sporran market?Honesty and a friendly welcome goes a long wayDNA to Amino Acid - a sample Perl scriptComparing Alloa and Melksham - stations and servicesA lot of exercise this weekPerl from basicsSummer Sundays - days out by train from Swindon on the TransWiltsWhy are chefs miserable?