-
Notifications
You must be signed in to change notification settings - Fork 4
Entity Viewer Sidebar Payload
Manoj Pandian Sakthivel edited this page Feb 28, 2020
·
19 revisions
GraphQL Schema:
type Assembly {
name: String!
accession_id: String!
species: Species!
}
type Species {
scientific_name: String!
name: String
strains: [Strain!]
}
type Allele = {
allele_name: String!,
stable_id: String!
}
type Homeologue = {
type: string,
stable_id: string
}
type Strain = {
strain_name: string,
stable_id: string
}
type Attribute = {
description: String!
displayName: String!
code: String!
}
type MetadataSource {
name: String!
uri: String!
}
type Metadata {
key: String!
value: String!
source_uri: String!
source: MetadataSource!
}
type Xref {
description: String
label: String!
value: String!
}
type GeneAttribute {
value: String!
attribute_type: String!
}
type Gene {
symbol: String!
externl_reference: Xref!
additional_attributes: [Attribute]
metadata {
function: Metadata
name: Metadata!
synonyms: [Metadata!]!
}
allele {
alternative_alleles: [Allele]
}
assembly {
current_assembly: Assembly!
other_assemblies: [Assembly]
}
homeologues: [Homeologue] ???
}Suggested structure of the transformed payload:
type Option = {
"value": string,
"label": string
};
type ExternalLink = {
"label": string | null,
"url": string,
"anchor_text": string
}
type Assembly = {
"species_name": string,
"assembly_name": string,
"stable_id": string
}
type Allele = {
"allele_name": string,
"stable_id": string
}
enum DataSetType{
"Current assembly",
"Gene",
"Protein"
}
type DataSet = {
"type": DataSetType,
"stable_id": string
}
type Homeologue = {
"type": string,
"stable_id": string
}
type Strain = {
"strain_name": string,
"stable_id": string
}
type AdditionalAttribute = {
description,
displayName,
code
}
type EntityViewerSidebarResponse = {
"gene_symbol": string,
"gene_name": string,
"stable_id" : string,
"dbprimary_acc" : string, // HGNC:1101
"synonyms": string[],
"additional_attributes" : AdditionalAttribute[],
"function": {
"description": string | null,
"provider" : ExternalLink
},
"sequence": {
"transcripts" : Option[],
"gene": Option[], // Find out if there is any indication to enable these options
"tark_url" : ExternalLink
},
"other_data_sets": DataSet[],
"other_assemblies": {
"assemblies": Assembly[],
"strains": Strain[]
},
"homeologues": Homeologue[],
"alternative_alleles" : Allele[],
"external_references" : ExternalLink[]
}Questions to ask Kieron:
- Display name for biotypes
- A way to retrieve alternative assemblies { assemblies -> gene_id => {species, name}}
- Specifically retrieve all the external references from the metadata