Thread my richtig setzen
(18 answers)
Opened by Byonik at 2010-06-24 10:28
Cosspost
1. http://www.perlboard.de/?id=9969 2. Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 #!use/bin/perl -w use strict; use warnings; # initalisieren... my %aa=( 'S'=>[qw(TCA TCC TCG TCT AGC AGT)], 'F'=>[qw(TTC TTT)], 'L'=>[qw(TTA TTG CTA CTC CTG CTT)], 'Y'=>[qw(TAC TAT)], '_'=>[qw(TAA TAG)], 'C'=>[qw(TGC TGT TGA)], 'W'=>[qw(TGG)], 'P'=>[qw(CCA CCC CCG CCT )], 'H'=>[qw(CAC CAT)], 'Q'=>[qw(CAA CAG)], 'R'=>[qw(CGA CGC CGG CGT AGA AGG)], 'I'=>[qw(ATA ATC ATT)], 'M'=>[qw(ATG)], 'T'=>[qw(ACA ACC ACG ACT)], 'N'=>[qw(AAC AAT)], 'K'=>[qw(AAA AAG)], 'V'=>[qw(GTA GTC GTG GTT)], 'A'=>[qw(GCA GCC GCG GCT)], 'D'=>[qw(GAC GAT)], 'E'=>[qw(GAA GAG)], 'G'=>[qw(GGA GGC GGG GGT)], ); # daten umformen my %codons; for my $key (keys(%aa)) { $codons{$_}=$key for(@{$aa{$key}}); } # von Komandozeile lesen # oder Nachfragen my $file=shift(@ARGV); unless($file) { print "schreibe Dateinamen: "; $file=<STDIN>; #Zeilenumbruch abschneiden chomp($file); } # dna aus Datei lesen my $dns; open(my $fh ,'<', $file) || error("ERROR open $file ($!)"); { # zeilentrenner ignorieren local $/=undef; # Alles in Großschreibung wandeln $dns=uc(<$fh>); } close($fh); # alles unötige löschen $dns=~s/[\s\r\n]+//isg; my $protein =''; # immer 3 Zeichen vorne abschneiden while(my $codon=substr($dns,0,3,'')) { my $aa=$codons{$codon}; error(qq(ERROR convert "$codon"!)) unless($aa); $protein.=$aa; } print "$protein\n"; ende(); ######################################################################## sub error { my $msg=shift || ''; print STDERR "$msg\n"; <STDIN>; exit 1; } sub ende { <STDIN>; exit; } Last edited: 2010-06-24 11:56:27 +0200 (CEST) |