Anmerkungen:
Diese Datenquelle enthält auch Bestandsnachweise, die nicht zu einem Volltext führen.
Beschreibung:
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. ; 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 ...