
PYTHON
Introdução
Camila Pereira Perico - Julho de 2019
O python é uma das linguagens mais utilizadas, especialmente em machine learning e análise de dados, pelo seu grande número de bibliotecas prontas e de código aberto, e pela facilidade da linguagem.
A documentação oficial pode ser encontrada em https://docs.python.org/
Além dos tradicionais editores de texto, o python pode ser utilizado via IDEs e diretamente pelo browser. Abaixo alguns exemplos com links, todos com versões gratuitas:
Para a linguagem python, ainda existe o Anaconda, uma distribuição com os principais pacotes python e R disponíveis, que auxilia na instalação e gerenciamento desses pacotes. Atualmente inclui pacotes úteis como NumPy (biblioteca matemática), Pandas (análise de dados, com gerenciamento de planilhas), SciKit-Learn (biblioteca de machine learning), SciPy(Scientific Python), matplotlib (biblioteca de plots e gráficos), scikit-image (processamento de imagem), etc.
Cursos
Data Science Academy: Python, Fundamentos para a Análise de dados
Carga horária: 54 horas.
Coursera: Introdução à Programação Interativa em Python
CodeSkulptor
Baixar Sequências do NCBI
Diogo de Jesus Soares Machado - Agosto de 2019
Este script requer o BioPython
_____________________________________________
#!/usr/bin/python
# -*- coding: UTF-8 -*-
from Bio import Entrez
from Bio import SeqIO
import time
import sys
try:
# For Python 3.0 and later
from urllib.request import URLError
except ImportError:
# Fall back to Python 2's urllib2
from urllib2 import URLError
# É interessante informar um email real. É uma medida de segurança para o
# NCBI saber de quem é a requisição.
Entrez.email = "seu@email"
# O termo de busca é necessário em dois momentos
# neste script, por isso é interessante designá-lo para uma variável,
# evitando a necessidade de repetir todo o termo de busca duas vezes.
TERM="Formicidae[organism]"
# Uma busca é previamente feita para verificar quantas sequências o termo retorna
handle = Entrez.esearch(db='protein', term=TERM)
record = Entrez.read(handle)
MAX_COUNT = int(record['Count'])
# batch_size armazena o número de sequências que serão baixadas
# por ciclo de download. Deve ser no máximo 10000.
batch_size = 1000
# Aqui são executados os ciclos para baixar todos as sequências,
# contornando o problema do limite de resultados que podem ser baixados.
# Na variável seqs são armazenadas as sequências após cada iteração,
# para no final salvar todas em um arquivo único.
seqs = [ ]
# A próxima linha exibe um texto para iniciar a contagem com
# o número de sequências já baixadas.
print('0/'+str(MAX_COUNT))
for start in range(0, MAX_COUNT, batch_size):
tudoCerto = False
while tudoCerto == False:
try:
# Em cada iteração é definido um ponto start de download,
# através do parâmetro retstart.
handle = Entrez.esearch(db='protein', retstart=start, retmax=batch_size, term=TERM)
record = Entrez.read(handle)
seq_handle = Entrez.efetch(db="protein", rettype="fasta", id=record["IdList"])
seq_record = SeqIO.parse(seq_handle, "fasta")
seq_list = list(seq_record)
# Uma nova linha com a contagem de sequências já baixadas é exibida em cada loop.
print(str(min([(start+batch_size),MAX_COUNT]))+'/'+str(MAX_COUNT))
tudoCerto = True
except URLError:
print ('Problema na internet!')
tudoCerto = False
time.sleep(3)
# se nao for o ultimo loop, aguardar 3 segundos antes de continuar
if (start+batch_size) < MAX_COUNT:
time.sleep(1)
seqs.extend(seq_list)
Acompanhamento de Casos e Mortes por COVID19
Guilherme Taborda Ribas - Maio 2019
Script para acompanhar número de casos e mortes por COVID19 no Brasil ou em qualquer país presente no banco de dados da Johns Hopkins University.
Bibliotecas usadas: pandas, matplotlib e covid19
Github: https://github.com/guilhermetabordaribas/COVID19/blob/master/plotCasesDeaths