Modeller

Installation

Download the software from the Modeller site.

Follow the installation instruction, here.

Instructions (simple homology modeling)

Basic modelling (here)

Search the target sequence

Put the target sequence in PIR format.

>P1;TvLDH
sequence:TvLDH:::::::0.00: 0.00
MSEAAHVLITGAAGQIGYILSHWIASGELYGDRQVYLHLLDIPPAMNRLTALTMELEDCAFPHLAGFVATTDPKA
AFKDIDCAFLVASMPLKPGQVRADLISSNSVIFKNTGEYLSKWAKPSVKVLVIGNPDNTNCEIAMLHAKNLKPEN
FSSLSMLDQNRAYYEVASKLGVDVKDVHDIIVWGNHGESMVADLTQATFTKEGKTQKVVDVLDHDYVFDTFFKKI
GHRAWDILEHRGFTSAASPTKAAIQHMKAWLFGTAPGEVLSMGIPVPEGNPYGIKPGVVFSFPCNVDKEGKIHVV
EGFKVNDWLREKLDFTEKDLFHEKEIALNHLAQGG*

Run Modeller

It is suggested to run Modeller scripts using a Python installation, otherwise the scripts can be launched using mod9.24 where 9.24 is the version installed on the computer but the version can be change, thus it is mandatory to check the version.

To run modeller, the cmd windows must be launched from the Modeller App in order to set the environment.

In the search windows type Modeller and then click on Modeller App.

In the open command windows change the working directory using:

cd c:\WORKING DIRECTORY

The working directory can be found with the File Explorer, it can be read below the command section.

Search for potential related sequences of known structure

The search can be performed by the profile.build() command of MODELLER

from modeller import *

log.verbose()
env = environ()

#-- Prepare the input files

#-- 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')

The profile.build() command has many options

Run Modeller:

mod9.24 01_build_profile.py

Warning: the scripts can be launched using mod9.24 where 9.24 is the version installed on the computer but the version can be change, thus it is mandatory to check the version.

Output:

Most important columns in the table of the results:

Alignment of template structures

To select the most appropriate template for our query sequence over the similar structures, compare.py is used to assess the structural and sequence similarity between the possible templates.

Here there is the script when more than one pdb structure was found.

from modeller import *

env = environ()
aln = alignment(env)
for (pdb, chain) in (('1TXU', 'A'), ('4q9u', 'A'), ('4n3z', 'A'),
                     ('2ot3', '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()
aln.malign3d()
aln.compare_structures()
aln.id_table(matrix_file='family.mat')
env.dendrogram(matrix_file='family.mat', cluster_cut=-1.0)

The script has to be modified according to the system that we are studying.

When there is only one PDB structure, the script has to be modified according to Python syntax.

from modeller import *

env = environ()
aln = alignment(env)
for (pdb, chain) in (('1txu', '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()
aln.malign3d()
aln.compare_structures()
aln.id_table(matrix_file='family.mat')
env.dendrogram(matrix_file='family.mat', cluster_cut=-1.0)

Warning: attention to the comma in for instruction becuse it is mandatory.

Finally, the script can be launched.

mod9.24 02_compare.py