// Protocol buffers for representing ExAC CNV data.

syntax = "proto3";

package annonars.gnomad.exac_cnv;

// Enumeration for the CNV type.
enum CnvType {
    // unknown
    CNV_TYPE_UNKNOWN = 0;
    // Deletion.
    CNV_TYPE_DEL = 1;
    // Duplication.
    CNV_TYPE_DUP = 2;
}

// ExAC population.
enum Population {
    // unknown
    POPULATION_UNKNOWN = 0;
    // African
    POPULATION_AFR = 1;
    // Ad Mixed American
    POPULATION_AMR = 2;
    // East Asian
    POPULATION_EAS = 3;
    // Finnish
    POPULATION_FIN = 4;
    // Non-Finnish European
    POPULATION_NFE = 5;
    // South Asian
    POPULATION_SAS = 6;
    // Other,
    POPULATION_OTHER = 7;
}

// Protocol buffer for the ExAC CNV data.
//
// The more specialized fields from the INFO column are stored in separate, optional fields such
// that we don't end up with a humongous message.
message Record {
    // Chromosome name.
    string chrom = 1;
    // 1-based start position.
    int32 start = 2;
    // 1-based stop position.
    int32 stop = 3;
    /// The type of the variant.
    CnvType sv_type = 4;
    /// The population.
    Population population = 5;
}
