FRED 2: an immunoinformatics framework for Python

Summary: Immunoinformatics approaches are widely used in a variety of applications from basic immunological to applied biomedical research. Complex data integration is inevitable in immunological research and usually requires comprehensive pipelines including multiple tools and data sources. Non-standard input and output formats of immunoinformatics tools make the development of such applications difficult. Here we present FRED 2, an open-source immunoinformatics framework offering easy and unified access to methods for epitope prediction and other immunoinformatics applications. FRED 2 is implemented in Python and designed to be extendable and flexible to allow rapid prototyping of complex applications. Availability and implementation: FRED 2 is available at http://fred-2.github.io Contact: schubert@informatik.uni-tuebingen.de Supplementary information: Supplementary data are available at Bioinformatics online.


Introduction
The field of immunoinformatics has matured over the last decades. Epitope prediction methods are now widely used and have been successfully applied in many areas from basic immunological to translational research (Boisgu erin et al., 2014;Shukla et al., 2015).
However, these applications often require complex pipelines combining multiple tools, multiple data sources and extensive preand post-processing. Furthermore, many of the HLA epitope prediction tools do not offer a unified interface and output format, which makes it difficult to use prediction methods interchangeably. One way to overcome these problems are web-based workbenches like the ones offered by IEDB (Vita et al., 2015) or EpiToolKit (Schubert et al., 2015). But often data volume, speed, or legal restrictions (e.g., concerning data privacy) prevent the use of such applications.
Also, web-based workbenches usually provide only limited or delayed integration of novel resources and methods. We therefore developed FRamework for Epitope Detection (FRED 2), an opensource, Python-based framework for computational immunology. FRED 2 is the (completely re-implemented) successor of FRED (Feldhahn et al., 2009) and provides a unified interface to many prediction tools. We implemented routines covering data pre-processing, HLA typing, epitope prediction, epitope selection, as well as epitope assembly. FRED 2 is flexibly designed to allow easy extension. By building on top of popular modules such as BioPython (http://biopython.org) and Pandas (http://pandas.pydata.org), FRED 2 allows rapid prototyping of complex and innovative immunoinformatics applications.

2044
This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted reuse, distribution, and reproduction in any medium, provided the original work is properly cited. EpitopePrediction, TAPPrediction and CleavagePrediction, each providing factory classes as entry points for the supported prediction methods. A detailed overview of the supported prediction methods can be found in Supplementary Table S1. OptiTope (Toussaint and Kohlbacher, 2009), a highly flexible mathematical framework capable of expression various aspects of epitope-based vaccines, was implemented for epitope selection. To enable epitope assembly, FRED 2 implements the traveling-salesperson (TSP) approach proposed by Toussaint et al. (Toussaint et al., 2011) and OptiVac (Schubert and Kohlbacher, 2016) for stringof-beads design with optimal spacer sequences, which is similar to the approach taken in (Antonets and Bazhan, 2013). For HLA typing, FRED 2 provides wrapper methods for many HLA typing approaches, such as OptiType (Szolek et al., 2014), Polysolver (Shukla et al., 2015), seq2HLA (Boegel et al., 2013) and ATHLATES (Liu et al., 2013). FRED 2 also offers methods to interact with many biological databases like BioMart, UniProt, RefSeq and Ensembl. It provides support for handling sequence variations at all major biological levels, from transcript, protein, to peptide level. FRED 2 is open-source software and released under a three-clause BSD license. It was designed to be open and easily extendable by providing self explanatory interfaces so that implementation of new functionalities by a wider community can be easily accomplished.

Applications
A typical application of immunoinformatics is population-based vaccine design. In the following we show how to perform this task using FRED 2. Given a target population represented by their HLA alleles and virus proteins of interest, OptiTope (Toussaint and Kohlbacher, 2009) can be used to select the most immunogenic epitopes that are constrained to cover at least a fraction of HLA alleles and antigens. The immunogenicity of the epitopes can be approximated using NetMHC (Lundegaard et al., 2008) or similar prediction tools supported by FRED 2. All prediction methods can interact with FRED 2s implementation of OptiTope, overcoming previous limitations of the tool (Toussaint and Kohlbacher, 2009). The described approach and the corresponding FRED 2 implementation can be found in Listing 1.
Listing 1: Population-based vaccine design with FRED 2

Conclusion
We present FRED 2, a versatile immunoinformatics software framework enabling a unified interface to many tools, from epitope prediction, HLA typing, to epitope selection and assembly. Its openness and easy extensibility makes FRED 2 a perfect instrument for the development of advanced immunoinformatics pipelines that are needed for example in cancer immunotherapy development and other areas of personalized medicine.  Fig. 1 Schematic overview of FRED 2. FRED 2 is organized into modules dealing with epitope, cleavage and TAP prediction, HLA typing, epitope selection and assembly. The framework also offers accession to biological databases