Document information
- University
- Politecnico di Milano
- Degree programme
- Biomedical Engineering
- Subject
- Bioinformatica e Genomica Funzionale
- Material language
- Italian
- Classification
- Other study material
- Original format
- Text
- Searchable text
Study material for Bioinformatica e Genomica Funzionale, shared by the Studwiz community and reviewed by moderators.
Study material for Bioinformatica e Genomica Funzionale, shared by the Studwiz community and reviewed by moderators.
Import quality: text was extracted directly from the original document.
Representative passages recognised in different parts of the material. The full extracted text remains available to search, while this compact preview makes the page easier to read.
%% LAB 2 - esercizio 1 load alignment.mat A2=A; for j=1:60 A2=[A2; seqrcomplement(A2(j,:))]; %aggiunge la sequenze complementari end %inizializzo la weight matrix wm=zeros(4,21); %21=posizioni, 4=basi %per ognuna delle colonne leggo quante volte occore una base, %e così riempio la wm con le occorrenze for i=1:21 wm(1,i)= length(strfind(A2(:,i)','a')); wm(2,i)= length(strfind(A2(:,i)','c')); wm(3,i)= length(strfind(A2(:,i)','g')); wm(4,i)= length(strfind(A2(:,i)','t')); end %adesso voglio trovare le frequenze: wm=wm/120; %sostituisco 0 con 1 nella matrice per non avere problemi col log wm(wm==0)=1; %% calcolo entropia di shannon H=-wm.*log2(wm); %sommo i valori delle 4 basi H=sum(H); %calcolo il contenuto informativo I %non considero l'errore I=2-H sol=find(I>0.8); %mi da le posizioni in cui I è maggiore di 0.8 stem(I); title('stem graphic'); seqlogo(wm); %% LAB 2 - esercizio 2 %per l'esecuzione di questo esercizio bisogna tenere valide tutte le %variabili dell'esercizio 1, è come fosse un unico script promoter=fastaread('K02672.fna'); %promoter è adesso la sequenza tutta intera %voglio 500 basi totali, 400 all'inizio e 100 alla fine rispetto alla base %3395 nel file l=length(promoter.Sequence); %% sovrascrivo promoter=promoter.Sequence(3395-400:3395+99); %creo il vettore segnale e lo inizializzo S=zeros(1,500-21+1); %ha queste dimensioni perchè non possiamo calcolare il segnale fino %all'ultima base, perchè sto procedendo a finestre di 21 caratteri. %% for j=1:500-21+1 %sposto la finestra for p=1:21 %scorro i caratteri della finestra switch promoter(j+p-1) case 'A' %è come scrivere if promoter(j+p-1)=='A' S(j)=S(j)+I(p)*wm(1,p); case 'C' S(j)=S(j)+I(p)*wm(2,p); case 'G' S(j)=S(j)+I(p)*wm(3,p); case 'T' S(j)=S(j)+I(p)*wm(4,p); end end end %richiesta esercizio: posizioni…
First page of the document.