Team I Webserver Group
Introduction
Background
The objectives of both BIOL 7210: Computational Genomics teams this year was to, given with unassembled genome sequence data from the Centers for Disease Control and Prevention (CDC), proceed through five distinct stages of analysis and interpretation of that data: genome assembly, gene prediction, functional annotation, comparative genomics, and production of a predictive webserver.
Goals
Our goals for a predictive webserver were as follows:
- Assemble input reads
- Analyze assemblies
- Visualize results in user-friendly format
- Implement a way for results to be downloaded
KAREN
Klebsiella Antibiotics REsistance PredicitioN (KAREN) is a culmination of these objectives and is able to perform the following analyses given an input of raw sequence reads:
- Raw read trimming and quality control checks
- De novo assembly
- Species identification
- Strain identification
- Average Nucleotide Identity
- Computational Phenotyping
- Visualization of results
Technologies Used
For the creation and development of this webserver, we used PHP framework for server-side programming. PHP provides a strong frameworks to support MySQL and Apache Server. Also PHP provides the feasibility of the development of Model-View-Controller framework, which provides a simpler user-interface. There are many such frameworks available, among which we used Laravel.
Laravel was created by Taylor Otwell and is based on Symfony which provides three important features we wanted to implement within our webserver - 1. Blade Templates (User Interface), 2. Migrations (Database Management) and 3. Job Chainings. This webserver is built on PHP v7.0.0 and Laravel v5.5.
Functionalities
de novo Genome Assembly using Skesa
FastQC was used to perform quality control checks on the raw input sequence data. Then, de novo sequencing was used in our pipeline because no reference sequence is needed in this case. Sequence reads are assembled as contigs, and the coverage quality of de novo sequence data depends on the size and continuity of the contigs. We used Skesa for de novo genome assembly. This tool is currently unpublished.
Species & Strain Typing by StrainSeeker
MEGA, GenomeTester4 and StrainSeeker were used to constructs a list of specific k-mers for each node of any given Newick-format tree and enables the identification of bacterial isolates in 1–2 min. MEGA7 was used to align the sequences and construct neighbor-joining tree. Then StrainSeeker was used to build a custom database using the 258 Klebsiella genomes we were given. To build a custom database, the tree generated by MEGA7 was used to function as the guide tree, describing the relationships between given strains. Then StrainSeeker was used to detect novel strains that are related to strains in the database.
perl builder.pl -n refseq_guide_tree.nwk -d strain_fasta_directory -w 32 -o my_database
perl seeker.pl -i sample_file.fastq -d ss_db_w32 -o sample_result.txt
A pre-build database is used by the StrainSeeker for species identification. Strainseeker is a tool which lets you rapidly and accurately makes as assessment of the species and strain of a bacterial assembly. It works in a matter of minutes and can be customized to use a user-created database. It works on paired-end reads and can even identify novel strains and place them near their close relatives on the phylogeny tree. It is therefore a useful tool for further assessment of a sample of unknown origin.
For KAREN, we are specifically concerned only with Klebsiella spp.. When testing the results using the pre-built database, our results showed it was seemed accurate at analyzing the Klebsiella strains. For this reason, we choose to use the pre-built database for finding species and strain identification.
CARD Database
The Comprehensive Antibiotic Resistance Database includes information on resistant genes, the proteins coded by those genes and their associated phenotypes. As one of the objectives of the class was to understand the cause of hetero-resistance and hetero-susceptibility, we performed computational phenotyping - to determine the antibiotic genes present within the genome assembly created by the webserver against the CARD database.
<Image>
The graph above describes the counts of the genes found and and the efflux mechanism that they possess. As Kleibsiella spp. are one of the bacteria known to develop multi-drug resistance, this information can be useful for interpretation and get a brief idea on the organism that was assembled.
VFDB Database
The Virulence Factors Database is a reference database that holds information on virulent factors of pathogenic bacteria. They hold about 2,353 virulence factors including bacterial toxins, cell surface proteins, cell surface carbohydrates, and hydrolytic enzymes that may contribute to the pathogenicity of the bacterium.
<Image>
pyANI - Python ANI
In order to calculate the Average Nucleotide Identity (ANI) between genomes, we implemented the python tool pyANI. ANI is a measure of genome relatedness, and it shows how many nucleotides are identical between two genomes. The ANI value is related to DNA-DNA hybridization values, which traditionally indicate the microbial species definition.
ANI values above 95% indicate that two genomes are the same species (Goris J, Konstantinidis KT, Klappenbach JA, Coenye T, Vandamme P, et al. (2007) DNA-DNA hybridization values and their relationship to whole-genome sequence similarities. (Int J Syst Evol Micr 57: 81-91. doi:10.1099/ijs.0.64483-0).
We implemented pyANI through using a very quick alignment tool - mummer. In our server, we run pyANI between six genomes. The user is able to choose among 20 reference genomes and any genome that they have uploaded. So, ANI can be used to see similarities and differences between a dataset and also to get an idea of identity to Klebsiella references.
WebPage
Content to by updated
TO DO: TO DO: TO DO: