← Indietro
Altro

Codici Matlab soluzioni laboratori

Altro di Bioinformatica e Genomica Funzionale per il corso di Biomedical Engineering presso Politecnico di Milano. Materiale proveniente dall’archivio storico Studwiz e classificato per la consultazione online.

Bioinformatica e Genomica FunzionaleAltro

Informazioni sul documento

Cosa trovi in questo materiale

Altro di Bioinformatica e Genomica Funzionale per il corso di Biomedical Engineering presso Politecnico di Milano. Materiale proveniente dall’archivio storico Studwiz e classificato per la consultazione online.

Qualità dell’importazione: il testo è stato estratto direttamente dal documento originale.

Contenuti estratti dal documento

Passaggi rappresentativi riconosciuti nelle diverse parti del materiale. Il testo completo resta presente nella pagina per la ricerca, mentre l’anteprima compatta rende più semplice la lettura.

Pagina 1

%% 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…

Anteprima

Prima pagina del documento.

Prima pagina: Codici Matlab soluzioni laboratori