All Downloads are FREE. Search and download functionalities are using the official Maven repository.

ets.phenopacket-schema.1.0.0-RC3.source-code.phenopackets.proto Maven / Gradle / Ivy

There is a newer version: 2.0.2
Show newest version
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;
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy