Zum Inhalt springen

Variable in einer Variable?


Nefa

Empfohlene Beiträge

Hallo,

ich habe folgendes Problem.

Ich möchte ein Programm für eine DNA Restriktion (Schnitt mit Enzymen um die DNA an bestimmten Stellen zu teilen) schreiben.

Nun bin ich so weit, dass ich eine while Schleife anwenden möchte, um die einzelnen Sequenzlängen zu bestimmten.

Da diese Programm aber für jedes beliebige Enzym funktionieren soll, kann ich nicht eine feste Anzahl an Variablen benutzen, da man im vorraus nie weiß wie viele Schnitte es geben wird.

Ist es möglich eine Variable mit einer Variablen zu verknüpfen?

Der genaue Ablauf soll so Aussehen:

Ich gebe die DNA Sequenz in ein festgelegtes Textdokument, welches dann in das Programm eingefügt wird.

Als nächstes wird die Erkennungssequenz per <STDIN> eingegeben und die Restriktion durchgeführt.

Diese Restriktion ird als Array gespeichert und die Anzahl der Inhalte des Arrays entspricht dann der Anzahl der Sequenzen.

Und da liegt jetzt das Problem. Die Länge der einzelnen Sequenzen zu bestimmen ist ja kein Problem aber man muss dann ja manuell jedes mal neu programmieren, abhängig der Anzahl der Fragmente.

$counter==0;

$nummer==1;

while ($counter<$anzahl){

if($counter=0){

$fragment_1=$sequenz[0].$enzym_1}

elsif ($counter=$anzahl){

$fragment_$anzahl=$enzym_2.$sequenz[$anzahl]}

else{

$fragment_$nummer=$enzym_2.@sequenz[$counter].$enzym_1}

$nummer++;

$counter++;}

So ungefähr stelle ich mir das dann vor, weiß wer wie ich sowas realisieren kann?

Danke im vorraus

Nefa

Link zu diesem Kommentar
Auf anderen Seiten teilen

Vorweg: Das ist wohl im falschen Forum - das ist doch erher bei "Programmieren" aufgehoben, oder?


$counter==0;

...

$fragment_1=$sequenz[0].$enzym_1}

elsif ($counter=$anzahl){

$fragment_$anzahl=$enzym_2.$sequenz[$anzahl]}

else{

$fragment_$nummer=$enzym_2.@sequenz[$counter].$enzym_1}

$nummer++;

$counter++;} 

ok.. was bitte ist das? Perl?? :rolleyes:

Der Zuweisungsoperator wäre dann "=", Vergleichsoperator wäre "eq" (da "ACGT" wohl Text ist, somit wird kein "==" benutzt) und auch sonst stimmt einiges nicht.

Wenn es NICHT Perl sein sollte benutzt Du Zuweisungs- und Vergleichsoperator trozdem irgendwie falsch..

Beschreib dein Problem doch bitte nochmal DaP-kompatibel:

Du möchtest eine Textdatei (DNA-Sequenz) auf einen eingegebenen String prüfen, bzw die Textdatei an den Fundstellen des Strings zerteilen?

(btw - Bio is lang her: wie war das mit Basenüberhang und so??)

Grüße Ripper

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ok, habe mich net ganz deutlich ausgedrückt, das merke grad auch.

Ja, es ist Perl und das mit den Zuweisungsoperatoren is mir auch aufgefallen aber war zu faul das nochmal zu editieren, a es nur um das grundlegende Problem geht und solche kleinen Details am Ende auch noch verändert werden können.

(Uberhänge gibts es nicht, da das Enzym HindIII ist, welches Blunt-End schneidet)

Ich habe die einzelnen Sequenzen im Array, das ist richtig, aber ich muss sie aus dem Array auslesen und das pro Schleifendurchlauf für die nächste. Deshalb @sequenz[$counter], weil der counter bei jeder schleife um eins hoch geht.

Link zu diesem Kommentar
Auf anderen Seiten teilen

und was wäre an:


my $counter=0;

my @fragment;

while ($counter<$anzahl){

if($counter==0){

@fragment[$counter+1]=@sequenz[0].$enzym_1}

elsif ($counter=$anzahl){

@fragment[$anzahl]=$enzym_2.@sequenz[$anzahl]}

else{

@fragment[$counter+1]=$enzym_2.@sequenz[$counter].$enzym_1}

$counter++;

} 

falsch?

mal von der syntax abgesehen, habs mit perl nich so ^^

ihc mein, was willst du dann mit den fragmenten in x variablen? genauer gefragt, was hast du vor mit den variablen zu tun?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...