SeqRepo
SeqRepo manages local collections of biological sequences to provide fast, stable, private, and reproducible retrieval of genome, transcript, and protein sequences for downstream analyses.
Key Features:
- Local non-redundant repository: Constructs a local, non-redundant collection of genome, transcript, and protein sequences enabling high-performance random access with up to 1300-fold improvement for sequence slices versus network-based solutions.
- Identifier and digest support: Stores primary database identifiers alongside multiple sequence digests to support aliasing and retrieval when conventional identifiers are unavailable.
- Storage mechanisms: Employs compression, journaling, and non-redundancy to manage storage efficiently.
- Programmatic interfaces: Exposes a native Python API and RESTful interfaces for local or remote programmatic access.
- GA4GH refget integration: Provides an alternative REST interface implementing the GA4GH refget protocol.
- sha512t24u hashing convention: Generates URL-safe identifiers using SHA-512 hashing with Base64 encoding (sha512t24u) for fast, space-efficient sequence identifiers.
- Human sequence snapshots: Maintains regular snapshots of human sequence collections for consistent local copies.
Scientific Applications:
- Variant validation and normalization: Supports pipelines that require rapid sequence retrieval for variant validation and representation normalization.
- High-throughput and clinical workflows: Improves sequence-access throughput in high-throughput and clinical analyses, with reported ~50-fold gains in specific use cases versus remote access.
- Privacy and reproducibility: Enables local sequence storage to preserve data privacy and reproducibility in genomic analyses.
Methodology:
Implemented as a Python package, SeqRepo manages local sequence collections using compression, journaling, and non-redundancy; it supports multiple digests and the sha512t24u (SHA-512 + Base64) identifier convention and resolves fully-qualified identifiers with namespaces to disambiguate accessions (e.g., GRCh37 vs. GRCh38), returning a unique match or raising an ambiguity error.
Topics
Details
- License:
- Apache-2.0
- Programming Languages:
- Python
- Added:
- 1/18/2021
- Last Updated:
- 2/16/2021
Operations
Publications
Hart RK, Prlić A. SeqRepo: A system for managing local collections biological sequences. Unknown Journal. 2020. doi:10.1101/2020.09.16.299495.