GMOD

GMOD Online Training 2014/MAKER Tutorial

Get MAKER Bling!

Contents

About MAKER

MAKER is an easy-to-use genome annotation pipeline designed for small research groups with little bioinformatics experience. However, MAKER is also designed to be scalable and is thus appropriate for projects of any size including use by large sequence centers. MAKER can be used for de novo annotation of newly sequenced genomes, for updating existing annotations to reflect new evidence, or just to combine annotations, evidence, and quality control statistics for use with other GMOD programs like GBrowse, JBrowse, Chado, and Apollo.

MAKER has been used in many genome annotation projects:

Introduction to Genome Annotation

What Are Annotations?

Annotations are descriptions of different features of the genome, and they can be structural or functional in nature.

Examples:

To use this feature, you must have MPICH2 installed with the the --enable-sharedlibs flag set during installation (See MPICH2 Installer’s Guide). I have installed this for you. So let’s set up MPI_MAKER and run the example file that comes with MAKER.

 cd /usr/local/maker/src
 perl Build.PL

Say Yes that we want to build for MPI support

 ./Build install

Set values in maker configuration files.

 genome=dpp_contig.fasta
 est=dpp_est.fasta
 protein=dpp_protein.fasta
 snap=$PATH_TO_SNAP/HMM/fly

We need to set up a few more things for MPI to work. Type mpd to see a list of instructions.

 mpd

You should see the following.

configuration file /home/ubuntu/.mpd.conf not found
A file named .mpd.conf file must be present in the user's home
directory (/etc/mpd.conf if root) with read and write access
only for the user, and must contain at least a line with:
MPD_SECRETWORD=<secretword>
One way to safely create this file is to do the following:
 cd $HOME
 touch .mpd.conf
 chmod 600 .mpd.conf
and then use an editor to insert a line like
 MPD_SECRETWORD=mr45-j9z
into the file. (Of course use some other secret word than mr45-j9z.)

Follow the instructions to set this file up, and start the mpi environment with mpdboot. Then run maker through the MPI manager mpiexec.

 mpdboot
 mpiexec -n 2 maker </dev/null

mpiexec is a wrapper that handles the MPI environment. The -n 2 flag tells mpiexec to use 2 cpus/nodes when running maker. For a large cluster, this could be set to something like 100. You should now know how to start a MAKER job via MPI.

User Interface for Local MAKER Instalation

This example did not work during class because a conflict with the version of Apache that was installed. The issue has since been fixed. Before beginning the example, open a terminal and remove the following files otherwise the subversion update of maker fails.

 rm ~/Documents/Software/maker/MWAS/bin/mwas_server
 rm ~/Documents/Software/maker/MWAS/cgi-bin/tt_templates/apollo_webstart.tt

Then update maker via subversion.

 svn update ~/Documents/Software/maker/

The MWAS interface provides a very convenient method for running MAKER and viewing results; however, because compute resources are limited users are only allowed to submit a maximum of 2 megabases of sequence per job. So while MWAS might be suitable for some analyses (i.e. annotating BACs and short preliminary assemblies), if you plan on annotating an entire genome you will need to install MAKER locally. But if you like the convenience of the MWAS user interface, you can optionally install the interface on top of a locally installed version of MAKER for use in your own lab.

First under the maker directory there is a subdirectory called MWAS. MWAS contains all the needed files to build the MAKER web interface. The maker/MWAS/bin/mwas_server file is used to setup and run this web interface. Let’s configure that now. There are three steps to setting up the server. First you must create and edit a server configuration file, then load all other configuration files, and then install all files to the appropriate web accessible directory.

 cd /home/gmod/Documents/Software/maker/MWAS/
 bin/mwas_server PREP

This will create a file in /maker/MWAS/config/ called server.ctl. We will need to edit this file before continuing.

 nano config/server.ctl

Set:

 apache_user:www-data
 web_address:http://localhost
 cgi_dir:/usr/lib/cgi-bin/maker
 cgi_web:/cgi-bin/maker
 html_dir:/var/www/maker
 html_web:/maker
 data_dir:/var/www/maker/data
 use_login:0

Now we need to generate other settings that are dependent on the values in

server_opts.ctl.

 bin/mwas_server CONFIG

Several new configuration files should now be loaded in the config/ directory. These new files define default MAKER options for the server and the location of files for the server dropdown menus.

maker_bopts.ctl
maker_exe.ctl
maker_opts.ctl
menus.ctl

We shouldn’t need to edit any of these file. So let’s copy files to the appropriate web accessible directories. This must be done as root or using sudo.

 sudo bin/mwas_server SETUP

If you set APOLLO_ROOT in the server.ctl file, then you can now setup a special Java Web Start version of Apollo to view results directly from the web interface. Web Start will be described in more detail in the Apollo session. This must be done as root or using sudo.

 sudo bin/mwas_server APOLLO

We can now run MAKER examples using this web interface, but first we need to launch a server to monitor for new job submissions.

 sudo bin/mwas_server START

And then go to

http://localhost/maker

MAKER Accessory Scripts

MAKER comes with a number of accessory scripts that assist in manipulations of the MAKER input and output files.

Scripts:

 add_utr_start_stop_gff <gff3_file>
 add_utr_gff.pl <gff3_directory>
 cegma2zff <cegma_gff> <genome_fasta>
 chado2gff3 [OPTION] <database_name>
 compare [OPTION] <database_name> <gff3_file>
 cufflinks2gff3 <transcripts1.gtf> <transcripts2.gtf> ...
 mpi_evaluator [options] <eval_opts> <eval_bopts> <eval_exe>
 fasta_merge -d <datastore_index> -o <outfile>
 genemark_gtf2gff3 <filename>
 gff3_2_gtf <gff3_file>
 gff3_merge -d <datastore_index> -o <outfile>
 gff3_preds2models <gff3 file> <pred list>
 gff3_to_eval_gtf <maker_gff3_file>
 iprscan2gff3 <iprscan_file> <gff3_fasta>
 iprscan_batch <file_name> <cpus> <log_file>
 ipr_update_gff <gff3_file> <iprscan_file>
 maker2chado [OPTION] <database_name> <gff3file1> <gff3file2> ...
  maker2chado [OPTION] <database_name> <gff3file1> <gff3file2> ...
 maker2zff.pl <gff3_file>
 maker_functional_fasta <uniprot_fasta> <blast_output> <fasta1> <fasta2> <fasta3> ...
 maker_functional_gff <uniprot_fasta> <blast_output> <gff3_1>
 maker_map_ids --prefix PYU1_ --justify 6 genome.all.gff > genome.all.id.map
 map2assembly <genome.fasta> <transcripts.fasta>
 map_data_ids genome.all.id.map data.txt
 map_fasta_ids <map_file> <fasta_file>
 map_gff_ids <map_file> <gff3_file>
 split_fasta [count] <input_fasta>
 tophat2gff3 <junctions.bed>

Documentation

Community

Tools