Monday, February 09, 2009

head full of straw

Fuck you perl! Why is this so hard?

I want to join an array composed of sequence that I split based on position within the array. I spent the last two hours figuring out how to do this, and this is all I came up with. It works, but Jesus:

#!/usr/bin/perl

use strict;
use warnings;

my $seq = qw(GGGCCGGCTCGCGGGCGCTGCCAGTCTCGGGCGGCGGTGTCCGGCGCG
CGGGCGGCCTGCTGGGCGGGCTGAAGGGTTAGCGGAGCACGGGCAAGGCG
GAGAGTGACGGAGTCGGCGAGCCCCCGCGGCGACAGGTTCTCTACTTAAAA
GACAATGACTACTGATGAAGGTGCCAAGAACAATGAAGAAAGCCCCACAGC
CACTGTTGCTGAGCAGGGAGAGGATATTACCTCCAAAAAAGACAGGGGAGT
ATTAAAGATTGTCAAAAGAGTGGGGAATGGTGAGGAAACGCCGATGATTGG
AGACAAAGTTTATGTCCATTACAAAGGAAAATTGTCAAATGGAAAGAAGTTT
GATTCCAGTCATGATAGAAATGAACCATTTGTCTTTAGTCTTGGCAAAGGCC
AAGTCATCAAGGCATGGGACATTGGGGTGGCTACCATGAAGAAAGGAGAGA
TATGCCATTTACTGTGCAAACCAGAATATGCATATGGCTCGGCTGGCAGTCT
CCCTAAAATTCCCTCGAATGCAACTCTCTTTTTTGAGATTGAGCTCCTTGATT
TCAAAGGAGAGGATTTATTTGAAGATGGAGGCATTATCCGGAGAACCAAACG
GAAAGGAGAGGGATATTCAAATCCAAACGAAGGAGCAACAGTAGAAATCCA
CCTGGAAGGCCGCTGTGGTGGAAGGATGTTTGACTGCAGAGATGTGGCATT
CACTGTGGGCGAAGGAGAAGACCACGACATTCCAATTGGAATTGACAAAGC
TCTGGAGAAAATGCAGCGGGAAGAACAATGTATTTTATATCTTGGACCAAGA
TATGGTTTTGGAGAGGCAGGGAAGCCTAAATTTGGCATTGAACCTAATGCTG
AGCTTATATATGAAGTTACACTTAAGAGCTTCGAAAAGGCCAAAGAATCCTG
GGAGATGGATACCAAAGAAAAATTGGAGCAGGCTGCCATTGTCAAAGAGAA
GGGAACCGTATACTTCAAGGGAGGCAAATACATGCAGGCGGTGATTCAGTAT
GGGAAGATAGTGTCCTGGTTAGAGATGGAATATGGTTTATCAGAAAAGGAAT
CGAAAGCTTCTGAATCATTTCTCCTTGCTGCCTTTCTGAACCTGGCCATGTGC
TACCTGAAGCTTAGAGAATACACCAAAGCTGTTGAATGCTGTGACAAGGCCC
TTGGACTGGACAGTGCCAATGAGAAAGGCTTGTATAGGAGGGGTGAAGCCC
AGCTGCTCATGAACGAGTTTGAGTCAGCCAAGGGTGACTTTGAGAAAGTGCT
GGAAGTAAACCCCCAGAATAAGGCTGCAAGACTGCAGATCTCCATGTGCCAG
AAAAAGGCCAAGGAGCACAACGAGCGGGACCGCAGGATATACGCCAACATG
TTCAAGAAGTTTGCAGAGCAGGATGCCAAGGAAGAGGCCAATAAAGCAATGG
GCAAGAAGACTTCAGAAGGGGTCACTAATGAAAAAGGAACAGACAGTCAAGC
AATGGAAGAAGAGAAACCTGAGGGCCACGTATGACGCCACGCCAAGGAGGG
AAGAGTCCCAGTGAACTCGGCCCCTCCTCAATGGGCTTTCCCCCAACTCAGG
ACAGAACAGTGTTTAATGTAAAGTTTGTTATAGTCTATGTGATTCTGGAAGCA
AATGGCAAAACCAGTAGCTTCCCAAAAACAGCCCCCCTGCTGCTGCCCGGAG
GGTTCACTGAGGGGTGGCACGGGACCACTCCAGGTGGAACAAACAGAAATGA
CTGTGGTGTGGAGGGAGTGAGCCAGCAGCTTAAGTCCAGCTCATTTCAGTTT
CTATCAACCTTCAAGTATCCAATTCAGGGTCCCTGGAGATCATCCTAACAATG
TGGGGCTGTTAGGTTTTACCTTTGAACTTTCATAGCACTGCAGAAACCTTTTA
AAAAAAAATGCTTCATGAATTTCTCCTTTCCTACAGTTGGGTAGGGTAGGGGA
AGGAGGATAAGCTTTTGTTTTTTAAATGACTGAAGTGCTATAAATGTAGTCTG
TTGCATTTTTAACCAACAGAACCCACAGTAGAGGGGTCTCATGTCTCCCCAGT
TCCACAGCAGTGTCACAGACGTGAAAGCCAGAACCTCAGAGGCCACTTGCTT
GCTGACTTAGCCTCCTCCCAAAGTCCCCCTCCTCAGCCAGCCTCCTTGTGAGA
GTGGCTTTCTACCACACACAGCCTGTCCCTGGGGGAGTAATTCTGTCATTCCT
AAAACACCCTTCAGCAATGATAATGAGCAGATGAGAGTTTCTGGATTAGCTTT
TCCTATTTTCGATGAAGTTCTGAGATACTGAAATGTGAAAAGAGCAATCAGAA
TTGTGCTTTTTCTCCCCTCCTCTATTCCTTTTAGGGAATAATATTCAATACACA
GTACTTCCTCCCAGCATTGCTACTGCTCAGCTTCTTCTTTCATTCTAATCCTTG
CTATTAAGAATTTAAGACTTGTGCTTACAATATTTTTGACCTGGAGTGGATCT
ATTTACATAGTCATTTAGGATCCATGCAGCTTTTTTTGTCTTTTTAAGATTATT
GGCTCATAAGCATATGTATACTGGTTTATGGAACTTTATTTACACTCCTCTATC
ATGCAAAAAAATTTTGACTTTTTAGTACTAAGCTTAATTTTTAAAAACAAAATC
TGTAGTGTTGACAAATAAATAGTTGCTCTTCTACACTAGGGGTTTCACCTGCA
GGTTTGACACGCAGTTGCTCGCTTTTCCTGCCCTGTCAAGCTTCTCTGTTCTG
GCGTGAGTTGTGAAAGAGTTGAAGACAGCTTCCCATGCCGGTACACAGCCAG
TAGCCTAAATCTCCAGTACTTGAGCTGACCATTGAACTAGGGCAAGTCTTAAA
TGTGTACATGTAGTTGAATTTCAGTCCTTACGGGTAAACAGATTGAGCATGGC
TCTCTATTCCCTCAGCCTAAGAAACACTCATGGGAATGCATTTGGCAACCCAA
GGAACCATTTGCTTAAACCTGGAACATCTCACCTTTTTAAATCCTAAAAAACA
CTGGCAGTTATATTTTAAATTAGTTTTTATTTTTATGATGGTTTTATCAAAAGA
CTTTTATTATTAGATTGGGACCCCCTTCAAACCTAAAAATCAAGTTATTTCCTT
TTATAATACTTTTCTTCCCCATGGAACAAATGGGATCAATTTGTGAGTTTTTTC
CTTTAATGATAACTAAAATCCCTCTAATTTCTCATTTATGCTTTTGTCTTTTTTA
TGAAATATTTCTTTTAAAAGCCCCAGTCTCACCTACGAAATATGAAGAGCAAA
AGCTGATTTTGCTTACTTGCTAAACTGTTGGGAAAGCTCTGTAGAGCATGGTT
CCAGTGAGGCCAAGATTGAAATTTGATACTAAAAAGGCCACCTAGCTTTTTGC
AGATAACAAACAAGAAAGCTATTCCAAGACTCAGATGATGCCAGCTGTCTCCC
ACGTGTGTATTATGGTTCACCAGGGGGAACTGGCAAAAGTGTGTGTGGGGAG
GGGAAGGGTGTGTGAGTGGTTCTGAGCAAATAACTACAGGGTGCCCATTACC
ACTCAAGAAGACACTTCACGTATTCTTGTATCAAATTCAATAATCTTAAACAAT
TTGTGTAGAAGTCCACAGACATCTTTCAACCACCTTTTAGGCTGCATATGGAT
TGCCAAGTCAGCATATGAGGAATTAAAGACATTGTTTTTAAAAAAAAAAAATC
ATTTAGATGCACTTTTTTGTGTGTTCTTTAAATAAATCCAAAAAAAATGTGAAA
AAAAAAA);


