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...
Autores principales: | , |
---|---|
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 |