DNA Programm

  • Hey,

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 633, 191, 324, 413)
    $Label1 = GUICtrlCreateLabel("DNA Umschreiber =) ", 200, 8, 242, 37)
    GUICtrlSetFont(-1, 18, 400, 0, "Comic Sans MS")
    $Input1 = GUICtrlCreateInput("Input1", 48, 48, 569, 21)
    $Input2 = GUICtrlCreateInput("Input2", 48, 96, 569, 21)
    $Input3 = GUICtrlCreateInput("Input3", 48, 144, 569, 21)
    $Label2 = GUICtrlCreateLabel("DNA", 8, 48, 33, 20)
    GUICtrlSetFont(-1, 11, 400, 0, "MS Sans Serif")
    $Label3 = GUICtrlCreateLabel("mRNA", 0, 96, 44, 20)
    GUICtrlSetFont(-1, 11, 400, 0, "MS Sans Serif")
    $Label4 = GUICtrlCreateLabel("tRNA", 8, 144, 36, 20)
    GUICtrlSetFont(-1, 11, 400, 0, "MS Sans Serif")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    [/autoit] [autoit][/autoit] [autoit]

    EndSwitch
    WEnd

    [/autoit]

    Also, soweit bin ich schonmal xD
    Ich möchte, das jemand einen DNA Code einträgt.
    Zum Beispiel.
    G-A-C-T-A-G-C-G-G-C-G-A-A-A-T
    Dann soll daraus die mRNA gebildet werden.
    (Gegen Stücke!)
    C-U-G-A-U-C-G-C-C-G-C-U-U-U-A
    (Ihr müsst nicht verstehen wie die entsteht.)
    Dann wird daraus die tRNA.
    G-A-C-U-A-G-C-G-G-C-G-A-A-A-U
    (Die Basenpaarung!)

    Naja dies war eben nur ein Beispiel.
    Aber ich möchte, das das Programm, die erste Inputbox ausließt, und daraus, dann die anderen 2 Felder ausfüllt.
    Okay.
    GUICtrlRead (Bla)
    Dann auch.
    GUICtrlSetData (Bla).

    Aber wie bringe ich es dazu,
    den Ausgelesenen Wert. Bei den " - " zu trennen.
    Und dann zum jeweiligen Buchstaben, das passende Gegenstück zu bringen??


    Mfg
    Benne

  • [autoit]

    #include <GUIConstants.au3>

    [/autoit][autoit][/autoit][autoit]

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 633, 220, 324, 413)
    $Label1 = GUICtrlCreateLabel("DNA Umschreiber =) ", 200, 8, 242, 37)
    GUICtrlSetFont(-1, 18, 400, 0, "Comic Sans MS")
    $Input1 = GUICtrlCreateInput("", 48, 48, 569, 21)
    $Input2 = GUICtrlCreateInput("", 48, 96, 569, 21)
    $Input3 = GUICtrlCreateInput("", 48, 144, 569, 21)
    $Label2 = GUICtrlCreateLabel("DNA", 8, 48, 33, 20)
    $button = GUICtrlCreateButton("Umschreiben",250,180,100)
    GUICtrlSetFont(-1, 11, 400, 0, "MS Sans Serif")
    $Label3 = GUICtrlCreateLabel("mRNA", 0, 96, 44, 20)
    GUICtrlSetFont(-1, 11, 400, 0, "MS Sans Serif")
    $Label4 = GUICtrlCreateLabel("tRNA", 8, 144, 36, 20)
    GUICtrlSetFont(-1, 11, 400, 0, "MS Sans Serif")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit][autoit][/autoit][autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $button
    $test = GUICtrlRead($Input1)
    $str = StringSplit($test,"-")
    For $i = 1 to $str[0]
    MsgBox(64,"lol",$str[$i])
    Next
    EndSwitch
    WEnd

    [/autoit]

    Habe es dir mal gesplittet und in einer MSGbox angezeigt. Denke den rest kriegst du selber hin.

  • kleiner tipp: tRNA ist gleich aufgebaut wie der DNA-Stzrang ;) nur T(hymin) gegen U(racil) ausgetauscht. da reicht ein Stringreplace T gegen U :P

  • Das mit Thymin und Uracil weiß ich :D
    Nur in Bio wollte die das so von uns haben xD

    Trotzdem Danke ;)

    Aber noch ne Kurze Frage.

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 633, 220, 324, 413)
    $Label1 = GUICtrlCreateLabel("DNA Umschreiber =) ", 200, 8, 242, 37)
    GUICtrlSetFont(-1, 18, 400, 0, "Comic Sans MS")
    $Input1 = GUICtrlCreateInput("", 48, 48, 569, 21)
    $Input2 = GUICtrlCreateInput("", 48, 96, 569, 21)
    $Input3 = GUICtrlCreateInput("", 48, 144, 569, 21)
    $Label2 = GUICtrlCreateLabel("DNA", 8, 48, 33, 20)
    $Umschreiben = GUICtrlCreateButton("Umschreiben",250,180,100)
    GUICtrlSetFont(-1, 11, 400, 0, "MS Sans Serif")
    $Label3 = GUICtrlCreateLabel("mRNA", 0, 96, 44, 20)
    GUICtrlSetFont(-1, 11, 400, 0, "MS Sans Serif")
    $Label4 = GUICtrlCreateLabel("tRNA", 8, 144, 36, 20)
    GUICtrlSetFont(-1, 11, 400, 0, "MS Sans Serif")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Umschreiben
    $DNA = GUICtrlRead($Input1)
    $str = StringSplit($DNA,"-")
    For $i = 1 to $str[0]
    If $str = "A" Then
    MsgBox (1,"Ergebniss", $str[0])
    ElseIf $str not = "A" Then
    MsgBox (1, "Sorry", "Kein Adenin =(")
    EndIf
    Next
    EndSwitch
    WEnd

    [/autoit]

    Jetzt nur als Beispiel für Adenin.
    Der Rest kommt dann^^
    Also, der gibt immer aus: "Sorry kein Adenin =(".
    Warum?
    Ich finde irgendwie den Fehler nicht.

  • Du hast deinen String in ein Array getrennt. Also musst du mit
    $str[$i] darauf zugreifen.

    Zu dem kleinen Tipp: ist klar, dass die Lehrer das nicht wollen, aber es muss doch niemand sehen, wie du die Strings in deinem Programm bearbeitest ;)

  • :D:D
    Also soo war das nicht gemeint ;)
    Ich meine nur, dass die will, das wir erst mRNA machen und dann so selber ausem Kopf die tRNA machen.. :D
    Hat generell nichts mim Programm zu tun xD
    Naja.^^

    Dann greif ich so mal druaf zu =)
    Mal gucknen was bei rauskommt :D

  • Oh wei,
    ich bekomm auch gar nichts auf die Reihe. :D

    [autoit]

    For $i = 1 to $str[0]
    If $str[$i] = "A" Then
    MsgBox (1,"Ergebniss", "Es ist Adenin =)")
    ElseIf $str[$i] not = "A" Then
    MsgBox (0, "Sorry", "Kein Adenin =(")
    EndIf
    Next

    [/autoit]

    Wenn rauskommt, "Es ist Adenin", dann verlässt es die Schleife, und wird nicht nochmal für die anderen Strings durchgeführt, warum wird die denn verlassen?

    Mfg
    Benne

  • deine Abfrage stimmt nicht. in AutoIt gibt es diese zwei möglichkeiten für Ungleich:
    1) If Not ($a = $b) Then
    2) If $a <> $b Then

  • Also =)
    Danke für alles =)
    Es geht ;)
    Bis auf die mRNA.
    Gibt es mehrere Möglichkeiten für nen StringReplace?

    Ich wollte es so machen.

    [autoit]

    $mRNA = StringReplace ($DNA, ("T", "U") or ("G", "C")

    [/autoit]

    Geht das irgendwie so? xD