document.write('<link rel="stylesheet" href="http://gist.github.com/stylesheets/gist/embed.css"/>')





document.write('<div id=\"gist-113590\" class=\"gist\">\n  \n  \n    \n            \n\n      <div class=\"gist-file\">\n        <div class=\"gist-data gist-syntax\">\n          \n          \n          \n            <div class=\"gist-highlight\"><pre><div class=\"line\" id=\"LC1\"><span class=\"k\">sub <\/span><span class=\"nf\">translate<\/span> <span class=\"p\">{<\/span><\/div><div class=\"line\" id=\"LC2\">&nbsp;<\/div><div class=\"line\" id=\"LC3\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">my<\/span> <span class=\"p\">(<\/span> <span class=\"nv\">$filename<\/span><span class=\"p\">,<\/span> <span class=\"nv\">$fullpath<\/span> <span class=\"p\">)<\/span> <span class=\"o\">=<\/span> <span class=\"nv\">@_<\/span><span class=\"p\">;<\/span><\/div><div class=\"line\" id=\"LC4\">&nbsp;<\/div><div class=\"line\" id=\"LC5\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">my<\/span> <span class=\"nv\">$seqI<\/span> <span class=\"o\">=<\/span> <span class=\"nn\">Bio::<\/span><span class=\"n\">SeqIO<\/span><span class=\"o\">-&gt;<\/span><span class=\"k\">new<\/span><span class=\"p\">(<\/span> <span class=\"o\">-<\/span><span class=\"n\">file<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"nv\">$fullpath<\/span> <span class=\"p\">);<\/span><\/div><div class=\"line\" id=\"LC6\">&nbsp;<\/div><div class=\"line\" id=\"LC7\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">my<\/span> <span class=\"nv\">$tempfile<\/span> <span class=\"o\">=<\/span> <span class=\"nn\">File::<\/span><span class=\"n\">Temp<\/span><span class=\"o\">-&gt;<\/span><span class=\"k\">new<\/span><span class=\"p\">(<\/span> <span class=\"n\">SUFFIX<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"s\">&#39;.fasta&#39;<\/span> <span class=\"p\">)<\/span><span class=\"o\">-&gt;<\/span><span class=\"n\">filename<\/span><span class=\"p\">;<\/span><\/div><div class=\"line\" id=\"LC8\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">my<\/span> <span class=\"nv\">$seqO<\/span>     <span class=\"o\">=<\/span> <span class=\"nn\">Bio::<\/span><span class=\"n\">SeqIO<\/span><span class=\"o\">-&gt;<\/span><span class=\"k\">new<\/span><span class=\"p\">(<\/span><\/div><div class=\"line\" id=\"LC9\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"o\">-<\/span><span class=\"n\">file<\/span>   <span class=\"o\">=&gt;<\/span> <span class=\"s\">&quot;&gt;$tempfile&quot;<\/span><span class=\"p\">,<\/span><\/div><div class=\"line\" id=\"LC10\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"o\">-<\/span><span class=\"nb\">format<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"s\">&#39;fasta&#39;<\/span><\/div><div class=\"line\" id=\"LC11\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">);<\/span><\/div><div class=\"line\" id=\"LC12\">&nbsp;<\/div><div class=\"line\" id=\"LC13\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">my<\/span> <span class=\"nv\">$outcome<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">0<\/span><span class=\"p\">;<\/span><\/div><div class=\"line\" id=\"LC14\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">while<\/span> <span class=\"p\">(<\/span> <span class=\"k\">my<\/span> <span class=\"nv\">$seq<\/span> <span class=\"o\">=<\/span> <span class=\"nv\">$seqI<\/span><span class=\"o\">-&gt;<\/span><span class=\"n\">next_seq<\/span> <span class=\"p\">)<\/span> <span class=\"p\">{<\/span><\/div><div class=\"line\" id=\"LC15\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">if<\/span> <span class=\"p\">(<\/span> <span class=\"nv\">$seq<\/span><span class=\"o\">-&gt;<\/span><span class=\"n\">alphabet<\/span> <span class=\"ow\">eq<\/span> <span class=\"s\">&#39;dna&#39;<\/span> <span class=\"p\">)<\/span> <span class=\"p\">{<\/span><\/div><div class=\"line\" id=\"LC16\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nv\">$seq<\/span>     <span class=\"o\">=<\/span> <span class=\"nv\">$seq<\/span><span class=\"o\">-&gt;<\/span><span class=\"n\">translate<\/span><span class=\"p\">;<\/span><\/div><div class=\"line\" id=\"LC17\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nv\">$outcome<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">1<\/span><span class=\"p\">;<\/span><\/div><div class=\"line\" id=\"LC18\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">}<\/span><\/div><div class=\"line\" id=\"LC19\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nv\">$seqO<\/span><span class=\"o\">-&gt;<\/span><span class=\"n\">write_seq<\/span><span class=\"p\">(<\/span><span class=\"nv\">$seq<\/span><span class=\"p\">);<\/span><\/div><div class=\"line\" id=\"LC20\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"p\">}<\/span><\/div><div class=\"line\" id=\"LC21\">&nbsp;<\/div><div class=\"line\" id=\"LC22\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nv\">$_<\/span><span class=\"o\">-&gt;<\/span><span class=\"nb\">close<\/span> <span class=\"k\">for<\/span> <span class=\"p\">(<\/span> <span class=\"nv\">$seqI<\/span><span class=\"p\">,<\/span> <span class=\"nv\">$seqO<\/span> <span class=\"p\">);<\/span><\/div><div class=\"line\" id=\"LC23\">&nbsp;<\/div><div class=\"line\" id=\"LC24\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"c1\"># $outcome will be true only if seq is dna and move succeded.<\/span><\/div><div class=\"line\" id=\"LC25\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nv\">$outcome<\/span> <span class=\"o\">*=<\/span> <span class=\"n\">move<\/span><span class=\"p\">(<\/span> <span class=\"nv\">$tempfile<\/span><span class=\"p\">,<\/span> <span class=\"nv\">$fullpath<\/span> <span class=\"p\">);<\/span><\/div><div class=\"line\" id=\"LC26\">&nbsp;<\/div><div class=\"line\" id=\"LC27\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"n\">notify<\/span><span class=\"p\">(<\/span> <span class=\"nv\">$outcome<\/span><span class=\"p\">,<\/span> <span class=\"nv\">$filename<\/span> <span class=\"p\">);<\/span> <span class=\"c1\"># Preach it!<\/span><\/div><div class=\"line\" id=\"LC28\"><span class=\"p\">}<\/span><\/div><div class=\"line\" id=\"LC29\">&nbsp;<\/div><div class=\"line\" id=\"LC30\"><span class=\"k\">sub <\/span><span class=\"nf\">notify<\/span> <span class=\"p\">{<\/span><\/div><div class=\"line\" id=\"LC31\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">my<\/span> <span class=\"p\">(<\/span> <span class=\"nv\">$success<\/span><span class=\"p\">,<\/span> <span class=\"nv\">$file<\/span> <span class=\"p\">)<\/span> <span class=\"o\">=<\/span> <span class=\"nv\">@_<\/span><span class=\"p\">;<\/span><\/div><div class=\"line\" id=\"LC32\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">my<\/span>   <span class=\"nv\">$message<\/span><span class=\"p\">;<\/span><\/div><div class=\"line\" id=\"LC33\">&nbsp;<\/div><div class=\"line\" id=\"LC34\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">if<\/span> <span class=\"p\">(<\/span> <span class=\"nv\">$success<\/span> <span class=\"p\">)<\/span> <span class=\"p\">{<\/span> <span class=\"nv\">$message<\/span> <span class=\"o\">=<\/span> <span class=\"s\">&quot;Translated $file&quot;<\/span>     <span class=\"p\">}<\/span><\/div><div class=\"line\" id=\"LC35\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"k\">else<\/span>            <span class=\"p\">{<\/span> <span class=\"nv\">$message<\/span> <span class=\"o\">=<\/span> <span class=\"s\">&quot;$file not translated&quot;<\/span> <span class=\"p\">}<\/span><\/div><div class=\"line\" id=\"LC36\">&nbsp;<\/div><div class=\"line\" id=\"LC37\">&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"nn\">Gtk2::<\/span><span class=\"n\">Notify<\/span><span class=\"o\">-&gt;<\/span><span class=\"k\">new<\/span><span class=\"p\">(<\/span> <span class=\"s\">&#39;Attention&#39;<\/span><span class=\"p\">,<\/span> <span class=\"nv\">$message<\/span> <span class=\"p\">)<\/span><span class=\"o\">-&gt;<\/span><span class=\"n\">show<\/span><span class=\"p\">;<\/span><\/div><div class=\"line\" id=\"LC38\"><span class=\"p\">}<\/span><\/div><\/pre><\/div>\n          \n        <\/div>\n\n        <div class=\"gist-meta\">\n          <a href=\"http://gist.github.com/raw/113590/d89f5ac029a413778f123efedbc7a42651afe306/translate-3.pl\" style=\"float:right;\">view raw<\/a>\n          <a href=\"http://gist.github.com/113590#file_translate_3.pl\" style=\"float:right;margin-right:10px;color:#666\">translate-3.pl<\/a>\n          <a href=\"http://gist.github.com/113590\">This Gist<\/a> brought to you by <a href=\"http://github.com\">GitHub<\/a>.\n        <\/div>\n      <\/div>\n    \n  \n<\/div>\n')
