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

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

Matlab– Noções introdutórias Roteiro para aulas no PPG em Bioinformática - UFPR Roberto Tadeu Raittz Dr.

Apresentações semelhantes


Apresentação em tema: "Matlab– Noções introdutórias Roteiro para aulas no PPG em Bioinformática - UFPR Roberto Tadeu Raittz Dr."— 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 1x1 8 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 v2 % v1 (transposto) Quem é v2(1)*v1(4)? v1 + v2 %não funciona mas: v1 + v2 %no caso igual a 2*v1

10 Matlab- Matrizes Operador : início:incremento(opcional):final >> a = (2:2:6) a = >>| Quem é a(2:3)?

11 Matrizes bi-dimensionais m = [1 4 3; 3 2 1] 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 >>m >>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 % >>s = Bioinfo ; >>s ans = B i o i n f o >>|

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] ans = Biojnfo Biojnfo >>

18 Strings >>u = [s s s s] u = BBBB iiii oooo jjjj nnnn ffff oooo ` >> u(4,:) ans = jjjj

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 300x double

23 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 Roteiro para aulas no PPG em Bioinformática - UFPR Roberto Tadeu Raittz Dr."

Apresentações semelhantes


Anúncios Google