• Nenhum resultado encontrado

Aula Pos IBTEC_2018

N/A
N/A
Protected

Academic year: 2021

Share "Aula Pos IBTEC_2018"

Copied!
51
0
0

Texto

(1)

Prof. Laurence Rodrigues do Amaral UFU/FACOM/Patos de Minas

Aula - Bioinformática

Prof. Laurence Rodrigues do

Amaral

(2)

Apresentação

• Prof. Laurence Rodrigues do Amaral

– Professor da FACOM/UFU em Patos de Minas

– DSc (DC/UFSCar), MSc e BSc (FACOM/UFU) em

Ciência da Computação

http://lattes.cnpq.br/6978567037098928

– Trabalhei com aplicações de Bioinformática no

doutorado e mestrado

• DSc – Biocurador automático para o GO

• MSc - Conhecimento de alto nível em dados de expressão

gênica (microarray) de câncer

(3)

Prof. Laurence Rodrigues do Amaral UFU/FACOM/Patos de Minas

Introdução à Computação

• Máquina capaz

– Receber

– Armazenar

– Tratar e

– Produzir informações

• Forma automática, com grande rapidez e precisão.

• Foco: aprimorar e automatizar tarefas em

qualquer área de atuação.

– Diminuir o tempo de execução ou aumentar a

precisão na execução de alguma tarefa

(4)
(5)

Prof. Laurence Rodrigues do Amaral UFU/FACOM/Patos de Minas

Software

• São conjuntos de procedimentos básicos que fazem que

o computador seja útil executando alguma função.

• A essas “ordens” preestabelecidas chamamos também

de programas.

• Principal software para um computador é o Sistema

Operacional (SO)

• Device Drivers

(6)

Sistema Binário

• Bit é o nome dado a um dígito binário (0

ou 1) que representa um estado binário;

• Byte é o nome dado a um grupo de 8 Bits

(octeto) que pode representar 256

sequências.

– É a unidade de medida básica e universal

para a capacidade de armazenamento de

informações em computação

(7)

Prof. Laurence Rodrigues do Amaral UFU/FACOM/Patos de Minas

Sistema Binário

• Bit - é o "0" ou o "1".

• 1 Byte - é constituído por 8 bits.

• 1 Kilobyte - é constituído por 1024 Bytes.

• 1 Megabyte - é constituído por 1024 Kilobytes.

• 1 Gigabyte - é constituído por 1024 Megabytes.

• 1 Terabyte - é constituído por 1024 Gigabytes.

• 1 Petabyte - é constituído por 1024 Terabytes.

• 1 Exabyte - é constituído por 1024 Petabytes.

• 1 Zettabyte - é constituído por 1024 Exabytes.

(8)

História da Computação e dos

Computadores

(9)

Prof. Laurence Rodrigues do Amaral UFU/FACOM/Patos de Minas

História dos Computadores

• 1ª Geração (1936 a ~1957)

– Válvula

• 2ª Geração (1955-59? a 1965)

– Transistor

• 3ª Geração (1965 a 1971-80?)

– Circuitos integrados (CI)

• 4ª Geração (1980 a …)

– Microprocessadores

(10)
(11)

Prof. Laurence Rodrigues do Amaral UFU/FACOM/Patos de Minas

Processo de Software

• Conjunto de atividades/passos voltados à produção de

um produto de software

– Especificação

• Definição das funcionalidades desejadas e das restrições de

operação

– Projeto

• Definição de uma solução de software que atenda às

especificações

– Implementação

• Produção da solução de software projetada

– Validação

• Verificação se o software produzido está de acordo com as

necessidades do cliente

– Evolução

• Necessidade do software evoluir para atender às necessidades

mutáveis do cliente

(12)
(13)

Prof. Laurence Rodrigues do Amaral UFU/FACOM/Patos de Minas

Etapas do

desenvolvimento de programas

Estudo do enunciado

do

problema

para

definir

dados

de

entrada,

o

processamento e os

dados de saída

Análise

