Phenopackets and Structural Variants
This release is primarily focussed on enabling simultaneous prioritisation of structural and non-structural variation
with as consistent an API as possible for both types of variation. It also introduces a new API for specifying richer
information about a Sample
based on the v1 GA4GH Phenopacket
This release requires data version >= 2109 and Java version >= 11 (Java 17 recommended).
Until we're able to upload the data to the usual data.monarchinitiative.org/exomiser/latest you can download the data using these links:
2109_hg19
2109_hg38
2109_phenotype
CLI changes
- Minimum Java version is now set to Java 11
- New structural variant interpretation alongside small variants - requires data version 2109 or higher. This has
been tested using Manta and Canvas short-read callers and pbsv long-read caller. - New command line options for more flexible input: --sample --output, --vcf, --batch, --preset --assembly --ped . Run
--help for details - Phenopackets v1.0 can be used to input sample phenotype data
- Added ability to specify proband age and sex in input options either via a phenopacket or the 'sample' format
- Improved MOI disease - phenotype matching with added Orphanet MOIs
- Improved incomplete penetrance calculation when using the ANY mode of inheritance option
- Added a
minExomiserGeneScore
option for limiting the output genes to have a mimimum Exomiser combined score. This is
disabled by default. If enabling it, we recommend using a minimum score of 0.7 - BREAKING CHANGE - JSON output changes
pos
renamed asstart
,chrmosomeName
renamed ascontigName
.
Deletedchromosome
field (usecontigName
). New fields:end
,length
,changeLength
andvariantType
Core API
API breaking changes:
- New target Java version set to 11
Exomiser.run()
now requiresSample
andAnalysis
argumentsAnalysisRunner
interface now requiresSample
andAnalysis
argumentsAnalysis
fieldsvcfPath
,pedigree
,probandSampleName
andgenomeAssembly
moved to newSample
classPedigreeSampleValidator
moved fromutil
into newsample
package- Replaced
SampleIdentifierUtil
withSampleIdentifiers
class - Replaced
SampleIdentifier
withSampleData
Variant
now extendsorg.monarchinitiative.svart.Variant
- see https://github.com/exomiser/svart/ for details- Deprecated
VariantCoordinates
- replaced byorg.monarchinitiative.svart.Variant
VariantEvaluation.getSampleGenotypes()
now returns aSampleGenotypes
class- Changed
VariantAnnotation
from implementingVariant
to implementing newVariantAnnotations
interface - Updated variant coordinates
getChromosome()
,chromosomeName()
,getPosition()
,getRef()
,getAlt()
to
useSvart
contigId()
,contigName()
,start()
,end()
,ref()
andalt()
signatures - Replaced
RsId
withString
type inFrequencyData
constructors and return fromhasDbSnpRsID()
method - Replaced
Contig
class with newContigs
class VariantAnnotator
interface changed toList<VariantAnnotation> annotate(@Nullable Variant variant)
VariantContextSampleGenotypeConverter.createAlleleSampleGenotypes()
method now returns aSampleGenotypes
objectVariantFactory
now a@FunctionalInterface
with acreateVariantEvaluations()
VariantFactoryImpl
now requiresVariantAnnotator
andVcfReader
input argumentsVcfCodecs
now requiresList
rather thanSet
inputs
New APIs:
- New protobuf schemas for
Job
,Analysis
,Sample
,OutputOptions
- New
Exomiser.run(JobProto.Job job)
entry point - New
FluentAnalysisBuilder
interface implemented byAnalysisBuilder
and newAnalysisProtoBuilder
for consistent
API between proto and domain classes - New
AnalysisGroup
class extracted fromAbstractAnalysisRunner
- New
Sample
class to encapsulate data about the sample, such asAge
andSex
- New
Age
class - New
Phenopacket...
classes for reading and converting sample data from v1 phenopackets - New Proto converter classes
- New
SampleIdentifiers
class - New
SampleData
class to containsampleIdentifier
,SampleGenotype
andCopyNumber
- New
SampleGenotypes
class to handle - New
CopyNumber
class for handling copy number variation data from VCF - New
AbstractVariant
class - New
VariantAnnotations
interface - New
AlleleCall.parseAlleleCall()
method - New
Pedigree
justProband(String id, Individual.Sex sex))
andanscestorsOf(Pedigree.Individual individual)
methods - New
SvFrequencyDao
,SvPathogenicityDao
andSvDaoUtil
classes - New
VariantWhiteListLoader
class - New
JannovarAnnotationService.annotateSvGenomeVariant()
method - New
JannovarSmallVariantAnnotator
class - New
JannovarStructuralVariantAnnotator
class - New
TranscriptModelUtil
class - New
VcfReader
interface withVcfFileReader
andNoOpVcfReader
implementations - New
VariantContextConverter
class for convertingVariantContext
objects intoVariant
Other changes:
- Updated Spring Boot to version 2.5.3
- Updated Jannovar to version 0.30
- Updated HTSJDK to version 2.24.1
AnalysisResults
now hold references to originalSample
andAnalysis
objectsGenomeAnalysisService
can now return aVariantAnnotator
objectGenomeAssembly
now wraps twoGenomicAssembly
objects- Added
ClinVarData
starRating()
andisSecondaryAssociationRiskFactorOrOther()
methods - Added DBVAR, DECIPHER, DGV, GNOMAD_SV and GONL SV
FrequencySource
- Updated
VariantEffectPathogenicityScore
to becomefinal
and added default inversion score - Numerous small changes to improve performance.