TITLE: Annotation of the Albula glossodona Genome using MAKER
AUTHORS: Brandon D Pickett, Sheena Talma, Jessica R. Glass, Daniel Ence, Timothy P. Johnson, Paul D. Cowley, Perry G. Ridge, John S. K. Kauwe

[DESCRIPTION]
The Roundjaw Bonefish (Albula glossodonta) genome assembly was annotated following the MAKER pipeline. The steps we took are outlined here, but this process assumes you have successfully installed MAKER in advance. The following versions of tools were used (in alphabetical order): AUGUSTUS v3.3.2, BEDTools v2.28.0, BUSCO v4.0.6 with OrthoDB v10, EVidenceModeler v1.1.1, GeneMark-ES v4.38, gFACs v1.1.1, InterProScan v5.45-80.0, MAKER v3.01.02-beta, NCBI BLAST+ Suite v2.9.0, SNAP commit #daf76ba (3 June 2019), and tRNAscan-SE v1.3.1.

[GUIDELINES]
Not applicable.

[STEPS]
SECTION: Prepare for MAKER
1. Prepare for MAKER
Create a working directory for MAKER and then create the initial control files. Edit them to match your environment using your favorite text editor, e.g., we had to set use_rapsearch to 0 and blast_type to ncbi+ in maker_bopts.ctl. Take a careful look at maker_exe.ctl to ensure you have the paths correctly set for the requisite executables. We’ll be changing maker_opts.ctl for each MAKER round.

mkdir maker cd maker maker -CTL for FN in *.ctl; do vim ${FN}; done 

SECTION: MAKER Round #1
2. Create a working directory and copy control files

 

SECTION: MAKER Round #1
3. Modify the control files
The following shows the relevant or modified lines from maker_opts.ctl:

 

SECTION: MAKER Round #1
4. Run MAKER
If using MPI (we did), MAKER recommends submitting your job with mpiexec, but we found that mpirun worked.

 

SECTION: MAKER Round #1
5. Extract Output Fasta and GFF3
Note that this assumes your input fasta file (genome= line from maker_opts.ctl) to MAKER was named “scaffolds” (followed by .fa or .fasta). If not, you would need to modify the following because MAKER creates an output prefix based on the basename of the input fasta file. Also, we used an output prefix of agloss-rnd1 (Albula glossodonta round 1) for fasta_merge, which is project-specific and would be best changed for another project.

 

SECTION: ab initio Gene Predictors
6. GeneMark-ES
Three ab initio gene prediction programs were run between MAKER rounds 1 and 2. AUGUSTUS and SNAP can take gene models as input, and they are thus able to be run with new models after rounds 1 and 2 of MAKER in preparation for rounds 2 and 3, respectively. GeneMark-ES does not take gene models as input, and it thus needs to be run only one time.

GeneMark-ES required a software key to be run, which can be obtained or re-obtained for free for academic use at any time. GeneMark-ES also requires a configuration file to be run; the default configuration file was used.

 

SECTION: ab initio Gene Predictors
7. AUGUSTUS
AUGUSTUS training can be handled with BUSCO.
SECTION: ab initio Gene Predictors
7.1. Copy configuration files
Before AUGUSTUS can be trained, configuration files and data from AUGUSTUS and BUSCO will need to be copied to the working directory for this part of the analysis, and the relevant environment variables will need to be reset (which assumes they are properly set in the first place). No modifications to the augustus_config files were required, but we had to set the download_path= in busco_config.ini to where we downloaded OrthoDB v10.

 

SECTION: ab initio Gene Predictors
7.2. Create working directory

 

SECTION: ab initio Gene Predictors
7.3. Extract candidate gene regions
generateBedForMrnaExtraction.py is available on GitHub.

 

SECTION: ab initio Gene Predictors
7.4. Run BUSCO

 

SECTION: ab initio Gene Predictors
7.5. Post-processing
Rename files and internal references to those files in the BUSCO retraining parameters files and copy them to the AUGUSTUS config directory so they can be later used by MAKER.

 

SECTION: ab initio Gene Predictors
8. SNAP
Training with SNAP is much less resource intensive than training AUGUSTUS. Most, if not all, of the commands can reasonably be run “locally” on a login node or other machine. The final output file, genome.hmm, is what will be provided to the next round of MAKER.

 

SECTION: MAKER Round #2
9. MAKER round #2
Run MAKER to generate new gene models using the gene models produced from the ab initio gene predictors from the previous step. It will also run EVidenceModeler this time. Follow the same process as for MAKER Round #1, except with the following modifications:

copy the control files from the MAKER round #1 instead of the initial control files in the maker directory:

 

switch “rnd1” for “rnd2” in commands and directory/file names
skip the awk commands in the output extraction (i.e., the commands that create the files ending in est2genome.gff, protein2genome.gff, and repeats.gff)
make the following modifications to maker_opts.ctl (if a line isn’t shown here and it exists in the file, leave it “as is”) before running maker:

 

SECTION: ab initio Gene Predictors
10. ab initio Gene Predictors
AUGUSTUS and SNAP are re-run with the gene models provided from MAKER round #2 to generate new gene models. This is different from the first round of running AUGUSTUS and SNAP which relied on gene models produced from MAKER Round #1, which created initial models directly from the RNA-seq evidence. GeneMark-ES does not accept input gene models, so it does not need to be run again.
SECTION: ab initio Gene Predictors
10.1. gFACs Filtering
In an attempt to improve the quality of the gene models being used for this final round of training with AUGUSTUS and SNAP, gFACs was employed to filter out models with single-exon genes, introns shorter than 20bp, etc.

 

SECTION: ab initio Gene Predictors
10.2. AUGUSTUS
Repeat the same process of training AUGUSTUS using BUSCO as was done previously, except with the following modifications:

use gFACs output GFF3 file (i.e., gfacs/rnd2/output/agloss-rnd2_withSeq.gff) as input instead of the output GFF3 from MAKER
use augustus_species=agloss instead of augustus_species=zebrafish when running busco,
use “rnd2” instead of “rnd1” throughout the various commands when referring to directory and file names.

Don’t forget to run the post-processing steps, which will replace the contents of augustus_config/species/agloss.
SECTION: ab initio Gene Predictors
10.3. SNAP
Repeat the same process of running SNAP as was done previously, except with the following modifications:

use gFACs output GFF3 file (i.e., gfacs/rnd2/output/agloss-rnd2_withSeq.gff) as input instead of the output GFF3 from MAKER
modify SNAP’s maker2zff command by replacing “CDS” with “exon” on line 142 (you can change it back after you are done)
use “rnd2” instead of “rnd1” throughout the various commands when referring to directory and file names.
SECTION: MAKER Round #3
11. MAKER Round #3
Run MAKER to generate new gene models using the gene models produced from the ab initio gene predictors from the previous step. Follow the same process as for MAKER round #2, except with the following modifications:

copy the control files from the MAKER round #2 instead of from round #1
switch “rnd2” for “rnd3” in commands and directory/file names
make the following modifications to maker_opts.ctl (if a line isn’t shown here and it exists in the file, leave it “as is”) before running maker:

 

Note that you will again be skipping the awk commands in the output extraction (i.e., the commands that create the files ending in est2genome.gff, protein2genome.gff, and repeats.gff).
SECTION: Functional Annotation
12. MAKER Post-processing & Functional Annotation
The structural annotations created by MAKER required some modest post-processing before adding functional annotations.  MAKER accessory scripts were used to update sequence names from the long MAKER names to friendlier ones. Other MAKER scripts were used to update the fasta and/or gff3 files with functional annotations found with the BLAST+ Suite and InterProScan.