Cargando…

Cache and energy efficient algorithms for Nussinov’s RNA Folding

BACKGROUND: An RNA folding/RNA secondary structure prediction algorithm determines the non-nested/pseudoknot-free structure by maximizing the number of complementary base pairs and minimizing the energy. Several implementations of Nussinov’s classical RNA folding algorithm have been proposed. Our fo...

Descripción completa

Detalles Bibliográficos
Autores principales: Zhao, Chunchun, Sahni, Sartaj
Formato: Online Artículo Texto
Lenguaje:English
Publicado: BioMed Central 2017
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5731499/
https://www.ncbi.nlm.nih.gov/pubmed/29244013
http://dx.doi.org/10.1186/s12859-017-1917-0
_version_ 1783286522058899456
author Zhao, Chunchun
Sahni, Sartaj
author_facet Zhao, Chunchun
Sahni, Sartaj
author_sort Zhao, Chunchun
collection PubMed
description BACKGROUND: An RNA folding/RNA secondary structure prediction algorithm determines the non-nested/pseudoknot-free structure by maximizing the number of complementary base pairs and minimizing the energy. Several implementations of Nussinov’s classical RNA folding algorithm have been proposed. Our focus is to obtain run time and energy efficiency by reducing the number of cache misses. RESULTS: Three cache-efficient algorithms, ByRow, ByRowSegment and ByBox, for Nussinov’s RNA folding are developed. Using a simple LRU cache model, we show that the Classical algorithm of Nussinov has the highest number of cache misses followed by the algorithms Transpose (Li et al.), ByRow, ByRowSegment, and ByBox (in this order). Extensive experiments conducted on four computational platforms–Xeon E5, AMD Athlon 64 X2, Intel I7 and PowerPC A2–using two programming languages–C and Java–show that our cache efficient algorithms are also efficient in terms of run time and energy. CONCLUSION: Our benchmarking shows that, depending on the computational platform and programming language, either ByRow or ByBox give best run time and energy performance. The C version of these algorithms reduce run time by as much as 97.2% and energy consumption by as much as 88.8% relative to Classical and by as much as 56.3% and 57.8% relative to Transpose. The Java versions reduce run time by as much as 98.3% relative to Classical and by as much as 75.2% relative to Transpose. Transpose achieves run time and energy efficiency at the expense of memory as it takes twice the memory required by Classical. The memory required by ByRow, ByRowSegment, and ByBox is the same as that of Classical. As a result, using the same amount of memory, the algorithms proposed by us can solve problems up to 40% larger than those solvable by Transpose.
format Online
Article
Text
id pubmed-5731499
institution National Center for Biotechnology Information
language English
publishDate 2017
publisher BioMed Central
record_format MEDLINE/PubMed
spelling pubmed-57314992017-12-19 Cache and energy efficient algorithms for Nussinov’s RNA Folding Zhao, Chunchun Sahni, Sartaj BMC Bioinformatics Research BACKGROUND: An RNA folding/RNA secondary structure prediction algorithm determines the non-nested/pseudoknot-free structure by maximizing the number of complementary base pairs and minimizing the energy. Several implementations of Nussinov’s classical RNA folding algorithm have been proposed. Our focus is to obtain run time and energy efficiency by reducing the number of cache misses. RESULTS: Three cache-efficient algorithms, ByRow, ByRowSegment and ByBox, for Nussinov’s RNA folding are developed. Using a simple LRU cache model, we show that the Classical algorithm of Nussinov has the highest number of cache misses followed by the algorithms Transpose (Li et al.), ByRow, ByRowSegment, and ByBox (in this order). Extensive experiments conducted on four computational platforms–Xeon E5, AMD Athlon 64 X2, Intel I7 and PowerPC A2–using two programming languages–C and Java–show that our cache efficient algorithms are also efficient in terms of run time and energy. CONCLUSION: Our benchmarking shows that, depending on the computational platform and programming language, either ByRow or ByBox give best run time and energy performance. The C version of these algorithms reduce run time by as much as 97.2% and energy consumption by as much as 88.8% relative to Classical and by as much as 56.3% and 57.8% relative to Transpose. The Java versions reduce run time by as much as 98.3% relative to Classical and by as much as 75.2% relative to Transpose. Transpose achieves run time and energy efficiency at the expense of memory as it takes twice the memory required by Classical. The memory required by ByRow, ByRowSegment, and ByBox is the same as that of Classical. As a result, using the same amount of memory, the algorithms proposed by us can solve problems up to 40% larger than those solvable by Transpose. BioMed Central 2017-12-06 /pmc/articles/PMC5731499/ /pubmed/29244013 http://dx.doi.org/10.1186/s12859-017-1917-0 Text en © The Author(s) 2017 Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made. The Creative Commons Public Domain Dedication waiver (http://creativecommons.org/publicdomain/zero/1.0/) applies to the data made available in this article, unless otherwise stated.
spellingShingle Research
Zhao, Chunchun
Sahni, Sartaj
Cache and energy efficient algorithms for Nussinov’s RNA Folding
title Cache and energy efficient algorithms for Nussinov’s RNA Folding
title_full Cache and energy efficient algorithms for Nussinov’s RNA Folding
title_fullStr Cache and energy efficient algorithms for Nussinov’s RNA Folding
title_full_unstemmed Cache and energy efficient algorithms for Nussinov’s RNA Folding
title_short Cache and energy efficient algorithms for Nussinov’s RNA Folding
title_sort cache and energy efficient algorithms for nussinov’s rna folding
topic Research
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5731499/
https://www.ncbi.nlm.nih.gov/pubmed/29244013
http://dx.doi.org/10.1186/s12859-017-1917-0
work_keys_str_mv AT zhaochunchun cacheandenergyefficientalgorithmsfornussinovsrnafolding
AT sahnisartaj cacheandenergyefficientalgorithmsfornussinovsrnafolding