Algoritmo

Codificação

Ferramentas utilizadas

para

descrever

o

problema com suas

soluções

Transformação

do

algoritmo em códigos

de uma linguagem de

programação

(14)

Método para construção

1. Compreender completamente o problema a ser

resolvido, destacando os pontos mais importantes e os

objetos que o compõem

2. Definir os dados de entrada, ou seja, quais dados serão

fornecidos e quais objetos fazem parte desse

cenário-problema

3. Definir o processamento, ou seja, quais cálculos serão

efetuados e quais as restrições para esses cálculos

1. Entrada- Processamento- Saída

4. Definir os dados de saída, ou seja, quais dados serão

gerados depois do processamento

5. Construir o algoritmo

(15)

Prof. Laurence Rodrigues do Amaral UFU/FACOM/Patos de Minas

(16)

Sistema operacional

• Faz a “ligação”

entre os softwares

de aplicação e o

hardware

• É o responsável

por todas as

operações dentro

dos computadores

(17)

Prof. Laurence Rodrigues do Amaral UFU/FACOM/Patos de Minas

Linux

• O kernel do Linux foi, originalmente,

escrito por Linus Torvalds, estudante de

Ciência da Computação na Universidade

de Helsinki, Finlândia

– Com a ajuda de vários programadores

voluntários através da Usenet.

(18)

Linux

• Linus Torvalds começou o

desenvolvimento do núcleo como um

projeto particular, inspirado pelo seu

interesse no Minix

– Um pequeno sistema UNIX desenvolvido por

Andrew S. Tanenbaum. Ele limitou-se a criar,

nas suas próprias palavras, "um Minix melhor

que o Minix"

(19)

Prof. Laurence Rodrigues do Amaral UFU/FACOM/Patos de Minas

(20)

Ubuntu

• É um sistema operacional de código

aberto, construído a partir do kernel Linux

– Baseado na distribuição Debian

• Download e instalação

– https://www.ubuntu.com/#download

• Aprox: 1.8 Gb

– Pode ser instalado “lado a lado” ao Windows

(dual boot)

(21)

Prof. Laurence Rodrigues do Amaral UFU/FACOM/Patos de Minas

(22)
(23)

Prof. Laurence Rodrigues do Amaral UFU/FACOM/Patos de Minas

Ubuntu

• Download e instalação

– Com o computador ligado à internet, basta

dar boot pelo CD ou pendrive ou utilizar via

máquina virtual

(24)

Ubuntu

Novas versões do Ubuntu são lançadas duas vezes ao

ano, uma no mês de abril e outra no mês de outubro.

Um dos focos principais é a usabilidade

– O uso da ferramenta sudo para tarefas administrativas

– E a oferta de uma gama de recursos completa a partir de

uma instalação padrão

Possui um ótimo repositório de softwares

bioinformáticos – BioLinux

(25)

Prof. Laurence Rodrigues do Amaral UFU/FACOM/Patos de Minas

Ubuntu

(26)

Ubuntu

(27)

Prof. Laurence Rodrigues do Amaral UFU/FACOM/Patos de Minas

Ubuntu

• Funcionalidades

– Comando sudo

– Gerenciador de pacotes

– Packages pré-compiladas

• *.deb

– Várias interfaces gráficas

• Gnome

• KDE

(28)

Programando em linguagem

Perl (

Practical Extraction and Report Language

)

• Perl é uma linguagem poderosa e

adaptável a diversas situações.

• Sua primeira versão foi desenvolvida

por Larry Wall, um linguista que

trabalhava para a NASA na década de

80 como administrador de sistemas. Era

utilizada para facilitar o processamento

de relatórios.

(29)

Prof. Laurence Rodrigues do Amaral UFU/FACOM/Patos de Minas

Um Pouco Sobre Perl

• É uma linguagem criada para processar e

manipular textos.

• Nos dias atuais é utilizada na administração de

sistemas, como interface para permitir a

comunicação entre sistemas diferentes, na

