kann man das mit purebasic?
da die kodierung von aminosäuren in dna ja redundant ist, würde ich die aminosäuren eher in einem integer array speichern, deren werte symbolisch für die aminosäuren stehen. damit ist es dann später einfacher alle permutationen der dna sequenz aufzubauen, die eine bestimmte aminosäure-sequenz kodieren, weil man dann später nichtmehr mit stringvergleichen hantieren muß.
Zaphod hat geschrieben:da die kodierung von aminosäuren in dna ja redundant ist, würde ich die aminosäuren eher in einem integer array speichern, deren werte symbolisch für die aminosäuren stehen. damit ist es dann später einfacher alle permutationen der dna sequenz aufzubauen, die eine bestimmte aminosäure-sequenz kodieren, weil man dann später nichtmehr mit stringvergleichen hantieren muß.
sach mal bissu biologe oder doch eher informatiker?

also wenn ich das jetzt richtig verstanden habe meinst du man sollte sozusagen alle möglichen DNA-Sequenzen, die für die 8-stellige AS-Sequenz codieren können erstellen und dann mit diesen Versionen nach dem Treffer suchen?
Na ja, ich muß mich jetzt erst mal dran machen, in PureBasic einzusteigen und mir selbiges beizubringen. Um die Feinheiten kümmere ich mich anschließend...

informatiker, aber bei der dna realisierung macht es ja keinen unterschied 
war mal sowas wie ein hobby von mir, habe nur leider sehr viel vergessen. sehr schade, wo es doch da grade wieder so richtig interessant wird durch die debatte, welche bedeutung die bisher vernachlässigten intronen in der dna haben.

war mal sowas wie ein hobby von mir, habe nur leider sehr viel vergessen. sehr schade, wo es doch da grade wieder so richtig interessant wird durch die debatte, welche bedeutung die bisher vernachlässigten intronen in der dna haben.
Mahlzeit!
...das Programm macht gute Fortschritte. Bin auf einem guten Weg.
Jetzt stellt sich bei mir die Frage, wie ich folgendes Problem lösen kann:
Gegeben ist:
1. Definierte Anzahl von Zeichen
(hier z.b. a1, a2, a3, a4 - b1 - c1, c2, c3 - d1, d2, d3, d4, d5)
2. Die Zeichen stehen in einer definierten Reihenfolge hintereinander
(a b c d)
Gesucht wird:
NICHT die Anzahl aller möglichen Kombinationen (die beträgt ja 4*1*3*5=60), sondern der Text aller Kombinationen
(z.b. "a1 b1 c1 d1", "a1 b1 c1 d2", "a1 b1 c1 d3" etc. bis zu "a4 b1 c3 d5")
Wie kann ich mein Programm dazu bringen, daß es mir alle 60 möglichenStrings erstellt und unter verschiedenen (automatisch fortlaufenden) namen als Variabel speichert?
Mittägliche Grüße
Armin

