notpron

Deutsche Lösungen zu Notpron
git clone git://xatko.vsos.ethz.ch/notpron.git
Log | Files | Refs

commit 9917f0be67ca5b45295652673d84371d34551996
parent 5520730315ef6b87425da00e6527ef42d794f410
Author: Dominik Schmidt <das1993@hotmail.com>
Date:   Tue,  1 Sep 2015 15:48:10 +0200

Level 48 gelöst.

Diffstat:
Levels.tex | 11+++++++++++
Objects/Program/D/BasePair.d | 50++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 61 insertions(+), 0 deletions(-)

diff --git a/Levels.tex b/Levels.tex @@ -691,3 +691,14 @@ Findet man den mit ? markierten akkord im Titel heraus, bekommt man ein verminderetes Ges. Findet man die Notation heraus, erhält man \nurl{gbdim.htm} } +\nplvl{GTTGCTCTTGAAAATACTATTAATGAA}{http://deathball.net/notpron/threethreethree/gbdim.htm}{extra}{fun} +{ + \begin{hints} + \hint{Details aus der Mittelschule vergessen(Komplementärstrang, etc.)} + \hint{Genetic code googlen} + \hint{Unbedingt englische Bezeichnungen der Aminosäuren verwenden!} + \end{hints} +}{ + Im Titel ist eine Basensequenz, die ganz stupide in die englischen + Aminosäuren übertragen in den Anfangsbuchstaben das Wort ,,VALENTINE'' bilden. +} diff --git a/Objects/Program/D/BasePair.d b/Objects/Program/D/BasePair.d @@ -0,0 +1,50 @@ +import std.stdio; +import std.range; + + +struct AminoAcid{ + string name; + bool start; + bool stop; + this(string str, bool start=false, bool stop=false){ + name=str; + this.start=start; + this.stop=stop; + } + this(char sname, bool start=false, bool stop=false){ + name=""~sname; + this.start=start; + this.stop=stop; + } +} +struct AminoAcidTable{ + private immutable static char[] AminoAcids = "FFLLSSSSYY**CC*WLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG"; + private immutable static char[] Starts = "---M---------------M---------------M----------------------------"; + private immutable static char[] Base1 = "TTTTTTTTTTTTTTTTCCCCCCCCCCCCCCCCAAAAAAAAAAAAAAAAGGGGGGGGGGGGGGGG"; + private immutable static char[] Base2 = "TTTTCCCCAAAAGGGGTTTTCCCCAAAAGGGGTTTTCCCCAAAAGGGGTTTTCCCCAAAAGGGG"; + private immutable static char[] Base3 = "TCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAGTCAG"; + + AminoAcid table[char[3]]; + void initialize(){ + char am[3]; + AminoAcid ac; + for(uint i=0; i<AminoAcids.length; i++){ + am[0]=Base1[i]; + am[1]=Base2[i]; + am[2]=Base3[i]; + table[am]=AminoAcid(AminoAcids[i],(Starts[i]!='-'),(AminoAcids[i]=='*')); + } + } +} + +static AminoAcidTable aat; + +void main(){ + string str="GTTGCTCTTGAAAATACTATTAATGAA"; + aat.initialize(); + writeln(aat.table.byValue()); + foreach(seq; str.chunks(3)){ + char[] d=seq.map!(a=>cast(char)a).array; + write(aat.table[d[0..3]].name); + } +}