Skip to content

Commit

Permalink
Merge pull request #33 from cov-lineages/dev
Browse files Browse the repository at this point in the history
Updated AY.4.2 definition file to better match agreed VTG definition
  • Loading branch information
rmcolq authored Oct 26, 2021
2 parents 0d9c740 + a52edfd commit 4b979d6
Show file tree
Hide file tree
Showing 4 changed files with 37 additions and 34 deletions.
29 changes: 29 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,32 @@ Here we include files that define:
- genomically interesting regions e.g. RBD sites which interact with ACE2

In addition we include a JSON file describing the reference sequence and the coordinates of genes/proteins. Mutations can therefore be described with respect to the amino acid position within these features.

### Definitions

At a minimum, JSON files must contain the following:

- `label` : a unique string to represent the constellation
- `sites` : a list of defining mutations
- `rules` : the rules used by scorpio to classify whether a sequence belongs to a constellation

The general format of a mutation code is: `gene`:[`ref`]`coordinates`[`alt`] where `gene` is a gene code (or `nuc` for the genomic nucleotide sequence), `ref` is the nucleotide or amino acids in the reference, `alt` is the specific nucleotide or amino acid for the mutatant. Either of `ref` or `alt` can be missing if no specific state is required. See https://github.com/cov-lineages/scorpio for more definitions.

Rules can either specify [min|max]_[ref|alt|ambig|oth] OR the call required at a mutation e.g. "N:S235F": (not )[ref|alt|ambig|oth]

#### Optional fields

- `description` : human readable string of information
- `sources` : reference material for the definition where appropriate
- `type` : at present all definitions are of type `variant` although we conceived of having constellations investigating e.g. furin cleavage sites
- `variant` : for all constellations of type variant, information which exists because it is a variant. e.g.
- `mrca_lineage` : the pangolin-lineage of the MRCA of the constellation
- `PHE_label` : PHE label where appropriate
- `WHO_label` : WHO label where appropriate
- `lineage_name` and `parent_lineage` are used together to allow scorpio to handle parent/child constellations. Without them, a parent would be favoured over a child lineage as having all the defining sites instead of possibly missing a few. The `parent_lineage` says that the constellation should only be called if the parent has also been called and should be favoured over the parent if it has enough support. The `lineage_name` should be in the same format. Note there are constellations which include multiple lineages, for which this would not work.
- `incompatible_lineage_calls` : used by `pangolin ` usually in the context of a parent/child relationship. This tells pangolin that if `scorpio` called the given (parent) lineage and `pangolin` called the incompatible (child) lineage, the `scorpio` lineage should override. The default behaviour in `pangolin` is to allow children of a constellation called by `scorpio` as we want to allow a VOC/VUI to continue to evolve and have descendant lineages. However in these cases where we have a constellation for a child lineage, we care about lineage calls meeting a very specific definition so we want the `scorpio` call to override.
- `tags` : any other names given to this constellation
- `Pango_lineages` : unused, human-readable list of relevant tango-lineages
- `representative_genome` : may be used in future, a genome representing the mutations
- `ancestral_sites` : definitions created with `scorpio define` may use an outgroup to partition sites into those that are defining and those that belonged to the outgroup and predate this new variant. These sites are included when classifying (including `pangolin`) but not when running `scorpio haplotype`
- `intermediate_sites` : definitions created with `scorpio define` use a default threshold of 98% when defining mutation sites. e.g. a mutation has to be present in 98% of defining sequences to be included. If it appears below this threshold in more than 25% of defining sequences, we list it as an intermediate site. These are for reference for a manual curation step
2 changes: 1 addition & 1 deletion constellations/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
_program = "constellations"
__version__ = "v0.0.20"
__version__ = "v0.0.21"

15 changes: 2 additions & 13 deletions constellations/definitions/cAY.4.2.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,21 +19,10 @@
"sites": [
"nuc:T17040C",
"spike:A222V",
"nuc:C25614T",
"spike:Y145H"
],
"intermediate": [
"del:22029:6:0.961207",
"nuc:G210T:0.978338",
"nuc:C241T:0.978338",
"spike:T95I:0.978338",
"spike:G142D:0.978338",
"spike:D950N:0.978338"
],
"rules": {
"min_alt": 3,
"max_ref": 1,
"spike:Y145H": "not ref",
"spike:A222V": "not ref"
"min_alt": 2,
"max_ref": 0
}
}
25 changes: 5 additions & 20 deletions constellations/definitions/cAY.4.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,6 @@
"del:28271:1",
"del:22029:6",
"del:28248:6",
"nuc:C241T",
"nuc:C3037T",
"orf1a:A1306S",
"orf1a:P2046L",
"orf1a:P2287S",
Expand All @@ -38,31 +36,18 @@
"orf1b:G662S",
"orf1b:P1000L",
"orf1b:A1918V",
"spike:T19R",
"spike:L452R",
"spike:T478K",
"spike:D614G",
"spike:P681R",
"spike:D950N",
"orf3a:S26L",
"m:I82T",
"orf7a:V82A",
"orf7a:T120I",
"nuc:C27874T",
"n:D63G",
"n:R203M",
"n:G215C",
"n:D377Y",
"nuc:G29742T"
],
"intermediate": [
"nuc:G210T:0.976009",
"nuc:T17040C:0.976009",
"spike:T95I:0.976009",
"spike:G142D:0.976009"
"nuc:G210T:0.961862",
"nuc:C241T:0.972018",
"nuc:T17040C:0.468120",
"spike:T95I:0.967111"
],
"rules": {
"min_alt": 31,
"min_alt": 12,
"max_ref": 3,
"orf1a:A2529V": "alt"
}
Expand Down

0 comments on commit 4b979d6

Please sign in to comment.