Table of contents

Acknowledgments

The Shasta software uses the external software packages listed below. This list does not include standard components of the Ubuntu distribution of the Linux operating system.

Licensing information for each of these packages is contained in the Shasta LICENSE file.

MurmurHash2

MurmurHash2 from GitHub repository aappleby/smhasher, by Austin Appleby, is a hash function with excellent performance and randomness properties. It is used as a hash function in the Shasta software.

Dset

Files src/dset64.hpp and src/dset64-gccAtomic.hpp are modified versions of file dset.h from GitHub repository wjakob/dset by Wenzel Jakob. They are lock-free implementation in C++ of the algorithm described in Wait-free Parallel Algorithms for the Union-Find Problem by Richard J. Anderson and Heather Woll, STOC '91 Proceedings of the twenty-third annual ACM symposium on Theory of computing.

The code was modified to support the union-find algorithm for 64-bit data using 128-bit primitives for atomic memory access. Kind assistance by Wenzel Jakob in making these changes is acknowledged.

SeqAn

The SeqAn software is used as an option for multiple sequence alignment of sequences encountered in edges of the Shasta marker graph. It is not directly included in the Shasta repository. Instead, it is downloaded from GitHub and installed on the user's machine when the user invokes scripts/InstallPrerequisites-Ubuntu.sh or scripts/InstallPrerequisites-macOS.sh It is a header only library.

Spoa

The Spoa software by Robert Vaser is used as an option for multiple sequence alignment of sequences encountered in edges of the Shasta marker graph. It is not directly included in the Shasta repository. Instead, it is downloaded from GitHub, built, and installed on the user's machine when the user invokes scripts/InstallPrerequisites-Ubuntu.sh or scripts/InstallPrerequisites-macOS.sh.

Table of contents