Background {#Sec1}
==========

In mitochondria and chloroplasts of flowering plants the direct transfer of genetic information from DNA to proteins is corrupted by mechanisms that produce primary nucleotide sequences different from the original DNA sequences, by altering the structure of RNA transcripts. The most common among these mechanisms is post-transcriptional mRNA editing, consisting in enzymatic modification of nitrogenous bases, almost exclusively *c*→*u* transformation \[[@CR1]\]. Most RNA editing events are found in the coding regions of mRNAs and usually at the first and second position of codons, so that the corresponding amino acid is often different from that specified by the unedited codon \[[@CR2]\]. Editing can also create new start and stop codons \[[@CR3], [@CR4]\] and it can occur in introns \[[@CR5]\] and in other non-translated regions \[[@CR6]\]. The use of editing to generate *aug* start codons is well described for plants chloroplasts \[[@CR7], [@CR8]\], but there is evidence of it also in plants mithocondria \[[@CR9]\]. This phenomenon may represent another level of regulatory control of gene expression. Indeed, the introduction of a translational start codon can make an mRNA accessible for protein synthesis \[[@CR1]\]. Within this general context, in plant mitochondria RNA editing proves essential for gene expression. In many cases this mechanism completes the genomic information and it is important to the creation of a functional ORF \[[@CR10]\].

The mechanism of RNA editing in plant mitochondria makes it harder studying the transfer of genetic information from DNA to proteins, due to the intervening differences occurring between RNAs and their coding DNA sequences. For this reason, common software tools for gene search helpful in finding canonical genes often fail short in discovering genes in plants and therefore some mitochondrial proteins may remain unknown. Accordingly, complete sequencing of mtDNA of many organisms allowed the identification of canonical genes, but much of the informational content of plant mitochondrial genomes remains still undiscovered. Therefore, finding plant mitochondrial proteins and understanding how they integrate into metabolic and signaling pathways, yet represents a major challenge in cell biology.

Here we present [FEDRO]{.smallcaps}, a Java software tool implementing a methodology based on the simulation of *c*→*u* RNA editing in the mitochondria of plants. The end result is the prediction of proteins which have been not yet discovered and annotated \[[@CR11]\]. Indeed, plant mitochondria may use the editing mechanism on crucial sites, causing the generation of new, i.e., *edited*, start codons *aug* from *acg*. [FEDRO]{.smallcaps} is a three-steps approach that first generates a collection of potential ORFs, that cannot be detected by classical discovery techniques, based on the RNA editing simulation of edited starting codons. Then the ORFs which are already known to be encoded as proteins in the input organism are filtered out. The final step is a comparison of the remaining sequences against the BLAST database according to the programs described in \[[@CR12]\], in order to select only those potential ORFs which present high sequence similarity with proteins in other organisms, or with transcripts in the same or different organisms.

We illustrate the functionalities of [FEDRO]{.smallcaps} on the mtDNA of *Oryza sativa*, where previous studies systematically identified mRNA editing sites of known ORFs (e.g., \[[@CR13]\]) but they did not investigate the possible generation of novel ORFs by the editing of the first codon. [FEDRO]{.smallcaps} allows to take into account this aspect, leading to the prediction of novel putative ORFs encrypted via *c*→*u* editing.

Implementation {#Sec2}
==============

The proposed system aims to automatically simulate the editing mechanisms possibly causing the presence of proteins that are not imputable to ORF sequences obtained by traditional methods (e.g., [ORF FINDER]{.smallcaps} \[[@CR14]\], [STARORF]{.smallcaps} \[[@CR15]\]). This is rather meaningful in plants, as already discussed in the Introduction, since mtDNA editing mechanisms can involve nucleotide triplets leading to start and stop codons. In particular, we aim to generate putative proteins not yet discovered in a given input organism. The by far most frequent nucleotide substitution caused by editing is *c*→*u* at the RNA level, that is, *c*→*t* if we refer to mtDNA. Therefore we consider only this type of nucleotide substitution in our analysis.

In particular, the proposed framework [FEDRO]{.smallcaps} consists of three main steps, graphically illustrated in Fig. [1](#Fig1){ref-type="fig"}: *Extraction*: ORFs extraction by editing simulation. Fig. 1The protein prediction method based on editing simulation*Filtering*: comparison of the extracted ORFs with proteins already known in the same organism.*Selection*: selection of the non-filtered ORFs that show high homology with known proteins in other orgnanisms, and search of known transcripts in the remaining ORFs.

Figure [2](#Fig2){ref-type="fig"} shows a screenshot of the main window of [FEDRO]{.smallcaps}. In the following we describe in detail each of the involved steps. Fig. 2A screenshot of the main window of [FEDRO]{.smallcaps}

Extraction {#Sec3}
----------

This phase is devoted to extract candidate ORFs from the input mtDNA sequence. We aim to extract both ORFs identified by standard start/stop codons and ORFs generated by the *c*→*t* editing mechanism using simulation. It is worth pointing out that editing events on the start/stop codons may affect the entire process of ORFs extraction. That is, although [FEDRO]{.smallcaps} returns also ORFs identified by standard start/stop codons, they could be different from those returned by [ORF FINDER]{.smallcaps} \[[@CR14]\] or [STARORF]{.smallcaps} \[[@CR15]\], due to different cuts of the input mtDNA sequence.

**INPUT:** the mtDNA sequence of an organism to be analyzed;user-defined threshold *θ*~*len*~: the minimum length of extracted ORFs, equal to 300 by default;considering edited start codons (*yes*/*no*), set to *yes* by default;considering edited stop codons (*yes*/*no*), set to *no* by default;

**METHOD:** The simplest way to find genes in a genome is that of scanning the input nucleotide sequence by considering all its three possible reading frames, then searching for nucleotide triplets corresponding to *start codons* and *stop codons* on a frame, and cutting the sub-sequences comprised between a start and a stop codon, that are the Open Reading Frame sequences. An ORF sequence is considered to be a potential protein encoding segments if its length is at least 300 nucleotides. In particular, there exist one start codon, that is, *atg* and three stop codons, that are *tag,tga* and *taa*. Although ORF sequences can be easily searched for in a genomic sequence by using existing software tools, such as for example [ORF FINDER]{.smallcaps} \[[@CR14]\] and [STARORF]{.smallcaps} \[[@CR15]\], these tools do not take into account the role of possible editing processes which could have modified the involved sequences.

Our system simultaneously looks for *atg* start codons and *acg* edited start codons. Next, it looks for a stop codon and extracts the ORF if and only if its length amounts at least at the minimum user-defined threshold *θ*~*len*~. Note that, since the stop codon does not have other possible interpretations, it cannot be ignored in order to find largest ORFs. All that given, two issues deserve attention: that possible further start codons between the current start codon and the stop codon are ignored;that edited stop codons are not taken into account.

The first issue is related to the fact that a start codon can be also be interpreted as amino-acid and using a preceding start codon just generates larger ORFs. Let $\documentclass[12pt]{minimal}
                \usepackage{amsmath}
                \usepackage{wasysym} 
                \usepackage{amsfonts} 
                \usepackage{amssymb} 
                \usepackage{amsbsy}
                \usepackage{mathrsfs}
                \usepackage{upgreek}
                \setlength{\oddsidemargin}{-69pt}
                \begin{document}$\overrightarrow {\delta }$\end{document}$ be the position where a start codon begins and let $\documentclass[12pt]{minimal}
                \usepackage{amsmath}
                \usepackage{wasysym} 
                \usepackage{amsfonts} 
                \usepackage{amssymb} 
                \usepackage{amsbsy}
                \usepackage{mathrsfs}
                \usepackage{upgreek}
                \setlength{\oddsidemargin}{-69pt}
                \begin{document}$\overleftarrow {\delta }$\end{document}$ be the position where a stop codon begins. Assume that the number of basis between $\documentclass[12pt]{minimal}
                \usepackage{amsmath}
                \usepackage{wasysym} 
                \usepackage{amsfonts} 
                \usepackage{amssymb} 
                \usepackage{amsbsy}
                \usepackage{mathrsfs}
                \usepackage{upgreek}
                \setlength{\oddsidemargin}{-69pt}
                \begin{document}$\overrightarrow {\delta }$\end{document}$ and $\documentclass[12pt]{minimal}
                \usepackage{amsmath}
                \usepackage{wasysym} 
                \usepackage{amsfonts} 
                \usepackage{amssymb} 
                \usepackage{amsbsy}
                \usepackage{mathrsfs}
                \usepackage{upgreek}
                \setlength{\oddsidemargin}{-69pt}
                \begin{document}$\overleftarrow {\delta }$\end{document}$ is larger than *θ*~*len*~. Consider now a possible further start codon beginning in a position *δ* between $\documentclass[12pt]{minimal}
                \usepackage{amsmath}
                \usepackage{wasysym} 
                \usepackage{amsfonts} 
                \usepackage{amssymb} 
                \usepackage{amsbsy}
                \usepackage{mathrsfs}
                \usepackage{upgreek}
                \setlength{\oddsidemargin}{-69pt}
                \begin{document}$\overrightarrow {\delta }$\end{document}$ and $\documentclass[12pt]{minimal}
                \usepackage{amsmath}
                \usepackage{wasysym} 
                \usepackage{amsfonts} 
                \usepackage{amssymb} 
                \usepackage{amsbsy}
                \usepackage{mathrsfs}
                \usepackage{upgreek}
                \setlength{\oddsidemargin}{-69pt}
                \begin{document}$\overleftarrow {\delta }$\end{document}$. Taking *δ* as the start codon beginning position leads to consider ORF comprised between *δ* and $\documentclass[12pt]{minimal}
                \usepackage{amsmath}
                \usepackage{wasysym} 
                \usepackage{amsfonts} 
                \usepackage{amssymb} 
                \usepackage{amsbsy}
                \usepackage{mathrsfs}
                \usepackage{upgreek}
                \setlength{\oddsidemargin}{-69pt}
                \begin{document}$\overleftarrow {\delta }$\end{document}$, which is strictly included in the ORF comprised between $\documentclass[12pt]{minimal}
                \usepackage{amsmath}
                \usepackage{wasysym} 
                \usepackage{amsfonts} 
                \usepackage{amssymb} 
                \usepackage{amsbsy}
                \usepackage{mathrsfs}
                \usepackage{upgreek}
                \setlength{\oddsidemargin}{-69pt}
                \begin{document}$\overrightarrow {\delta }$\end{document}$ and $\documentclass[12pt]{minimal}
                \usepackage{amsmath}
                \usepackage{wasysym} 
                \usepackage{amsfonts} 
                \usepackage{amssymb} 
                \usepackage{amsbsy}
                \usepackage{mathrsfs}
                \usepackage{upgreek}
                \setlength{\oddsidemargin}{-69pt}
                \begin{document}$\overleftarrow {\delta }$\end{document}$. Thus, ignoring intermediate start codons, like the one beginning at *δ*, implies to extract larger ORFs. As shown in the experiments, this does not lead the system to be less accurate.

The second issue is related to the fact that a stop codon does not have other possible interpretations and then each stop codon has to be considered to extract an ORF. Considering editing codons enlarges the set of stop codons to be taken into accounts and thus, leads to the generation of smaller ORFs.

**OUTPUT:** The output of this phase is a set of candidate ORFs, translated into amino-acid sequences.

Filtering {#Sec4}
---------

Since the end goal of our system is to support the discovery of possible novel proteins, the goal of this phase is to filter out from the candidate ORF set, that set of ORFs which is already known to be encoded as proteins in the input organism.

**INPUT:** The set of candidate ORFs as returned by the extraction phase.

**METHOD:** To perform this operation, the system queries the protein database by exploiting the web services offered by the BLAST framework and, in particular, the system uses the blastp software to measure the similarity between a candidate and the known proteins, such that two proteins are considered similar if the resulting bitscore is larger than or equal to 200. From the analysis of the returned similarity, three cases can arise: the ORF is similar to a protein already known in the input organism;the ORF is similar to a protein already known in another organism;the ORF is not similar to any already known protein.

Thus, this phase partitions the input set of ORFs in three sets: ORFs encoding proteins already known in the input organism (*to-drop* set);ORFs encoding proteins already known in other organisms;ORFs non-encoding known proteins.

**OUTPUT:** This phase outputs the two sets b) and c) of non-dropped ORFs.

Selection {#Sec5}
---------

The goal of this phase is to select the set of ORFs to be returned for further analysis by domain experts.

**INPUT:** Two sets of candidate ORFs.

**METHOD:** The system returns the set of ORFs encoding proteins already known in other organisms. These ORFs are potentially useful for the prediction of putative proteins in the organism under analysis.

Next, the system takes into account the set of ORFs non-encoding known proteins. New proteins could belong to this set. In order to select promising candidates, the system queries the EST database by exploiting, again, the web services offered by the BLAST framework and, in particular, the system uses the tblastn software. The goal is to look for the presence of transcripts that may be indicative for a transcription of the ORFs sequence in a novel protein.

**OUTPUT:** Two sets of ORFs to be analyzed by domain experts.

Results {#Sec6}
=======

To provide example of application, we show the results returned by [FEDRO]{.smallcaps} on the mtRNA of the model plant *Oryza sativa* (version *BA*000029.3).

As a first test, we extract all the possible ORF sequences from the considered mtDNA by considering only non-edited start and stop codons (with the constraint of a length equal to or larger than 300), as it is returned by a standard tool for ORFs extraction. Then, we do the same, but by applying [FEDRO]{.smallcaps} on the mtDNA of the input organism.

The result is that [FEDRO]{.smallcaps} generates standard ORFs which are not affected by editing on the start/stop codons, sometimes as subsequences or intersections with standardly observed ORFs. Most importantly, 43 out of 213, that is, 20% of the candidate ORFs returned by [FEDRO]{.smallcaps} cannot be extracted by standard tools, such as [ORF FINDER]{.smallcaps} \[[@CR14]\] or [STARORF]{.smallcaps} \[[@CR15]\], which do not consider editing events on the start/stop codons.

The second type of analysis aims at understanding if these putative ORFs result to be significant after the validation step, that is, they present high sequence similarity with known proteins or transcripts. In such a case, they can be put in a final catalogue of predictions to be provided to biologists for further lab inspections. In particular, Tables [1](#Tab1){ref-type="table"} and [2](#Tab2){ref-type="table"} show the results of the blastp queries for protein sequence similarity search. Results are sorted with respect to the BLAST bitscore values (also other BLAST scores can be taken into account analogously, such as e-value, percentage of coverage and percentage of identity; we omit them since the corresponding results do not present significant differences with respect to those presented here). The column [ORF TYPE]{.smallcaps} highlights if the corresponding ORF is contained in, or intercepts, another ORF returned by a standard tool (sub, int, respectively), or if it is not returned by a standard tool (new). Tables [3](#Tab3){ref-type="table"} and [4](#Tab4){ref-type="table"} are analogous to the previous ones, but they contain the putative ORFs resulting from tblastn query for EST sequence similarity search. Table 1Putative ORFs resulting from Blastp query for protein sequence similarity search obtained for *O. sativa*[seq]{.smallcaps}[start]{.smallcaps}[stop]{.smallcaps}[strand]{.smallcaps}[start]{.smallcaps}[orf]{.smallcaps}[orf]{.smallcaps}[blastp]{.smallcaps}[similarity found]{.smallcaps}[nr.]{.smallcaps}[type]{.smallcaps}[type]{.smallcaps}[type]{.smallcaps}[codon]{.smallcaps}[length]{.smallcaps}[type]{.smallcaps}[bitscore]{.smallcaps}[organism]{.smallcaps}1MainEditedfwd32014393Sub266*O. nivara*2MainEditedfwd45130360Sub230*Z. mays subsp. mays*3MainEditedfwd322576339Sub226*O. sativa Indica Group*4MainEditedfwd323041348Sub223*O. sativa Indica Group*5MainEditedfwd334132309Sub208*O. sativa Indica Group*6EditedEditedrev414167327New205*G. hirsutum*7EditedEditedfwd372740408New203*Z. mays subsp. mays*8EditedEditedfwd332693315Sub200*L. perenne*Best hit bitscore and organism where the significant sequence similarity has been found are reported for each [ORF]{.smallcaps}. This table contains sequence similarity results corresponding to BLAST bitscore ≥ 200 Table 2Putative ORFs resulting from Blastp query for protein sequence similarity search obtained for *O. sativa*[seq]{.smallcaps}[start]{.smallcaps}[stop]{.smallcaps}[strand]{.smallcaps}[start]{.smallcaps}[orf]{.smallcaps}[orf]{.smallcaps}[blastp]{.smallcaps}[similarity found]{.smallcaps}[nr.]{.smallcaps}[type]{.smallcaps}[type]{.smallcaps}[type]{.smallcaps}[codon]{.smallcaps}[length]{.smallcaps}[type]{.smallcaps}[bitscore]{.smallcaps}[organism]{.smallcaps}1EditedEditedfwd283844330New197*V. faba*2EditedEditedrev315377330New195*A. duranensis*3EditedMainrev314493342New194*N. tabacum*4EditedEditedrev461810324New193*T. aestivum*5MainEditedfwd391725327Sub187*S. bicolor*6MainEditedfwd361601354Sub182*T. aestivum*7MainEditedfwd394888360Sub179*A. alpina*8EditedEditedrev240111321Int177*C. cajan*9EditedMainfwd331900444Sub176*S. italica*10MainEditedrev98164387Sub164*P. edulis*11EditedEditedrev424636315Int163*F. rimosivaginus*12EditedEditedrev404262363New156*F. rimosivaginus*13EditedMainfwd316040309New150*C. card. var. scolymus*14EditedMainfwd142093312New149*S. bicolor*15MainEditedfwd393830339Sub147*Z. mays subsp. mays*16MainEditedfwd367055306Sub130*V. vinifera*17EditedEditedfwd364454327New129*Z. mays subsp. mays*18MainEditedrev260161324Sub113*T. subterraneum*19EditedMainrev201474348New113*B. napus*20EditedMainfwd232846339New103*A. thaliana*21EditedMainrev232370387New88*G. raimondii*Best hit bitscore and organism where the significant sequence similarity has been found are reported for each [ORF]{.smallcaps}. This table contains sequence similarity results corresponding to BLAST bitscore in the range 80−200 Table 3Putative ORFs resulting from Tblastn query for EST sequence similarity search obtained for *O. sativa*[FEDRO]{.smallcaps} ORFs[seq]{.smallcaps}[start]{.smallcaps}[stop]{.smallcaps}[strand]{.smallcaps}[start]{.smallcaps}[orf]{.smallcaps}[orf]{.smallcaps}[blastp]{.smallcaps}[similarity found]{.smallcaps}[nr.]{.smallcaps}[type]{.smallcaps}[type]{.smallcaps}[type]{.smallcaps}[codon]{.smallcaps}[length]{.smallcaps}[type]{.smallcaps}[bitscore]{.smallcaps}[organism]{.smallcaps}1MainEditedfwd50237378sub216, 221*O. officinalis*Best hit bitscore and organism where the significant sequence similarity has been found are reported for each [ORF]{.smallcaps}. This table contains sequence similarity results corresponding to BLAST bitscore ≥ 200 Table 4Putative ORFs resulting from Tblastn query for EST sequence similarity search obtained for *O. sativa*[FEDRO]{.smallcaps} ORFs[seq]{.smallcaps}[start]{.smallcaps}[stop]{.smallcaps}[strand]{.smallcaps}[start]{.smallcaps}[orf]{.smallcaps}[orf]{.smallcaps}[blastp]{.smallcaps}[similarity found]{.smallcaps}[nr.]{.smallcaps}[type]{.smallcaps}[type]{.smallcaps}[type]{.smallcaps}[codon]{.smallcaps}[length]{.smallcaps}[type]{.smallcaps}[bitscore]{.smallcaps}[organism]{.smallcaps}2EditedMainrev105822306New195*O. longistaminata*3MainEditedrev444521354Sub194*O. sativa Japonica Group*4EditedEditedrev444885411New194*O. sativa*5EditedMainrev55809378Sub179*O. punctata*6MainMainfwd250268342Sub171*B. oldhamii*7EditedEditedfwd407800318New167*P. virgatum*8EditedEditedfwd354085357New159*O. longistaminata*9EditedEditedfwd362648315New145*F. pratensis*10EditedEditedrev449361327New142*T. cacao*11EditedEditedrev295218324New114*V. vinifera*12EditedMainrev207984306New112*O. sativa Japonica Group*13EditedMainfwd385977318New91*S. officinarum*14EditedMainrev248349318New89*O. sativa Indica Group*15EditedEditedfwd203320375New85*T. cacao*Best hit bitscore and organism where the significant sequence similarity has been found are reported for each [ORF]{.smallcaps}. This table contains sequence similarity results corresponding to BLAST bitscore in the range 80−200

The data displayed in the abovementioned tables show that [FEDRO]{.smallcaps} is able to successfully generate novel putative ORFs. They constitute a useful catalogue for the biologist in order to identify interesting sequences which may be associated to coding regions, but which cannot be recognized by standard ORFs extraction due to the presence of editing that modifies the ORF sequence start/stop codons.

Conclusions {#Sec7}
===========

We propose [FEDRO]{.smallcaps}, a Java software tool implementing a novel strategy to generate candidate ORFs resulting from *c*→*u* editing substitutions which occur in the mitochondrial genome (mtDNA) of a given input plant. This is useful in order to predict putative proteins of plants mitochondria that have not been yet annotated.

We applied [FEDRO]{.smallcaps} on the mtDNA of *Oryza sativa*, suggesting a set of 45 novel putative ORFs to be verified by experts.

[FEDRO]{.smallcaps} may be usefully applied to single out informative subsequences also in other, less studied, organisms. With the catalogue of novel putative ORFs in hand, the biologist can perform further analysis and experiments in laboratory to discover the presence of novel proteins in plants, where the editing mechanisms alter the structure of RNA transcripts.

As our future work, we plan to apply our method on the chloroplast genome of plants, where the *c*→*u* editing also occurs. Moreover, we are working on the design of a methodology aiming at identifying possible coding exons of trans-spliced genes in the predicted ORFs. We will also investigate the chance to add alternative initial codons ORF \[[@CR16]\] as a significant extra feature of the proposed system. Finally, another interesting direction of investigation regards a context-based analysis of the editing sites, which are already known and annotated for many model organisms. To this aim, both sequence motifs or *k*-mers based analysis may be considered (see, for example, \[[@CR17], [@CR18]\] and \[[@CR19], [@CR20]\], respectively) and approaches able to characterize anomalous contexts \[[@CR21], [@CR22]\].

Availability and requirements {#Sec8}
=============================

[FEDRO]{.smallcaps} is publicly available at <http://math.unipa.it/rombo/FEDRO>. As specified in the 'readme.txt' file, the two files 'FEDRO.jar' and 'data.properties' have to be included in the same folder. Moreover, the blastp and tblastn executable files have to be provided, and the 'executable' field of the 'data.properties' file has to be updated with their paths.

BLAST

:   Basic local alignment search tool

EST

:   Expressed sequence tags

mtDNA

:   mitochondrial DNA

ORF

:   Open reading frames

All the Authors are grateful to the anonymous Referees, whose comments and suggestions allowed to improve the quality of this manuscript.

Funding {#d29e2937}
=======

This article did not receive sponsorship for publication. Research by F. F., L. P. and S.E.R. has been partially supported by the projects INDAM GNCS 2017 "Algoritmi e tecniche efficienti per l'organizzazione, la gestione e l'analisi di Big Data in ambito biologico" and GNCS 2018 "Elaborazione ed analisi di Big Data modellati come grafi in vari contesti applicativi".

Availability of data and materials {#d29e2942}
==================================

The proposed software tool and some example input datasets are available at <http://math.unipa.it/rombo/FEDRO>.

About this supplement {#d29e2952}
=====================

This article has been published as part of *BMC Bioinformatics Volume 20 Supplement 4, 2019: Methods, tools and platforms for Personalized Medicine in the Big Data Era (NETTAB 2017)*. The full contents of the supplement are available online at <https://bmcbioinformatics.biomedcentral.com/articles/supplements/volume-20-supplement-4>.

FF and SER coordinated the organization and writing of this manuscript. AS proposed the main idea behind the presented approach. OL carried a manually based validation of previous versions of the framework, which was essential to achieve the last proposed one. FF, CG, LP and SER worked to the design and development of the framework, and to its experimental validation. CG is responsible for the implementation of [Fedro]{.smallcaps}. All the authors proofread and approved the manuscript.

Ethics approval and consent to participate
==========================================

Not applicable.

Consent for publication
=======================

Not applicable.

Competing interests
===================

The authors declare that they have no competing interests.

Publisher's Note
================

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