programação para a web, em bioinformática, ou

mesmo em desenvolvimento de aplicativos.

(30)

Um Pouco Sobre Perl

• Na programação para web, Perl é muito

utilizada e popular por suas características

de manipulação de texto e rápido

desenvolvimento, tanto que chega a ser

conhecida como a “super fita crepe” da

internet.

• A interface de integração de banco de dados

de Perl suporta diversos bancos de dados

como Oracle, Sybase, Postgre e MySQL.

(31)

Prof. Laurence Rodrigues do Amaral UFU/FACOM/Patos de Minas

(32)
(33)

Prof. Laurence Rodrigues do Amaral UFU/FACOM/Patos de Minas

Algumas empresas que

usam Perl

(34)

Instalando Perl

Linux Ubuntu

– Via Package Manager

– Via linha de comando

Windows

– Strawberry Perl

• http://strawberryperl.com/

– ActivePerl

• http://www.baixaki.com.br/download/activeperl.htm

– Perl Express

http://www.baixaki.com.br/download/perl-express.htm

(35)

Prof. Laurence Rodrigues do Amaral UFU/FACOM/Patos de Minas

Primeiro programa Perl

• Precisamos de um editor de texto

– Kate ou GEdit (Linux)

– Bloco de notas (Windows)

• Cabeçalho

– #!/usr/bin/perl

(36)

Primeiro programa Perl

• Via terminal (Linux) ou console ou prompt

(DOS)

– $ perl <nomescript.pl>

– $ perl helloworld.pl

(37)

Prof. Laurence Rodrigues do Amaral UFU/FACOM/Patos de Minas

Perl: sintaxe e código

• Strings: são apresentadas entre aspas,

duplas ou simples.

• Exemplo: Programa Hello World!:

– print “Hello World!”;

– # exibe na tela a string Hello, World

(38)

Perl: sintaxe e código

• String entre:

– Aspas simples é considerada literalmente.

– Entre aspas duplas é interpretada.

• Exemplo:

– print ‘Hello, \nWorld!’;

– #exibe Hello, World!\n na tela.

– print “Hello, \nWorld!“;

– #exibe Hello,

– #World! na tela.

(39)

Prof. Laurence Rodrigues do Amaral UFU/FACOM/Patos de Minas

Perl: sintaxe e código

• Perl não tem muita flexibilidade com relação a

operadores de string.

• O único operador básico de string é o de concatenação:

“.” (ponto final)

– print “Aula ” . “Bioinformática ” . “UFU”;

• Obs:

– O sinal + é usado para somar números

– Perl faz a conversão de maneira transparente.

– Se forem somadas coisas que não são números, Perl fará o

possível para convertê-las em números.

(40)

Perl: sintaxe e código

• Perl tem 3 tipos de variáveis:

–Escalares, vetores e hashes.

• Escalares: podem ser números, letras ou strings. O nome de

cada variável escalar começa com $. Exemplo:

–$nome = “UFU”;

–$idade = 40;

–$letra = “u”;

• Não é necessário especificar para um escalar que está atribuída

uma letra ou número, pois a conversão é automática.

(41)

Prof. Laurence Rodrigues do Amaral UFU/FACOM/Patos de Minas

Perl: sintaxe e código

(42)

Perl: sintaxe e código

• Operadores de atribuição

– ++, --, +=, -=, /= e *=

• Operadores matemáticos:

– +, -, * e /

(43)

Prof. Laurence Rodrigues do Amaral UFU/FACOM/Patos de Minas

Perl: sintaxe e código

• Arrays: são conjuntos de escalares.

• Seus nomes começam com @. A lista é definida

com parênteses. Exemplo:

– @seqsDNA = (“ACGC”, “CCGA”, “TACC”, “AAAA”);

• O funcionamento de arrays em Perl é semelhante a

C e outras linguagens. Exemplo:

– print $seqsDNA[0]; # Isto imprime "ACGC".

– $seqsDNA[2] = "GCGC"; # “TACC” foi renomeado para

