Carregar apresentação
A apresentação está carregando. Por favor, espere
1
Matlab– Noções introdutórias
Roteiro para aulas no PPG em Bioinformática - UFPR Roberto Tadeu Raittz Dr.
2
Matlab- Origens Universidades- Novo México e Stanford Década de 70
Ambiente de Computação técnica Facilidade para manipulação e visualização de dados
3
Matlab- Ambiente Interativo Semelhante DOS/Linux Interpretadores
4
Matlab- Ambiente cd \ dir ls whos clear ans quit ...
5
Matlab- Variáveis Pode-se criar variáveis na área de trabalho
Comandos encerrados com ; não geram eco na área de trabalho >> a = 65 a = 65 >> a = 65; >> |
6
Matlab- Variáveis >>whos Name Size Bytes Class Attributes
a x double >>|
7
Matlab- Operadores = +, -, *, /, ^ ==, ~=, >, >=, <, <=
&, |, ~ ;, ‘vírgula’, ‘espaço’, [, ] : (, ) .’
8
Matlab- Operadores O índice do primeiro elemento em um vetor é 1
Operadores aritméticos, lógicos e relacionais podem ser usados em conjunto A vírgula, o ponto e vírgula, o espaço e [... ] são usados na inicialização de matrizes : define intervalos, ex: 3:5 é como [3 4 5] Índices de matrizes são definidos pelo uso de () . (ponto) é usado para definir produto escalar ‘ (apóstrofo) gera a matriz transposta
9
Matlab- Matrizes Vetor linha:
v1 = [ ] %ou [3, 8, 40, 5.3, 6] Vetor coluna v2 = [3; 8; 40; 5.3; 6] v1’ é igual a v % v1 ‘ (transposto) Quem é v2(1)*v1(4)? v1 + v %não funciona mas: v1 + v2’ %no caso igual a 2*v1
10
Matlab- Matrizes Operador : início:incremento(opcional):final
>>| Quem é a(2:3)?
11
Matrizes bi-dimensionais
ponto e vírgula separa as linhas portanto: >> m m = >>|
12
Matrizes- operador : no exemplo anterior m(1,:) corresponde à primeira linha de m: [1 4 3] ainda m(:,2) é [4; 2], a segunda coluna pode-se fazer suprimir uma linha ou coluna de uma matriz fazendo-se uma atribuição de [] a ela: m(:, 2) = [] % [1 3; 3 1] ...m o operador : é uma das mais fortes características de Matlab
13
O comando . O ponto é usado para realizar operações com matrizes elemento a elemento Para multiplicar a primeira coluna pela terceira coluna da matriz m original: m(:,1).*m(:,3) % [3; 3] (coluna)
14
O comando ´ (apóstrofo)
É usado para obter a matriz transposta >>m 1 4 3 3 2 1 >>m ‘ 3 1 2 4 1 3 >>m(1,1:2).*m(:,3)’ 3 4
15
Concatenação de matrizes
Para adicionar colunas a uma matriz basta fazer a justaposição da matriz original com a que contém as colunas extras dentro de colchetes [... ] u = 1:100; u = [u 1:5]; % u é um vetor linha 1x105 a = [(1:100)’ ((1:100).^2)’] %...o que é?
16
Strings São matrizes de bytes ‘A’ + 1 %... 66 >>s = ‘Bioinfo ‘;
ans = B i o n f >>|
17
Strings >>s(4) + 1 % i==105 ans = 106 >> s(4) = s(4) + 1 s = Biojnfo % troca o I por j >>[s s s s] Biojnfo Biojnfo Biojnfo Biojnfo >>
18
Strings >>u = [s’ s’ s’ s’] u = BBBB iiii oooo jjjj nnnn ffff ` >> u(4,:) ans =
19
Matlab– comandos úteis
ones(ilin, jcol) % virgula, não : zeros(ilin, jcol) % idem rand(ilin,jcol) % ibidem ... linspace(início,final,número) logspace(início,final,número)
20
Matlab- Funções A maioria das funções Matlab recebem matrizes como parâmetros exp(1:3) % [ ] sqrt(m) % é uma matriz com as raízes %quadradas de cada elemento de m sum(1:100) % retorna a soma de 1 a 100 plot(sin(linspace(1,100,50))) % ?
21
plot(sin(linspace(1,100,50)))
22
Carregando variáveis Se no diretório atual existe um arquivo texto, matriz.dat, que contém valores: >> load matriz.dat carrega o arquivo em memória. Agora existe a variável matriz na área de trabalho com os dados do arquivo >> whos matriz Name Size Bytes Class Attributes matriz x double
23
save matriz.dat matriz –ascii
Salvando variáveis Uma variável da memória pode ser salva em um arquivo por meio do comando save e depois carregada com o comando load save arquivo.ext variável –ascii save matriz.dat matriz –ascii há outras formas de entrada e saída E/S com arquivos binários Arquivos FASTA ...
24
Matlab- Gráficos x = 1:100; plot(x)
Gera um gráfico da função identidade a forma geral de plot: plot(x1, y1, s1, x2, y2, s2,... ) Exemplos on-line
25
Gráficos figure hold on grid on legend(´leg x´,´leg y´,... )
title(´texto´) xlabel(´... ´) ylabel(´... ´) subplot etc.
26
Gráfico- exemplo Se as linhas a seguir forem copiadas de um editor de textos e coladas na área de trabalho... x = linspace(1,30,50); y = x.^2; plot(x,y,'r'); title('y = x^2'); xlabel('eixo x'); ylabel('eixo y'); grid on
27
Gráficos- exemplo
28
Criando scripts Copiar e colar na área de trabalho uma lista de comandos Editor do Matlab Salvar como ‘nome_scrpt.m’ Executar usando o nome dado Funções do Matlab
29
Scripts– controle de programa
for if else end var = input(‘mensagem’)
30
Comandos- for for var=vetor var percorre todos os elementos de vetor
for clássico: for i=1:n ... end
31
Comandos- if if condição ... else end
32
Criando funções Devem ser gravadas com o nome da função e a extensão .m Podem ser acessadas do diretório corrente ou da toolbox Forma geral function mret = nome_funcao(parametros) script A função devolve o valor da variável indicada (mret no caso) Obviamente mret pode ser uma matriz Todas as variáveis utilizadas são locais
33
Exemplo de função function mret = med_desv(vetor)
mret = [mean(vetor) std(vetor)]; Para chamá-la: >> med_desv(rand(1,100)) ans =
34
Estrutura fasta Tool box de bioinformática exemplo:
>>q(1).Header = ‘Teste sala – ct1’ >>q(1).Sequence = ‘AACCTGCATTTAG’ >>q(2).Header = ‘Teste sala – ct2’ >>q(2).Sequence = ‘GGGGTTATGGCCAT’ >>fastawrite(‘q.fas’,q) >>q1 = fastaread(‘q.fas’)
35
Algumas funções úteis para Bioinformática e strings
seqrcomplement(Seq) fastaread(‘arq’) fastawrite(‘arq’,var_fas) strfind(s1,s2) % índices de s2 em s1 upper(s) lower(s) find(v) % retorna índices de v diferentes de zero ...
36
Operadores lógicos e matrizes
Operações lógicas Podem ser realizadas em matrizes. Por exemplo: s == ‘g’ % retorna 0 para os índices de s diferentes de ‘g e 1 para os elementos iguais a ‘g’. >>s = ‘acttcgtttcgatctaagt’; >>s==‘g’ ans =
37
Contando bases no DNA Exercício:
Com uma linha de comando apenas contar quantos Gs estão presentes em uma sequência de DNA
38
GSkew A quantidade de Gs e de Cs em uma região de DNA pode ser significativamente diferente. A medida da proporção da diferença é de fato uma medida útil utilizada em genômica. A medida predominância da quantidade de Gs em relação aos Cs é chamada G-Skew e é dada por: gskew = (g-c)/(g+c) Exercício 1) Construir uma função Matlab que recebe uma sequência de DNA e retorna o seu gskew.
39
Gskew de um conjunto de genes
O gskew acumulado de várias subsequências menores de uma grande sequência é um indicador de consistência de montagens de genomas. Se o gskew de uma sequência é positivo então o gskew de sua complementar reversa é negativo e vice-versa. Exercício 2) Dado um arquivo FASTA com genes fora de ordem de um determinado genoma construir o gráfico do gskew acumulado destes genes.
40
Gskew Exercício 3) Construir um novo arquivo FASTA dos genes do exercício anterior considerando o seguinte critério: se o gskew do gene é positivo manter o gene no sentido atual senão incluí-lo no sentido complementar-reverso ao seu. Exercício 4) Gerar o gráfico do exercício 2 com os genes obtidos no exercício 3.
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.