dc.contributor.author
Hauswedell, Hannes Peer
dc.date.accessioned
2021-06-28T11:05:00Z
dc.date.available
2021-06-28T11:05:00Z
dc.identifier.uri
https://refubium.fu-berlin.de/handle/fub188/30952
dc.identifier.uri
http://dx.doi.org/10.17169/refubium-30691
dc.description.abstract
Die vorliegende Doktorarbeit stellt SeqAn3 vor, eine in Modernem C++ neu entwickelte Softwarebibliothek, die Probleme aus dem Bereich der Sequenzanalyse in der Bioinformatik löst. Vorherige Versionen der Bibliothek werden detailliert analysiert und die Wichtigkeit von Programmiersprachen mit hoher Effizienz hergeleitet, allen voran C++. Als größte Probleme der bestehenden Lösungen werden die Komplexität des Bibliothekdesigns und der Programmiersprache selbst identifiziert. Diese verhindern eine größere Verbreitung der Bibliothek, entmutigen Nutzer und erschweren die Wartung. Aufbauend auf den sehr grundsätzlichen Neuerungen der Sprache C++ wird ein neues Design für SeqAn entworfen und implementiert. Die Bibliothek findet ihre erste Anwendung in der Portierung von Lambda, eines Programms zur Berechnung von lokalen Alignments. Sowohl SeqAn3, als auch Lambda haben eine hohe praktische Relevanz und sie zeigen, dass einfachere und kompaktere Lösungen als zuvor möglich sind. Der Entstehungsprozess dieser Software wird in dieser Arbeit dargelegt. Sie stellt dadurch einen wichtigen Beitrag zu den Bereichen research software engineering, Bibliothekdesign und bedingt auch zur Analyse und Weiterentwicklung von Programmiersprachen dar. Als eines der ersteren größeren Softwareprojekte, die von Grund auf auf C++20 setzen, hat die Bibliothek Vorbildcharakter und dürfte über den Bereich der Bioinformatik hinaus auf Interesse stoßen.
de
dc.description.abstract
This thesis introduces SeqAn3, a new software library built with Modern C++ to solve problems from the domain of sequence analysis in bioinformatics. It discusses previous versions of the library in detail and explains the importance of highly performing programming languages like C++. Complexity in the design of the library and of the programming language itself are identified as the major obstacles to user satisfaction, widespread adoption and long-term viability of the project. Therefore, based on very fundamental changes in the C++ programming language, a new library design is formulated and implemented. Its impact is showcased by porting the local aligner called Lambda from SeqAn2 to SeqAn3. Both, the library and the application are highly relevant in practice and prove that simpler and more compact solutions are possible. This thesis documents the process of creating said software, contributing vital information to the fields of research software engineering, library design and to a certain degree also applied programming language research. As one of the first larger projects to be designed fully around C++20 features, it has instructive value beyond bioinformatics.
en
dc.format.extent
XVII, 282 Seiten
dc.rights.uri
https://creativecommons.org/licenses/by-nc-sa/4.0/
dc.subject
Sequence Analysis
en
dc.subject
Library design
en
dc.subject
Bioinformatics
en
dc.subject
High performance computing
en
dc.subject
Sequence alignment
en
dc.subject.ddc
000 Informatik, Informationswissenschaft, allgemeine Werke::000 Informatik, Wissen, Systeme::005 Computerprogrammierung, Programme, Daten
dc.subject.ddc
000 Informatik, Informationswissenschaft, allgemeine Werke::000 Informatik, Wissen, Systeme::004 Datenverarbeitung; Informatik
dc.subject.ddc
500 Naturwissenschaften und Mathematik::570 Biowissenschaften; Biologie::576 Genetik und Evolution
dc.title
SeqAn3 – Sequence Analysis and Modern C++
dc.contributor.gender
male
dc.contributor.firstReferee
Reinert, Knut
dc.contributor.furtherReferee
Kurtz, Stefan
dc.date.accepted
2020-11-24
dc.identifier.urn
urn:nbn:de:kobv:188-refubium-30952-7
refubium.affiliation
Mathematik und Informatik
dcterms.accessRights.dnb
free
dcterms.accessRights.openaire
open access