...das Programm macht gute Fortschritte. Bin auf einem guten Weg.
Jetzt stellt sich bei mir die Frage, wie ich folgendes Problem lösen kann:
Gegeben ist:
1. Definierte Anzahl von Zeichen
(hier z.b. a1, a2, a3, a4 - b1 - c1, c2, c3 - d1, d2, d3, d4, d5)
2. Die Zeichen stehen in einer definierten Reihenfolge hintereinander
(a b c d)
Gesucht wird:
NICHT die Anzahl aller möglichen Kombinationen (die beträgt ja 4*1*3*5=60), sondern der Text aller Kombinationen
(z.b. "a1 b1 c1 d1", "a1 b1 c1 d2", "a1 b1 c1 d3" etc. bis zu "a4 b1 c3 d5")
Wie kann ich mein Programm dazu bringen, daß es mir alle 60 möglichenStrings erstellt und unter verschiedenen (automatisch fortlaufenden) namen als Variabel speichert?
Mittägliche Grüße
Armin
Hai ArminF,
nachfolgend ein Code, der Dein Problem lösen könnte (wenn ich es richtig
verstanden habe). Kann man vielleicht auch anders (kürzer und schneller)
lösen. Mir ging es aber darum, für's erste einen Anfänger-kompatiblen
Code zu schreiben.
Grüße ... Kiffi
nachfolgend ein Code, der Dein Problem lösen könnte (wenn ich es richtig
verstanden habe). Kann man vielleicht auch anders (kürzer und schneller)
lösen. Mir ging es aber darum, für's erste einen Anfänger-kompatiblen
Code zu schreiben.
Code: Alles auswählen
a_untergrenze = 1
a_obergrenze = 4
b_untergrenze = 1
b_obergrenze = 1
c_untergrenze = 1
c_obergrenze = 3
d_untergrenze = 1
d_obergrenze = 5
Dim a$(a_obergrenze)
Dim b$(b_obergrenze)
Dim c$(c_obergrenze)
Dim d$(d_obergrenze)
For lCounter = a_untergrenze To a_obergrenze
a$(lCounter)="a" + Str(lCounter)
Next
For lCounter = b_untergrenze To b_obergrenze
b$(lCounter)="b" + Str(lCounter)
Next
For lCounter = c_untergrenze To c_obergrenze
c$(lCounter)="c" + Str(lCounter)
Next
For lCounter = d_untergrenze To d_obergrenze
d$(lCounter)="d" + Str(lCounter)
Next
lCounter = 0
For lCounter_A = a_untergrenze To a_obergrenze
For lCounter_B = b_untergrenze To b_obergrenze
For lCounter_C = c_untergrenze To c_obergrenze
For lCounter_D = d_untergrenze To d_obergrenze
lCounter + 1
Debug Str(lCounter) + ": " + a$(lCounter_A) + " " + b$(lCounter_B) + " " + c$(lCounter_C) + " " + d$(lCounter_D)
Next
Next
Next
Next
Kiffi hat geschrieben:Hai ArminF,
nachfolgend ein Code, der Dein Problem lösen könnte (wenn ich es richtig
verstanden habe). Kann man vielleicht auch anders (kürzer und schneller)
lösen. Mir ging es aber darum, für's erste einen Anfänger-kompatiblen
Code zu schreiben.
Grüße ... Kiffi
hab mir das ganze gerade mal durch den kopf gehen lassen. hatte allerdings ein etwas unglückliches beispiel gewählt mit a1 bis a4 etc. - a1 sollte z.B. für einen String namens "CCT" stehen, a2 für "CCG", a3 für "CCA" und a4 für "CCC". Daher ist das mit der Ober-Untergrenzen-Geschichte eher gestorben für mich, oder?

> - a1 sollte z.B. für einen String namens "CCT" stehen, a2 für "CCG", a3 für
> "CCA" und a4 für "CCC".
ReplaceString() ist Dein Freund.
einfach folgende Zeile:
durch folgendes ersetzen:
Grüße ... Kiffi
> "CCA" und a4 für "CCC".
ReplaceString() ist Dein Freund.
einfach folgende Zeile:
Code: Alles auswählen
myString$ = Str(lCounter) + ": " + a$(lCounter_A) + " " + b$(lCounter_B) + " " + c$(lCounter_C) + " " + d$(lCounter_D)
Code: Alles auswählen
myString$ = Str(lCounter) + ": " + a$(lCounter_A) + " " + b$(lCounter_B) + " " + c$(lCounter_C) + " " + d$(lCounter_D)
myString$ = ReplaceString(myString$, "a1", "CCT")
myString$ = ReplaceString(myString$, "a2", "CCG")
; und so weiter [...]
Debug myString$
Programm ist fertig. Dummerweise nur zu groß für die Demoversion
Na ja egal ich guck mal ob ich das noch hier hereingestellt bekomme, und dann kann man sich das mal angucken ob das so funktionieren sollte.
Werd den selben Spaß wahrscheinlich mit TurboPascal ausprobieren, da hab ich ne Vollversion von...

Na ja egal ich guck mal ob ich das noch hier hereingestellt bekomme, und dann kann man sich das mal angucken ob das so funktionieren sollte.
Werd den selben Spaß wahrscheinlich mit TurboPascal ausprobieren, da hab ich ne Vollversion von...