Modelagem por Homologia passo-a-passo

Transcrição

Modelagem por Homologia passo-a-passo
Modelagem por Homologia
passo-a-passo
Prof. Rommel Ramos
1 Busca de um candidato a template
Para identificar os melhores candidatos a template é necessário fazer o
download do banco de dados de estruturas depositadas no PDB, neste caso
utilizaremos o pdb_95.pir.gz ( disponível em
http://salilab.org/modeller/supplemental.html)
Passo 1 - O arquivo de estruturas do PDB está compactado, assim, o
primeiro passo para a utilização do mesmo é descompactar o arquivo
pdb_95.pir.gz.
Passo 2 – Com o banco de dados disponível para consulta, deve-se obter a
sequência alvo, que será utilizada como query para a busca no banco de
dados. Em nosso caso, utilizaremos a sequência fasta de TvLDH, já
disponível no material suplementar deste guia. É importante observar que
deve-se deixar a sequência fasta no formato ali, conforme exemplo abaixo:
>TvLDH
MSEAAHVLITGAAGQIGYILSHWIASGELYGDR
QVYLHLLDIPPAMNRLTALTMELEDCAFPHLAG
FVATTDPKA
>P1;TvLDH
sequence:TvLDH:::::::0.00: 0.00
MSEAAHVLITGAAGQIGYILSHWIASGELYGDR
QVYLHLLDIPPAMNRLTALTMELEDCAFPHLAG
FVATTDPKA*
Passo 3 – Utilize o script build_profile.py para realizar o alinhamento da
query contra os modelos disponíveis, e através da avaliação de e-value,
percentual de identidade e tamanho do alinhamento definir os melhores
candidatos a modelo.
from modeller import *
log.verbose()
env = environ()
#­­ Read in the sequence database
sdb = sequence_db(env)
sdb.read(seq_database_file='pdb_95.pir', seq_database_format='PIR',
chains_list='ALL', minmax_db_seq_len=(30, 4000), clean_sequences=True)
#­­ Write the sequence database in binary form
sdb.write(seq_database_file='pdb_95.bin', seq_database_format='BINARY',
chains_list='ALL')
#­­ Now, read in the binary database
sdb.read(seq_database_file='pdb_95.bin', seq_database_format='BINARY',
chains_list='ALL')
#­­ Read in the target sequence/alignment
aln = alignment(env)
aln.append(file='TvLDH.ali', alignment_format='PIR', align_codes='ALL')
#­­ Convert the input sequence/alignment into
# profile format
prf = aln.to_profile()
#­­ Scan sequence database to pick up homologous sequences
prf.build(sdb, matrix_offset=­450, rr_file='$
{LIB}/blosum62.sim.mat',
gap_penalties_1d=(­500, ­50), n_prof_iterations=1,
check_profile=False, max_aln_evalue=0.01)
#­­ Write out the profile in text format
prf.write(file='build_profile.prf', profile_format='TEXT')
#­­ Convert the profile back to alignment format
aln = prf.to_alignment()
#­­ Write out the alignment file
aln.write(file='build_profile.ali', alignment_format='PIR')
Observe que os valores em negrito deve ser modificados em função do nome
do bando de dados e da sequência alvo, respectivamente, pdb_95.pir e
TvLDH.ali
- Linha de comando
mod9.10 build_profile.py
- Arquivos gerados
pdb_95.bin
Arquivo PDB binário
build_profile.prf
Informações do alinhamento (ali), mas em formato tabular. A partir
deste arquivo é que se deve avaliar os melhores candidatos a modelo, com
base nas informações apresentadas: coluna 10 é o tamanho do alinhamento
; coluna 11 é o percentual de identidade ; coluna 12 é o e-value
2 Seleção do template
Com base nos alinhamentos obtidos no passo anterior, os melhores
candidados a template, com suas respectivas estruturas em formato pdb,
devem ser selecionados.
Passo 1 – Identifique os IDs PDB das estruturas selecionadas como
melhores candidados (etapa de seleção de candidatos).
Passo 2 – É hora de comparar as estruturas PDB, para tanto, deve-se utilizar
o script compare.py (listado abaixo), onde os nomes em negrito devem ser
substituídos pelos nomes do arquivos pdb referentes aos melhores
alinhamentos identificados na primeira etapa do pipeline, e que deve estar
salvos na mesma pasta onde o script será executado:
from modeller import *
log.verbose()
env = environ()
aln = alignment(env)
for (pdb, chain) in (('1B8P', 'A'), ('1CIV', 'A'), ('3D5T', 'A'),
('5MDH', 'A'), ('7MDH', 'A'), ('1SMK', 'A')):
m = model(env, file=pdb, model_segment=('FIRST:'+chain, 'LAST:'+chain))
aln.append_model(m, atom_files=pdb, align_codes=pdb+chain)
aln.malign()
- Linha de comando
python compare.py > compare.log
- Arquivos requeridos
– Arquivos gerados
Praticando um pouco
Selecione no NCBI uma sequência alvo a sua escolha, e a utilize como
query para realizar os dois primeiros passos do pipeline de modelagem por
homologia: busca de candidatos e seleção dos templates. Ao final, faça um
relatório destacando TODOS os comandos utilizados em cada etapa, bem
como os ajustes realizados nos scripts e a razão destes.
Entrega na próxima aula.
3 Alinhamento dos Modelos
Após selecionar os melhores modelos a serem utilizados, vamos realizar o
alinhamento de suas estrutura com nosso alvo.
Passo 1 – Obtenção dos arquivos PDB das proteínas selecionadas;
Passo 2 – Realizar o alinhamento através do script align2d.py, apresentado
abaixo, onde os valores em negrito devem ser substituídos de acordo com
seus dados.
- align_codes: Nome do modelo candidado
- atom_files: Nome do arquivo PDB do modelo candidato
- aln.append(file... : Sequência alvo no formato ali
- aln.write(file=*.ali: Novo do arquivo de saída no formato ali
- aln.write(file=*.pap: Novo do arquivo de saída no formato pap
from modeller import *
env = environ()
aln = alignment(env)
mdl = model(env, file='1B8P', model_segment=('FIRST:A','LAST:A'))
aln.append_model(mdl, align_codes='1B8PA', atom_files='1B8P.pdb')
aln.append(file='TvLDH.ali', align_codes='TvLDH')
aln.align2d()
aln.write(file='TvLDH­1B8PA.ali', alignment_format='PIR')
aln.write(file='TvLDH­1B8PA.pap', alignment_format='PAP')
Esclarecendo o formato PIR
Sinal de maior: >
Duas letras descrevendo o tipo:
Protein (complete)
P1
Protein (fragment)
F1
DNA (linear)
DL
DNA (circular)
DC
RNA (linear)
RL
RNA (circular)
RC
tRNA
N3
other functional RNA N1
Ponto e vírgula: ;
Código de identificação
Uma linha contendo a descrição
Seqüência contendo 1 ou + linhas
Sinal de terminação: *
>P1;TvLDH Proteína de Teste para a aula de simulacao
MSEAAHVLIT GAAGQIGYIL SHWIASGELY GDRQVYLHL LDIPPAMNRL TALTMELEDC AFPHLAGFV ATTDPKA*
- Linha de comando
mod9.10 align2d.py
– Arquivos requeridos
– Arquivos gerados
O arquivo TvLDH-1B8PA.ali será utilizado para a
construção do modelo no passo seguinte.
4 Construção do modelo
Passo 1 – Obtenção do arquivo ali gerado no passo anterior: TvLDH1B8PA.ali
Passo 2 – Execução do script model-single.py, substituíndo os valores em
negrito.
from modeller import *
from modeller.automodel import *
env = environ()
a = automodel(env, alnfile='TvLDH­1B8PA.ali',
knowns='1B8PA', sequence='TvLDH',
assess_methods=(assess.DOPE, assess.GA341))
a.starting_model = 1
a.ending_model = 5
a.make()
- Linha de comando
mod9.10 model-single.py
– Arquivos requeridos
– Arquivos gerados
Alternativamente, podemos utilizar este site para gerar ramachandran:
http://mordred.bioc.cam.ac.uk/~rapper/rampage.php
http://dicsoft1.physics.iisc.ernet.in/rp/select.html
5 Avaliando o modelo

Documentos relacionados

Prática 1. Visualização de Aminoácidos

Prática 1. Visualização de Aminoácidos para a representação gráfica CPK, usando o procedimento já descrito. Gere as figuras no formato bmp, como segue: Clique em VMD main, e siga as opções File→ Render, então use a opção render using: s...

Leia mais

Prática 3. Visualização de Proteínas

Prática 3. Visualização de Proteínas 27)Quantos e quais resíduos estão na região proibida do gráfico de Ramachandran, ignore as glicinas? 28) Identifique à qual classe estrutural esta proteína pertence. 29) Faça uma estimativa da ASA ...

Leia mais