ets.phenopacket-schema.1.0.0-RC3.source-code.phenopackets.proto Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of phenopacket-schema Show documentation
Show all versions of phenopacket-schema Show documentation
A Protobuf schema for capturing clinical phenotypes
syntax = "proto3";
package org.phenopackets.schema.v1;
import "base.proto";
option java_multiple_files = true;
option java_package = "org.phenopackets.schema.v1";
// An anonymous phenotypic description of an individual or biosample with potential genes of interest and/or diagnoses.
//
// This is a bundle of high-level concepts with no specifically defined relational concepts. It is expected that the
// resources sharing the phenopackets will define and enforce their own semantics and level of requirements for included
// fields.
message Phenopacket {
// An identifier specific for this phenopacket.
string id = 1;
// The individual representing the focus of this packet - e.g. the proband in rare disease cases or cancer patient
org.phenopackets.schema.v1.core.Individual subject = 2;
// Phenotypic features relating to the subject of the phenopacket
repeated org.phenopackets.schema.v1.core.PhenotypicFeature phenotypic_features = 3;
// Biosample(s) derived from the patient or a collection of biosamples in isolation
repeated org.phenopackets.schema.v1.core.Biosample biosamples = 4;
// Field for gene identifiers - could be used for listing either candidate genes or causative genes. The
// resources using these fields should define what this represents in their context. This could be used in order to
// obfuscate the specific causative/candidate variant.
repeated org.phenopackets.schema.v1.core.Gene genes = 5;
// Field for genetic variants - could be used for listing either candidate variants or diagnosed causative
// variants. The resources using these fields should define what this represents in their context.
repeated org.phenopackets.schema.v1.core.Variant variants = 6;
// Field for disease identifiers - could be used for listing either diagnosed or suspected conditions. The
// resources using these fields should define what this represents in their context.
repeated org.phenopackets.schema.v1.core.Disease diseases = 7;
// Pointer to the relevant HTS file(s) for the patient
repeated org.phenopackets.schema.v1.core.HtsFile hts_files = 8;
// Structured definitions of the resources and ontologies used within the phenopacket. REQUIRED
org.phenopackets.schema.v1.core.MetaData meta_data = 9;
}
// Phenotype, sample and pedigree data required for a genomic diagnosis.
// Equivalent to the Genomics England InterpretationRequestRD
// https://github.com/genomicsengland/GelReportModels/blob/master/schemas/IDLs/org.gel.models.report.avro/5.0.0/InterpretationRequestRD.avdl
message Family {
// An identifier specific for this family.
string id = 1;
// The individual representing the focus of this packet - e.g. the proband in rare disease cases or cancer patient
Phenopacket proband = 2;
// Individuals related in some way to the patient. For instance, the individuals may be genetically related or may
// be members of a cohort. If this field is used, then it is expected that a pedigree will be included for
// genetically related individuals for use cases such as genomic diagnostics. If a phenopacket is being used to
// describe one member of a cohort, then in general one phenopacket will be created for each of the individuals in
// the cohort.
repeated Phenopacket relatives = 3;
// The pedigree defining the relations between the proband and their relatives. Pedigree.individual_id should
// map to the PhenoPacket.Individual.id
org.phenopackets.schema.v1.core.Pedigree pedigree = 4;
// Pointer to the relevant HTS file(s) for the family. These should be files relating to one or more of the family
// members e.g a multi-sample VCF
repeated org.phenopackets.schema.v1.core.HtsFile hts_files = 5;
// Structured definitions of the resources and ontologies used within the phenopacket. REQUIRED
org.phenopackets.schema.v1.core.MetaData meta_data = 6;
}
// A group of individuals related in some phenotypic or genotypic aspect.
message Cohort {
string id = 1;
string description = 2;
repeated Phenopacket members = 3;
// Pointer to the relevant HTS file(s) for the cohort
repeated org.phenopackets.schema.v1.core.HtsFile hts_files = 4;
// Structured definitions of the resources and ontologies used within the phenopacket. REQUIRED
org.phenopackets.schema.v1.core.MetaData meta_data = 5;
}