A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Matlab– Noções introdutórias

Apresentações semelhantes


Apresentação em tema: "Matlab– Noções introdutórias"— Transcrição da apresentação:

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.


Carregar ppt "Matlab– Noções introdutórias"

Apresentações semelhantes


Anúncios Google