my @x = split //, $seq;

my $exon_breaks= "0,133,257,402,545,660,817,908,992,1178,1418,3770";

my @y = split (/,/, $exon_breaks);


sub get_exon_sequence{

my @array = ($y[0]..$y[1]);

my $exon = join "", @x[@array];

print "$exon \n";

shift @y;

}

until($y[1] eq undef){&get_exon_sequence};

Wednesday, February 04, 2009

Lots of people that suck

So this semester I'm taking genomics, which is cool. But we have to learn perl. Which is also cool.

Except I have no programming experience, and this is a trial-by-fire if there ever was one.

Things are going well so far, I'm just so slow. Every day is an exercise in humility.

The good news? I'm talking to Alan a lot more. He's boss.

Here's a classical "alanism" from tonight:

i'm starting to rethink that - the midwest has its perks,

like friends

normal life

green grass

lots of people that suck, so you look cooler.

****

Two weekends ago I got to see Dimitri Hvorostovsky in SF.

I was happier than Nancy Grace after finding out that the Jon Benet Ramsey case was reopened.

Hvorostovsky did a program of Tchaikovsky, Medtner, and Rachmaninoff lied. I didn't really care for the Tchaikovsky, but the Medtner alone was worth the price of admission ($70).

His sublime legato made it seem like a ventriloquist was singing the consonants. A+.