Escolar Documentos
Profissional Documentos
Cultura Documentos
Python
para
Bioinformática
Visão
Geral
Prof.
Alessandro
Brawerman
2
O Curso
ì Obje8vo
ì Mostrar
a
u8lidade
de
Python
para
facilitar
e
automa8zar
tarefas
que
manipulam
dados.
ì Entender
como
a
linguagem
da
suporte
para
diversas
ferramentas
de
bioinformá8ca.
ì Metodologia
ì Ênfase
em
exercícios
prá8cos
através
de
exemplos.
ì Avaliação
ì Uso
de
projetos
como
método
de
avaliação.
3
Ementa
ì Ao
final
o
aluno
deve
entender
e
ser
capaz
de
usar
Python
como
uma
ferramenta
de
busca
e/ou
análise,
integrando
o
mesmo
com
banco
de
dados.
4
ì Integrado
ao
BioSQL,
um
esquema
padronizado
de
banco
de
dados
para
sequências
biomoleculares.
ì h]p://python.org/
ì h]p://biopython.org
5
Python
ì Não
há
pré-‐declaração
de
variáveis,
e
os
8pos
das
variáveis
são
determinados
dinamicamente.
ì O
controle
de
bloco
é
feito
apenas
por
indentação;
não
há
delimitadores
do
8po
BEGIN
e
END
ou
{
e
}.
ì Oferece
8pos
de
alto
nível:
strings,
listas,
tuplas,
dicionários,
arquivos,
classes.
ì É
orientada
a
objetos;
em
Python,
tudo
é
um
objeto.
7
Interpretador x Compilador
ì Compilador
ì O
código-‐fonte
do
programa
é
lido
pelo
compilador,
que
cria
um
arquivo
binário,
executável
diretamente
pelo
hardware
da
plataforma-‐alvo.
ì Interpretador
ì Programas
escritos
em
linguagens
interpretadas
não
são
conver8dos
em
um
arquivo
executável.
Eles
são
executados
u8lizando
um
outro
programa,
o
interpretador,
que
lê
o
código-‐
fonte
e
o
interpreta
diretamente,
durante
a
sua
execução.
8
python hello.py
Hello World
Instalação
ì Linux:
1. Para
compilar
o
Python
alguns
pacotes
são
necessários
sudo
apt-‐get
install
build-‐essen7al
libncursesw5-‐dev
libreadline5-‐
dev
libssl-‐dev
libgdbm-‐dev
libc6-‐dev
libsqlite3-‐dev
tk-‐dev
10
Instalação
Iniciando o Python
Python IDE
Módulos
ì Há
um
grande
conjunto
de
módulos
que
se
instalam
com
o
interpretador
Python,
alguns
dos
mais
interessantes:
ì sys:
oferece
várias
operações
referentes
ao
próprio
interpretador.
Ex:
path,
argv,
a
lista
de
parâmetros
passados
na
linha
de
comando
e
exit().
ì 8me:
oferece
funções
para
manipular
valores
de
tempo.
Inclui:
8me(),
sleep(n),
e
strpime(n).
ì os:
oferece
funções
relacionadas
ao
ambiente
de
execução
do
sistema.
Inclui:
mkdir(),
rename()
e
system.
14
Módulos
Módulos
ì getopt:
processamento
de
argumentos
de
comando
de
linha;
ou
seja,
os
parâmetros
que
passamos
para
o
interpretador
na
linha
de
execução.
ì Tkinter:
um
módulo
que
permite
a
criação
de
programas
com
interface
gráfica,
incluindo
janelas,
botões
e
campos
texto.
16
Módulos
Independentes
ì Além
dos
módulos
distribuídos
com
o
Python,
existem
vários
módulos
auxiliares.
ì win32pipe:
permite,
na
plataforma
Windows,
executar
programas
win32
e
capturar
sua
saída
em
uma
string
para
manipulação
posterior.
Acompanha
a
distribuição
Ac8vestate
Python:
h]p://www.ac8vestate.com/Products/Ac8vePython/
ì PIL:
Python
Imaging
Library,
que
oferece
funções
para
processamento,
manipulação
e
exibição
de
imagens.
h]p://www.pythonware.com/products/pil/
ì NumPy:
provê
mecanismos
simples
e
de
alto
desempenho
para
manipular
matrizes
mul8-‐dimensionais;
ideal
para
operações
numéricas
de
alto
volume
que
necessitem
de
velocidade.
h]p://numpy.sourceforge.net/
ì HTMLgen:
uma
biblioteca
de
classes
que
gera
documentos
HTML
conforme
padrões
pré-‐definidos.
Oferece
classes
para
manipular
tabelas,
listas,
e
outros
elementos
de
formatação.
h]p://starship.python.net/crew/friedrich/HTMLgen/html/
17
Módulos
Independentes
ì DB-‐API:
Database
Applica8on
Programming
Interface;
na
realidade,
um
conjunto
de
módulos
que
acessam
bases
de
dados
de
uma
forma
padronizada.
A
API
especifica
uma
forma
homogênea
de
se
fazer
consultas
e
operações
em
bases
de
dados
relacionais
(SQL);
diversos
módulos
implementam
esta
API
para
bases
de
dados
específicas.
h]p://www.python.org/topics/database
ì mx:
oferece
uma
série
de
extensões
à
linguagem,
incluindo
operações
complexas
de
data
e
hora,
funções
na8vas
estendidas,
e
ferramentas
para
processamento
de
texto.
h]p://www.egenix.com/files/python/
ì PyGTK:
É
outro
pacote
que
permite
construir
aplicações
gráficas
com
o
Python;
pode
ser
usado
em
conjunto
com
o
Glade,
um
construtor
visual
de
interfaces.
h]p://www.pygtk.org/
ì wxPython:
uma
biblioteca
de
classes
que
permite
construir
aplicações
gráficas
mul8-‐plataforma
usando
Python.
Há
um
construtor
visual
de
interfaces
disponível,
o
Boa
Constructor.
h]p://www.wxpython.org/
18
Módulos Independentes
ì Esta
não
é
uma
lista
exaus8va,
e
há
muitos
outros
módulos
úteis;
há
boas
referências
que
listam
módulos
externos,
incluindo
o
índice
de
pacotes
oficial
PyPI:
h]p://www.python.org/pypi.