"GCGC"

(44)

Perl: sintaxe e código

• Se um valor não existe, ele é criado na

atribuição. Exemplo:

– @seqsDNA = (“ACGC”, “CCGA”, “TACC”, “AAAA”);

– $seqsDNA[4] = "TTTT";

• Para saber o número de elementos em um

array, basta atribuí-lo a um escalar: Exemplo:

– $seqCount = @seqsDNA;

(45)

Prof. Laurence Rodrigues do Amaral UFU/FACOM/Patos de Minas

Perl: sintaxe e código

• Perl possui dois operadores condicionais: if e

unless.

If

• Executa o bloco seguinte se a condição for verdadeira.

Funciona igual a C.

unless

• Executa o bloco seguinte se a condição testada for falsa

• Operadores de comparação

(46)

Perl: sintaxe e código

• Exemplo:

$salario = 10000;

if ($salario == 10000) {

print "Salario igual a 10.000";

}

unless ($salario == 9000) {

print “Salario diferente de 9.000";

}

(47)

Prof. Laurence Rodrigues do Amaral UFU/FACOM/Patos de Minas

Perl: sintaxe e código

• Tanto o if quanto o unless podem ser seguidos

por else. Exemplo:

if ($a == 5) {

print “Igual a cinco!";

} else {

print “Diferente de cinco!”;

}

(48)

Perl: sintaxe e código

• for: é semelhante a outras linguagens.

Exemplo:

for ($i=0;$i <=5;$i++){

print $i;

(49)

Prof. Laurence Rodrigues do Amaral UFU/FACOM/Patos de Minas

Expressões Regulares

• Expressões regulares ou regex são o que

Perl tem de melhor.

• São as ferramentas mais poderosas que Perl

tem no tratamento de strings.

• São tão poderosas e complexas que é

possível escrever um livro inteiro sobre elas.

• É difícil encontrar outras linguagens que

(50)

Expressões Regulares

• Ocorrência simples de expressão: são as

expressões regulares mais simples.

• Encontram uma ocorrência de string dentro

de outra, não importa a posição, retornando

verdadeiro.

• São usadas com expressões condicionais.

• O operador =~ é usado na verificação de

(51)

Prof. Laurence Rodrigues do Amaral UFU/FACOM/Patos de Minas

Expressões Regulares

Exemplo:

$SeqDNA = "AGCGTGCTGATGATGTGATTTG";

print "Existe aminoácido" if $SeqDNA =~

/GATGA/;

• A string a ser buscada fica entre barras

/<string>/.

• Metacaracters: São caracteres ou sequências

de caracteres que têm um significado especial.

Referências

Documentos relacionados

A etapa de sensibilização da equipe escolar se desdobrará em duas ações: apresentação do Programa e de seus resultados à comunidade escolar: A etapa de reconstrução

Outras possíveis causas de paralisia flácida, ataxia e desordens neuromusculares, (como a ação de hemoparasitas, toxoplasmose, neosporose e botulismo) foram descartadas,

Na cidade de Évora, localizam-se dois conventos: o Convento de Nossa Senhora dos Remédios (1606), e o Convento de São José da Esperança (1681), também conhecido por Convento Novo,

En así que tanto en países del Sur como del Norte Global surgen percepciones de niñas y niños que podemos englobar como sutiles etiquetas de la pobreza, que confirman

A relação entre educação e participação social tendo como um terceiro elemento a Educação Ambiental são aportes que nos auxiliam a compreender a relação sociedade e

This framework comprises the following steps: (1) signal is acquired during the DBS surgery for a group of patients, i.e., the training set; (2) features are extracted from

A partir desta pesquisa e de todo o referencial teórico abordado aqui, é possível afirmar que este estudo possibilitou a compreensão que o desenvolvimento da autonomia e a

O 6º ano do Mestrado Integrado em Medicina (MIM) é um estágio profissionalizante (EP) que inclui os estágios parcelares de Medicina Interna, Cirurgia Geral,