ga4gh.org
Sequence collections
how to uniquely identify and compare genomes
Andy Yates, Nathan Sheffield, Timothee Cezard
ga4gh.org
What’s a sequence collection ?
It’s a collection of sequences!
Like a reference genome
… Or a transcriptome
… Or a proteome
Sequence
Refget
hay6rlosvc4jdonnwy26fdk0
klavctwpjsccxoobfilld5oa67
SeqCol
ga4gh.org
Use cases in brief
ga4gh.org
Introduction to Sequence Collections
Project goal:
The project specifies:
ga4gh.org
How do we represent a sequence collection ?
JSON object where each sequence collection attribute is a property of the JSON
Sequences as refget digests
Names used for these sequences
Length of the sequences
ga4gh.org
How do we represent a sequence collection ?
JSON object where each sequence collection attribute is a property of the JSON
ga4gh.org
How do we represent a sequence collection ?
JSON object where each sequence collection attribute is a property of the JSON
ga4gh.org
Computing sequence identifiers
General algorithm
Normalisation: convert JSON into unique string representation
Using RFC8785: JSON Canonicalization Scheme (JCS)
Hashing: SHA512 truncated to the first 24 bits and converted to base64
seqcol
Normalisation
Hashing
digest
ga4gh.org
Computing sequence identifiers
General algorithm
2
1
3
4
ga4gh.org
Computing sequence identifiers
Inherent/non-inherent attributes
sorted-name-length
ga4gh.org
Computing sequence identifiers
Inherent/non-inherent attributes
sorted-name-length
sorted-names-lengths attribute
ga4gh.org
API specification
ga4gh.org
API specification (Lookup)
ga4gh.org
API specification (Comparison)
ga4gh.org
API demonstration
ga4gh.org
Sequence Collections status and future
ADR specificies:
Future work:
ga4gh.org
Use case: Variation detection and annotation
Sequencing data
Variant call
Calculate
Sequence collection
Genome
chr1
chr2
…
VCF
##Seqcollection=<ID=oshqvxks73nsa>
Variant annotation
SeqCol
Server
Annotated VCF
##Seqcollection=<ID=oshqvxks73nsa>
Check compatibility of oshqvxks73nsa with supported annotation
Annotation
1
2
…
ga4gh.org
Use case: Variation Submission for Archiving
SeqCol
Server
Annotated VCF
##Seqcollection=<ID=oshqvxks73nsa>
Check compatibility of oshqvxks73nsa with supported genome
Genome
Annotated VCF
##Seqcollection=<ID=oshqvxks73nsa>
Validator
ga4gh.org
Use case: Tracking Refgenie asset reference identity
ga4gh.org
Use case: Coordinate system and visualisation
ga4gh.org
Use case: Caching header information for gains!
Retrieve/cache locally
(see CRAM)
Formatted header
ga4gh.org
Conclusion: get involved
Read and comment on the draft specification here:
View a demo implementation here: https://seqcolapi.databio.org
Software: https://github.com/refgenie/seqcol
Join our calls at:
ga4gh.org