esercitazione con pascal su sintesi proteica mediata da mRNA
interattivo

 

 

program PROTEO1;
(* proteinosintesi da DNA a mRNA e tRNA a proteina *)
uses crt;
  const n=64;k=100;
  var a,q,lunga,divide,h,cs,cn,cm,ct,ca:integer;
        s:string;
        b:array[1..n] of string[3];
        c:array[1..n] of string[3];
        r:array[1..n] of string[3];
        d:array[1..n] of string[3];
        e:array[1..n] of string[3];

   procedure cancella;
   begin
   clrscr;
   end;
        
   procedure dati;
   begin
  
  b[1]:='UUU';b[2]:='UUC';b[3]:='UUA';b[4]:='UUG';
  b[5]:='UCU';b[6]:='UCC';b[7]:='UCA';b[8]:='UCG';
  b[9]:='UAU';b[10]:='UAC';b[11]:='UAA';b[12]:='UAG';
  b[13]:='UGU';b[14]:='UGC';b[15]:='UGA';b[16]:='UGG';
  
  b[17]:='CUU';b[18]:='CUC';b[19]:='CUA';b[20]:='CUG';
  b[21]:='CCU';b[22]:='CCC';b[23]:='CCA';b[24]:='CCG';
  b[25]:='CAU';b[26]:='CAC';b[27]:='CAA';b[28]:='CAG';
  b[29]:='CGU';b[30]:='CGC';b[31]:='CGA';b[32]:='CGG';
  
  b[33]:='AUU';b[34]:='AUC';b[35]:='AUA';b[36]:='AUG';
  b[37]:='ACU';b[38]:='ACC';b[39]:='ACA';b[40]:='ACG';
  b[41]:='AAU';b[42]:='AAC';b[43]:='AAA';b[44]:='AAG';
  b[45]:='AGU';b[46]:='AGC';b[47]:='AGA';b[48]:='AGG';
  
  b[49]:='GUU';b[50]:='GUC';b[51]:='GUA';b[52]:='GUG';
  b[53]:='GCU';b[54]:='GCC';b[55]:='GCA';b[56]:='GCG';
  b[57]:='GAU';b[58]:='GAC';b[59]:='GAA';b[60]:='GAG';
  b[61]:='GGU';b[62]:='GGC';b[63]:='GGA';b[64]:='GGG';
  
  
  e[1]:='TTT';e[2]:='TTC';e[3]:='TTA';e[4]:='TTG';
  e[5]:='TCT';e[6]:='TCC';e[7]:='TCA';e[8]:='TCG';
  e[9]:='TAT';e[10]:='TAC';e[11]:='TAA';e[12]:='TAG';
  e[13]:='TGT';e[14]:='TGC';e[15]:='TGA';e[16]:='TGG';
  
  e[17]:='CTT';e[18]:='CTC';e[19]:='CTA';e[20]:='CTG';
  e[21]:='CCT';e[22]:='CCC';e[23]:='CCA';e[24]:='CCG';
  e[25]:='CAT';e[26]:='CAC';e[27]:='CAA';e[28]:='CAG';
  e[29]:='CGT';e[30]:='CGC';e[31]:='CGA';e[32]:='CGG';
  
  e[33]:='ATT';e[34]:='ATC';e[35]:='ATA';e[36]:='ATG';
  e[37]:='ACT';e[38]:='ACC';e[39]:='ACA';e[40]:='ACG';
  e[41]:='AAT';e[42]:='AAC';e[43]:='AAA';e[44]:='AAG';
  e[45]:='AGT';e[46]:='AGC';e[47]:='AGA';e[48]:='AGG';

  e[49]:='GTT';e[50]:='GTC';e[51]:='GTA';e[52]:='GTG';
  e[53]:='GCT';e[54]:='GCC';e[55]:='GCA';e[56]:='GCG';
  e[57]:='GAT';e[58]:='GAC';e[59]:='GAA';e[60]:='GAG';
  e[61]:='GGT';e[62]:='GGC';e[63]:='GGA';e[64]:='GGG';

  d[1]:='AAA';d[2]:='AAG';d[3]:='AAT';d[4]:='AAC';
  d[5]:='AGA';d[6]:='AGG';d[7]:='AGT';d[8]:='AGC';
  d[9]:='ATA';d[10]:='ATG';d[11]:='ATT';d[12]:='ATC';
  d[13]:='ACA';d[14]:='ACG';d[15]:='ACT';d[16]:='ACC';
  
  d[17]:='GAA';d[18]:='GAG';d[19]:='GAT';d[20]:='GAC';
  d[21]:='GGA';d[22]:='GGG';d[23]:='GGT';d[24]:='GGC';
  d[25]:='GTA';d[26]:='GTG';d[27]:='GTT';d[28]:='GTC';
  d[29]:='GCA';d[30]:='GCG';d[31]:='GCT';d[32]:='GCC';
  
  d[33]:='TAA';d[34]:='TAG';d[35]:='TAT';d[36]:='TAC';
  d[37]:='TGA';d[38]:='TGG';d[39]:='TGT';d[40]:='TGC';
  d[41]:='TTA';d[42]:='TTG';d[43]:='TTT';d[44]:='TTC';
  d[45]:='TCA';d[46]:='TCG';d[47]:='TCT';d[48]:='TCC';
  
  d[49]:='CAA';d[50]:='CAG';d[51]:='CAT';d[52]:='CAC';
  d[53]:='CGA';d[54]:='CGG';d[55]:='CGT';d[56]:='CGC';
  d[57]:='CTA';d[58]:='CTG';d[59]:='CTT';d[60]:='CTC';
  d[61]:='CCA';d[62]:='CCG';d[63]:='CCT';d[64]:='CCC';
 
 
 

  
   c[1]:='PHE';c[2]:='PHE';c[3]:='LEU';c[4]:='LEU';
   c[5]:='SER';c[6]:='SER';c[7]:='SER';c[8]:='SER';
   c[9]:='TYR';c[10]:='TYR';c[11]:='***';c[12]:='***';
   c[13]:='CYS';c[14]:='CYS';c[15]:='***';c[16]:='TRY';

   c[17]:='LEU';c[18]:='LEU';c[19]:='LEU';c[20]:='LEU';
   c[21]:='PRO';c[22]:='PRO';c[23]:='PRO';c[24]:='PRO';
   c[25]:='HIS';c[26]:='HIS';c[27]:='GLN';c[28]:='GLN';
   c[29]:='ARG';c[30]:='ARG';c[31]:='ARG';c[32]:='ARG';
   
   c[33]:='ILE';c[34]:='ILE';c[35]:='ILE';c[36]:='MET';
   c[37]:='THR';c[38]:='THR';c[39]:='THR';c[40]:='THR';
   c[41]:='ASN';c[42]:='ASN';c[43]:='LYS';c[44]:='LYS';
   c[45]:='SER';c[46]:='SER';c[47]:='ARG';c[48]:='ARG';
   
   c[49]:='VAL';c[50]:='VAL';c[51]:='VAL';c[52]:='VAL';
   c[53]:='ALA';c[54]:='ALA';c[55]:='ALA';c[56]:='ALA';
   c[57]:='ASP';c[58]:='ASP';c[59]:='GLU';c[60]:='GLU';
   c[61]:='GLY';c[62]:='GLY';c[63]:='GLY';c[64]:='GLY';
   end;

   begin
   cancella;
   dati;
   h:=1;
   cs:=3;cn:=5;cm:=4;ct:=6;ca:=2;
   textcolor(15);
   WRITELN('scopo del programma:trascrizione e traduzione nella');
   writeln('sintesi delle proteine DNA ---> mRNA ----> proteina');
   writeln;
   writeln('scrivi serie di nucleotidi come AAACAGTTACCAGG.. ');
   writeln('codificanti per una proteina nella catena di DNA ');
   writeln('scrivi al massimo 51 nucleotidi per motivi di video..');
   writeln('per finire la serie premi INVIO ');
   writeln('----------------------------------------------');
   writeln('---***---***---***---***---***---***---***---***---');
   writeln;
   readln(s);
   lunga:=length(s);
   if lunga>51 then lunga:=51;
    divide:=lunga div 3;
    cancella;
    writeln('serie tripplette inserita');
    writeln(s);
    textcolor(cs);
    for a:=1 to divide do
     begin
     r[a]:=copy(s,h,3);
     h:=h+3;
     write(r[a],'-');
     end;
     writeln;
     writeln('-----------------------------------------------');


      (* stampa serie amminoacidi codificati da catena DNA *)
      writeln('serie di amminoacidi codificati da catena di DNA con senso');
      writeln;
      textcolor(ca);
      for a:=1 to divide do
     begin
       for q:=1 to n do
       if r[a]=d[q] then write(c[q],'-');
      end;
      writeln;writeln;

     (* stampa catena di DNA inserita *)

       for a:=1 to divide do
     begin
       textcolor(cs);
       for q:=1 to n do
       if r[a]=d[q] then write(r[a],'-');
      end;
      readln;

   (* catena complementare non senso di DNA *)


       for a:=1 to divide do
     begin
     textcolor(cn);
       for q:=1 to n do
       if r[a]=d[q] then write(e[q],'-');
      end;
      writeln;
      writeln('catena non senso complementare di DNA con senso');
      readln;


     (* serie catena complementare di DNA codificante *)
     textcolor(cm);
     writeln('catena complementare  di DNA codificante= mRNA');
     textcolor(ct);
     writeln('e tRNA trasportatori di amminoacidi specifici');
     writeln;
     textcolor(cm);
         for a:=1 to divide do
     begin
       for q:=1 to n do
       if r[a]=d[q] then write(b[q],'-');
      end;
      writeln;
     textcolor(ct);
   (* tRNA traduttore *)
           for a:=1 to divide do
     begin
       for q:=1 to n do
       if r[a]=d[q] then write(d[q],'.');
      end;
      writeln;

   (* colegamento t-RNA e amminoacido *)
           for a:=1 to divide do
     begin
       for q:=1 to n do
       if r[a]=d[q] then write('.!..');
      end;
      writeln;

    textcolor(ca);
    (* amminoacidi legati a tRNA specifici *)
           for a:=1 to divide do
     begin
       for q:=1 to n do
       if r[a]=d[q] then write(c[q],'.');
      end;
      writeln;
      TEXTCOLOR(15);
      writeln('----------------------------------------');
      writeln('notare la corrispondenza tra proteina codificata in DNA ');
      writeln('e proteina sintetizzata dopo TRASCRIZIONE in mRNA ');
      writeln('e TRADUZIONE con intervento di tRNA portanti amminoacidi');
      writeln('premi INVIO');
      readln;cancella;

    end.

   

 

 

 

 

 

 

indice o inizio