mutazioni nel codice genetico , tripplette, e conseguenza nella modifica
degli amminoacidi della proteina
varianti con richiesta di interazione

 

program mutare8;
(* codice genetico:tripplette e amminoacidi codificati *)
(* traduzione di serie nucleotidi in serie amminoacidi *)
(* dimostra effetto variabile delle MUTAZIONI interattivo *)
USES CRT;
  const n=64;k=100;
  var a,d,h,y,q:integer;
        s,sx:string;
        b:array[1..n] of string[3];
        c:array[1..n] of string[3];
        r:array[1..n] of string[3];
        s1,s2,bn,bs1,bs2:string;

   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 ';


   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;

   PROCEDURE TRI(s:string);
   begin
   h:=1;
   for a:=1 to y do
     begin
     r[a]:=copy(s,h,3);
     h:=h+3;
     end;
     textcolor(15);
   end;

   PROCEDURE stampa(col:integer);
   begin
   WRITELN;
   textcolor(col);
      for a:=1 to y do
     begin
       for d:=1 to k do
       if r[a]=b[d] then write(r[a],'-');
      end;
      writeln;
       for a:=1 to y do
     begin
       for d:=1 to k do
       if r[a]=b[d] then write(c[d],'-');
      end;
      TEXTCOLOR(15);
      writeln('......premi INVIO ');
      readln;
   end;

   begin
   cancella;
   dati;
   h:=1;y:=10;
   textcolor(15);
   WRITELN('scopo del programma:mostra effetti di MUTAZIONI');
   writeln('DELEZIONE,ADDIZIONE,SOSTITUZIONE,INVERSIONE di una BASE');
   writeln('DELEZIONE o ADDIZIONE di una TRIPPLETTA ');
   writeln;
   writeln('-----------------------------------------------------');
   WRITELN('viene sempre presentata la serie di basi originale');
   writeln('con la proteina codificata originale');
   writeln('e la serie di basi modificata con proteina modificata');
   WRITELN('confrontare proteina originale con proteina mutata');
   writeln('------------------------------------------------------');
   writeln;writeln('premi INVIO');readln;cancella;
   writeln('per facilitare la dimostrazione degli effetti delle mutazioni');
   writeln('scrivere tripplette facilmente memorizzabili e distinguibili');
   writeln('es.AAACCCAAAGGGUUUAAACCC...');
   writeln('scrivi serie di 36 basi AAACCCGGUUU ');
   writeln('***---***---***---***---***---***---');
   readln(s);sx:=s;WRITELN;
   textcolor(2);TRI(s);
    stampa(2);cancella;textcolor(2);
    writeln(sx,'...serie basi originale');writeln;
    TEXTCOLOR(15);
    WRITELN('DELEZIONE di una base in tripletta da 1 a 8');
    write('indica posizione base da eliminare 3..4..5..6..7..8..');readln(q);
    s1:=copy(sx,1,q-1);
    s2:=copy(sx,q+1,36-q);
    s:=s1+s2;
   textcolor(2); tri(sx);stampa(2);textcolor(4);tri(s);stampa(5); cancella;
   TEXTCOLoR(2);writeln(sx,'...serie basi originale');writeln;
   textcolor(15);writeln('ADDIZIONE di una base in trippletta da 1 a 8');
    write('indica posizione base da aggiungere 3..4..5..6..7..8..');readln(q);
    s1:=copy(sx,1,q);
    s2:=copy(sx,q,36-q);
    s:=s1+s2;WRITELN;
    textcolor(2);tri(sx);stampa(2);textcolor(4);tri(s);stampa(5); cancella;
   textcolor(2);writeln(sx,'...serie basi originale');writeln;
   textcolor(15);writeln('SOSTITUZIONE di una base in trippletta da 1 a 8');
     write('indica posizione base da sostituire 3..4..5..6..7..8..');readln(q);
     write('scrivi nuova base da inserire A,C,G,U  ');readln(bn);
    s1:=copy(sx,1,q-1);
    s2:=copy(sx,q+1,36-q);
    s:=s1+bn+s2;writeln;
    textcolor(2);tri(sx);stampa(2);tri(s);stampa(5); cancella;
   textcolor(2);writeln(sx,'...serie basi originale');
   textcolor(15);writeln('INVERSIONE due basi tra due tripplette 3,6,9,12,15:');
   write('indica posizione basi da invertire di posto  ');readln(q);
   bs1:=copy(sx,q,1);
   bs2:=copy(sx,q+1,1);
    s1:=copy(sx,1,q-1);
    s2:=copy(sx,q+2,36-q);
    s:=s1+bs2+bs1+s2;writeln;
    textcolor(2);tri(sx);stampa(2);tri(s);stampa(5); cancella;
   textcolor(2);writeln(sx,'...serie basi originale');writeln;
   textcolor(15);writeln('DELEZIONE  trippletta tra 1 e 8 ');
   write('scrivi numero della trippletta da eliminare ');readln(q);
    s1:=copy(sx,1,3*q-3);
    s2:=copy(sx,3*q+1,36-q);
    s:=s1+s2; writeln;
   textcolor(2);tri(sx);stampa(2);tri(s);stampa(5); cancella;
   textcolor(15);
   writeln('evidentemente effetto massima variazione si verifica');
   writeln('con la DELEZIONE,ADDIZIONE di una base:e tale effetto');
   writeln('varia anche in funzione della posizione della base mutata');
   writeln('la variazione della proteina avviene a destra della base mutata');

   writeln('notare che anche se solo un amminoacido cambia nella proteina');
   writeln('come nella SOSTITUZIONE o INVERSIONE ');
   writeln('lo effetto puo essere notevole se tale amminoacido si trova');
   writeln('in un SITO ATTIVO di particolare significato funzionale');
   writeln;
   writeln('talvolta certe mutazioni di basi non producono alcuna ');
   writeln('variazione nella proteina,a causa della RIDONDANZA del codice');
   writeln('se la trippletta originale e quella mutata codificano lo stesso');
   writeln('amminoacido o amminoacidi con proprieta simili ');
   writeln('premiINVIO');readln;cancella;
   
    end.
   
   

 

 

 

 

 

 

 

indice o inizio