from django.db import models
from django.contrib.postgres.fields import JSONField, ArrayField

from postgres_copy import CopyManager


class DataRelease(models.Model):
    schema = models.TextField()
    archive = models.TextField()
    date = models.DateTimeField()
    notes = models.TextField()
    sources = models.TextField()
    md5sum = models.TextField()
    created = models.DateTimeField(auto_now_add=True, null=True)
    name = models.PositiveIntegerField()

    class Meta:
        db_table = "data_release"
        ordering = ['date']


class ChangeType(models.Model):
    name = models.TextField()


class MupitStructure(models.Model):
    name = models.TextField()


class LegacyJSONField(JSONField):
    def db_type(self, connection):
        return 'json'


# ------------------------------------------------------------------------
# --- diff models
# ------------------------------------------------------------------------

class VariantDiff(models.Model):
    variant = models.OneToOneField('Variant', primary_key=True)
    # Postgres-specific JSON field. If migrating away from postgres, use TextField instead
    # provides JSON validation
    diff = LegacyJSONField()


class ReportDiff(models.Model):
    report = models.OneToOneField('Report', primary_key=True)
    # Postgres-specific JSON field. If migrating away from postgres, use TextField instead
    # provides JSON validation
    report_diff = LegacyJSONField()


# ------------------------------------------------------------------------
# --- variants
# ------------------------------------------------------------------------

class VariantManager(CopyManager):
    def create_variant(self, row):
        return self.create(**row)


class Variant(models.Model):
    # These are some extra derived columns that help with filtering
    Variant_in_ENIGMA = models.BooleanField(default=False)
    Variant_in_ClinVar = models.BooleanField(default=False)
    Variant_in_1000_Genomes = models.BooleanField(default=False)
    Variant_in_ExAC = models.BooleanField(default=False)
    Variant_in_LOVD = models.BooleanField(default=False)
    Variant_in_BIC = models.BooleanField(default=False)
    Variant_in_ESP = models.BooleanField(default=False)
    Variant_in_exLOVD = models.BooleanField(default=False)
    Variant_in_Findlay_BRCA1_Ring_Function_Scores = models.BooleanField(default=False)
    Variant_in_ENIGMA_BRCA12_Functional_Assays = models.BooleanField(default=False)
    Variant_in_GnomAD = models.BooleanField(default=False)
    Variant_in_GnomADv3 = models.BooleanField(default=False)

    Source = models.TextField()
    URL_ENIGMA = models.TextField()
    Condition_ID_type_ENIGMA = models.TextField()
    Condition_ID_value_ENIGMA = models.TextField()
    Condition_category_ENIGMA = models.TextField()
    Clinical_significance_ENIGMA = models.TextField()
    Date_last_evaluated_ENIGMA = models.TextField()
    Assertion_method_ENIGMA = models.TextField()
    Assertion_method_citation_ENIGMA = models.TextField()
    Clinical_significance_citations_ENIGMA = models.TextField()
    Comment_on_clinical_significance_ENIGMA = models.TextField()
    Collection_method_ENIGMA = models.TextField()
    Allele_origin_ENIGMA = models.TextField()
    ClinVarAccession_ENIGMA = models.TextField()
    Clinical_Significance_ClinVar = models.TextField()
    Date_Last_Updated_ClinVar = models.TextField()
    DateSignificanceLastEvaluated_ClinVar = models.TextField(default='-')
    Submitter_ClinVar = models.TextField()
    SCV_ClinVar = models.TextField()
    SCV_Version_ClinVar = models.TextField(default='-')
    Allele_Origin_ClinVar = models.TextField()
    Method_ClinVar = models.TextField()
    Functional_analysis_technique_LOVD = models.TextField()
    Functional_analysis_result_LOVD = models.TextField()
    Variant_frequency_LOVD = models.TextField()
    Variant_haplotype_LOVD = models.TextField()
    HGVS_cDNA_LOVD = models.TextField()
    HGVS_protein_LOVD = models.TextField()
    Individuals_LOVD = models.TextField()
    Variant_effect_LOVD = models.TextField()
    Genetic_origin_LOVD = models.TextField()
    RNA_LOVD = models.TextField()
    Submitters_LOVD = models.TextField()
    Created_date_LOVD = models.TextField(default="-")
    Edited_date_LOVD = models.TextField(default="-")
    Remarks_LOVD = models.TextField(null=True)
    Classification_LOVD = models.TextField(null=True)
    DBID_LOVD = models.TextField(default="-")
    Minor_allele_frequency_percent_ESP = models.TextField()
    EA_Allele_Frequency_ESP = models.TextField(default="-")
    AA_Allele_Frequency_ESP = models.TextField(default="-")
    Allele_Frequency_ESP = models.TextField(default="-")
    EUR_Allele_frequency_1000_Genomes = models.TextField()
    AFR_Allele_frequency_1000_Genomes = models.TextField()
    AMR_Allele_frequency_1000_Genomes = models.TextField()
    EAS_Allele_frequency_1000_Genomes = models.TextField()
    Allele_frequency_1000_Genomes = models.TextField()
    SAS_Allele_frequency_1000_Genomes = models.TextField()
    Allele_frequency_ExAC = models.TextField()
    Allele_count_AFR_ExAC = models.TextField(default="-")
    Allele_number_AFR_ExAC = models.TextField(default="-")
    Allele_frequency_AFR_ExAC = models.TextField(default="-")
    Homozygous_count_AFR_ExAC = models.TextField(default="-")
    Allele_count_AMR_ExAC = models.TextField(default="-")
    Allele_number_AMR_ExAC = models.TextField(default="-")
    Allele_frequency_AMR_ExAC = models.TextField(default="-")
    Homozygous_count_AMR_ExAC = models.TextField(default="-")
    Allele_count_EAS_ExAC = models.TextField(default="-")
    Allele_number_EAS_ExAC = models.TextField(default="-")
    Allele_frequency_EAS_ExAC = models.TextField(default="-")
    Homozygous_count_EAS_ExAC = models.TextField(default="-")
    Allele_count_FIN_ExAC = models.TextField(default="-")
    Allele_number_FIN_ExAC = models.TextField(default="-")
    Allele_frequency_FIN_ExAC = models.TextField(default="-")
    Homozygous_count_FIN_ExAC = models.TextField(default="-")
    Allele_count_NFE_ExAC = models.TextField(default="-")
    Allele_number_NFE_ExAC = models.TextField(default="-")
    Allele_frequency_NFE_ExAC = models.TextField(default="-")
    Homozygous_count_NFE_ExAC = models.TextField(default="-")
    Allele_count_OTH_ExAC = models.TextField(default="-")
    Allele_number_OTH_ExAC = models.TextField(default="-")
    Allele_frequency_OTH_ExAC = models.TextField(default="-")
    Homozygous_count_OTH_ExAC = models.TextField(default="-")
    Allele_count_SAS_ExAC = models.TextField(default="-")
    Allele_number_SAS_ExAC = models.TextField(default="-")
    Allele_frequency_SAS_ExAC = models.TextField(default="-")
    Homozygous_count_SAS_ExAC = models.TextField(default="-")
    Patient_nationality_BIC = models.TextField()
    Clinical_importance_BIC = models.TextField()
    Clinical_classification_BIC = models.TextField()
    Literature_citation_BIC = models.TextField()
    Number_of_family_member_carrying_mutation_BIC = models.TextField()
    Germline_or_Somatic_BIC = models.TextField()
    Ethnicity_BIC = models.TextField()
    Mutation_type_BIC = models.TextField()
    IARC_class_exLOVD = models.TextField()
    Sum_family_LR_exLOVD = models.TextField()
    Combined_prior_probablility_exLOVD = models.TextField()
    Literature_source_exLOVD = models.TextField()
    Co_occurrence_LR_exLOVD = models.TextField()
    Pathology_LR_exLOVD = models.TextField(null=True)
    Case_control_LR_exLOVD = models.TextField(null=True)
    Posterior_probability_exLOVD = models.TextField()
    Missense_analysis_prior_probability_exLOVD = models.TextField()
    Segregation_LR_exLOVD = models.TextField()
    HGVS_cDNA_GnomAD = models.TextField(null=True)
    HGVS_GnomAD = models.TextField(null=True)
    HGVS_protein_GnomAD = models.TextField(null=True)
    Flags_GnomAD = models.TextField(null=True)
    Consequence_GnomAD = models.TextField(null=True)
    Variant_id_GnomAD = models.TextField(null=True)
    faf95_popmax_genome_GnomAD = models.TextField(null=True)
    faf95_popmax_population_genome_GnomAD = models.TextField(null=True)
    faf95_popmax_exome_GnomAD = models.TextField(null=True)
    faf95_popmax_population_exome_GnomAD = models.TextField(null=True)
    Allele_count_genome_AFR_GnomAD = models.TextField(null=True)
    Allele_count_hemi_genome_AFR_GnomAD = models.TextField(null=True)
    Allele_count_hom_genome_AFR_GnomAD = models.TextField(null=True)
    Allele_number_genome_AFR_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_AFR_GnomAD = models.TextField(null=True)
    Allele_count_genome_AMR_GnomAD = models.TextField(null=True)
    Allele_count_hemi_genome_AMR_GnomAD = models.TextField(null=True)
    Allele_count_hom_genome_AMR_GnomAD = models.TextField(null=True)
    Allele_number_genome_AMR_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_AMR_GnomAD = models.TextField(null=True)
    Allele_count_genome_ASJ_GnomAD = models.TextField(null=True)
    Allele_count_hemi_genome_ASJ_GnomAD = models.TextField(null=True)
    Allele_count_hom_genome_ASJ_GnomAD = models.TextField(null=True)
    Allele_number_genome_ASJ_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_ASJ_GnomAD = models.TextField(null=True)
    Allele_count_genome_EAS_GnomAD = models.TextField(null=True)
    Allele_count_hemi_genome_EAS_GnomAD = models.TextField(null=True)
    Allele_count_hom_genome_EAS_GnomAD = models.TextField(null=True)
    Allele_number_genome_EAS_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_EAS_GnomAD = models.TextField(null=True)
    Allele_count_genome_EAS_JPN_GnomAD = models.TextField(null=True)
    Allele_count_hom_genome_EAS_JPN_GnomAD = models.TextField(null=True)
    Allele_number_genome_EAS_JPN_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_EAS_JPN_GnomAD = models.TextField(null=True)
    Allele_count_genome_EAS_KOR_GnomAD = models.TextField(null=True)
    Allele_count_hom_genome_EAS_KOR_GnomAD = models.TextField(null=True)
    Allele_number_genome_EAS_KOR_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_EAS_KOR_GnomAD = models.TextField(null=True)
    Allele_count_genome_EAS_OEA_GnomAD = models.TextField(null=True)
    Allele_count_hom_genome_EAS_OEA_GnomAD = models.TextField(null=True)
    Allele_number_genome_EAS_OEA_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_EAS_OEA_GnomAD = models.TextField(null=True)
    Allele_count_genome_FIN_GnomAD = models.TextField(null=True)
    Allele_count_hemi_genome_FIN_GnomAD = models.TextField(null=True)
    Allele_count_hom_genome_FIN_GnomAD = models.TextField(null=True)
    Allele_number_genome_FIN_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_FIN_GnomAD = models.TextField(null=True)
    Allele_count_genome_NFE_GnomAD = models.TextField(null=True)
    Allele_count_hemi_genome_NFE_GnomAD = models.TextField(null=True)
    Allele_count_hom_genome_NFE_GnomAD = models.TextField(null=True)
    Allele_number_genome_NFE_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_NFE_GnomAD = models.TextField(null=True)
    Allele_count_genome_NFE_EST_GnomAD = models.TextField(null=True)
    Allele_count_hom_genome_NFE_EST_GnomAD = models.TextField(null=True)
    Allele_number_genome_NFE_EST_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_NFE_EST_GnomAD = models.TextField(null=True)
    Allele_count_genome_NFE_BGR_GnomAD = models.TextField(null=True)
    Allele_count_hom_genome_NFE_BGR_GnomAD = models.TextField(null=True)
    Allele_number_genome_NFE_BGR_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_NFE_BGR_GnomAD = models.TextField(null=True)
    Allele_count_genome_NFE_NWE_GnomAD = models.TextField(null=True)
    Allele_count_hom_genome_NFE_NWE_GnomAD = models.TextField(null=True)
    Allele_number_genome_NFE_NWE_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_NFE_NWE_GnomAD = models.TextField(null=True)
    Allele_count_genome_NFE_ONF_GnomAD = models.TextField(null=True)
    Allele_count_hom_genome_NFE_ONF_GnomAD = models.TextField(null=True)
    Allele_number_genome_NFE_ONF_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_NFE_ONF_GnomAD = models.TextField(null=True)
    Allele_count_genome_NFE_SEU_GnomAD = models.TextField(null=True)
    Allele_count_hom_genome_NFE_SEU_GnomAD = models.TextField(null=True)
    Allele_number_genome_NFE_SEU_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_NFE_SEU_GnomAD = models.TextField(null=True)
    Allele_count_genome_NFE_SWE_GnomAD = models.TextField(null=True)
    Allele_count_hom_genome_NFE_SWE_GnomAD = models.TextField(null=True)
    Allele_number_genome_NFE_SWE_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_NFE_SWE_GnomAD = models.TextField(null=True)
    Allele_count_genome_OTH_GnomAD = models.TextField(null=True)
    Allele_count_hemi_genome_OTH_GnomAD = models.TextField(null=True)
    Allele_count_hom_genome_OTH_GnomAD = models.TextField(null=True)
    Allele_number_genome_OTH_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_OTH_GnomAD = models.TextField(null=True)
    Allele_count_genome_SAS_GnomAD = models.TextField(null=True)
    Allele_count_hemi_genome_SAS_GnomAD = models.TextField(null=True)
    Allele_count_hom_genome_SAS_GnomAD = models.TextField(null=True)
    Allele_number_genome_SAS_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_SAS_GnomAD = models.TextField(null=True)
    Allele_count_genome_GnomAD = models.TextField(null=True)
    Allele_number_genome_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_GnomAD = models.TextField(null=True)
    Allele_count_exome_AFR_GnomAD = models.TextField(null=True)
    Allele_count_exome_AFR_GnomAD = models.TextField(null=True)
    Allele_count_hom_exome_AFR_GnomAD = models.TextField(null=True)
    Allele_number_exome_AFR_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_AFR_GnomAD = models.TextField(null=True)
    Allele_count_exome_AMR_GnomAD = models.TextField(null=True)
    Allele_count_hemi_exome_AMR_GnomAD = models.TextField(null=True)
    Allele_count_hom_exome_AMR_GnomAD = models.TextField(null=True)
    Allele_number_exome_AMR_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_AMR_GnomAD = models.TextField(null=True)
    Allele_count_exome_ASJ_GnomAD = models.TextField(null=True)
    Allele_count_hemi_exome_ASJ_GnomAD = models.TextField(null=True)
    Allele_count_hom_exome_ASJ_GnomAD = models.TextField(null=True)
    Allele_number_exome_ASJ_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_ASJ_GnomAD = models.TextField(null=True)
    Allele_count_exome_EAS_GnomAD = models.TextField(null=True)
    Allele_count_hemi_exome_EAS_GnomAD = models.TextField(null=True)
    Allele_count_hom_exome_EAS_GnomAD = models.TextField(null=True)
    Allele_number_exome_EAS_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_EAS_GnomAD = models.TextField(null=True)
    Allele_count_exome_EAS_JPN_GnomAD = models.TextField(null=True)
    Allele_count_hom_exome_EAS_JPN_GnomAD = models.TextField(null=True)
    Allele_number_exome_EAS_JPN_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_EAS_JPN_GnomAD = models.TextField(null=True)
    Allele_count_exome_EAS_KOR_GnomAD = models.TextField(null=True)
    Allele_count_hom_exome_EAS_KOR_GnomAD = models.TextField(null=True)
    Allele_number_exome_EAS_KOR_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_EAS_KOR_GnomAD = models.TextField(null=True)
    Allele_count_exome_EAS_OEA_GnomAD = models.TextField(null=True)
    Allele_count_hom_exome_EAS_OEA_GnomAD = models.TextField(null=True)
    Allele_number_exome_EAS_OEA_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_EAS_OEA_GnomAD = models.TextField(null=True)
    Allele_count_exome_FIN_GnomAD = models.TextField(null=True)
    Allele_count_hemi_exome_FIN_GnomAD = models.TextField(null=True)
    Allele_count_hom_exome_FIN_GnomAD = models.TextField(null=True)
    Allele_number_exome_FIN_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_FIN_GnomAD = models.TextField(null=True)
    Allele_count_exome_NFE_GnomAD = models.TextField(null=True)
    Allele_count_hemi_exome_NFE_GnomAD = models.TextField(null=True)
    Allele_count_hom_exome_NFE_GnomAD = models.TextField(null=True)
    Allele_number_exome_NFE_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_NFE_GnomAD = models.TextField(null=True)
    Allele_count_exome_OTH_GnomAD = models.TextField(null=True)
    Allele_count_hemi_exome_OTH_GnomAD = models.TextField(null=True)
    Allele_count_hom_exome_OTH_GnomAD = models.TextField(null=True)
    Allele_number_exome_OTH_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_OTH_GnomAD = models.TextField(null=True)
    Allele_count_exome_SAS_GnomAD = models.TextField(null=True)
    Allele_count_hemi_exome_SAS_GnomAD = models.TextField(null=True)
    Allele_count_hom_exome_SAS_GnomAD = models.TextField(null=True)
    Allele_number_exome_SAS_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_SAS_GnomAD = models.TextField(null=True)
    Allele_number_exome_GnomAD = models.TextField(null=True)
    Allele_count_exome_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_GnomAD = models.TextField(null=True)
    Allele_count_hom_ASJ_GnomAD = models.TextField(null=True)
    Allele_number_NFE_GnomAD = models.TextField(null=True)
    Allele_number_OTH_GnomAD = models.TextField(null=True)
    Allele_count_hemi_FIN_GnomAD = models.TextField(null=True)
    Allele_count_hom_AMR_GnomAD = models.TextField(null=True)
    Allele_count_hemi_AFR_GnomAD = models.TextField(null=True)
    Allele_frequency_FIN_GnomAD = models.TextField(null=True)
    Allele_count_hemi_NFE_GnomAD = models.TextField(null=True)
    Allele_count_hom_NFE_GnomAD = models.TextField(null=True)
    Allele_frequency_ASJ_GnomAD = models.TextField(null=True)
    Allele_frequency_EAS_GnomAD = models.TextField(null=True)
    Allele_frequency_AMR_GnomAD = models.TextField(null=True)
    Allele_count_hemi_SAS_GnomAD = models.TextField(null=True)
    Allele_count_hom_EAS_GnomAD = models.TextField(null=True)
    Allele_number_ASJ_GnomAD = models.TextField(null=True)
    Allele_number_FIN_GnomAD = models.TextField(null=True)
    Allele_count_hom_AFR_GnomAD = models.TextField(null=True)
    Allele_count_hemi_AMR_GnomAD = models.TextField(null=True)
    Allele_frequency_AFR_GnomAD = models.TextField(null=True)
    Allele_count_hom_OTH_GnomAD = models.TextField(null=True)
    Allele_frequency_OTH_GnomAD = models.TextField(null=True)
    Allele_count_hom_FIN_GnomAD = models.TextField(null=True)
    Allele_count_hemi_EAS_GnomAD = models.TextField(null=True)
    Allele_number_AFR_GnomAD = models.TextField(null=True)
    Allele_count_hemi_OTH_GnomAD = models.TextField(null=True)
    Allele_count_hom_SAS_GnomAD = models.TextField(null=True)
    Allele_frequency_NFE_GnomAD = models.TextField(null=True)
    Allele_count_exome_NFE_EST_GnomAD = models.TextField(null=True)
    Allele_count_hom_exome_NFE_EST_GnomAD = models.TextField(null=True)
    Allele_number_exome_NFE_EST_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_NFE_EST_GnomAD = models.TextField(null=True)
    Allele_count_exome_NFE_BGR_GnomAD = models.TextField(null=True)
    Allele_count_hom_exome_NFE_BGR_GnomAD = models.TextField(null=True)
    Allele_number_exome_NFE_BGR_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_NFE_BGR_GnomAD = models.TextField(null=True)
    Allele_count_exome_NFE_NWE_GnomAD = models.TextField(null=True)
    Allele_count_hom_exome_NFE_NWE_GnomAD = models.TextField(null=True)
    Allele_number_exome_NFE_NWE_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_NFE_NWE_GnomAD = models.TextField(null=True)
    Allele_count_exome_NFE_ONF_GnomAD = models.TextField(null=True)
    Allele_count_hom_exome_NFE_ONF_GnomAD = models.TextField(null=True)
    Allele_number_exome_NFE_ONF_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_NFE_ONF_GnomAD = models.TextField(null=True)
    Allele_count_exome_NFE_SEU_GnomAD = models.TextField(null=True)
    Allele_count_hom_exome_NFE_SEU_GnomAD = models.TextField(null=True)
    Allele_number_exome_NFE_SEU_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_NFE_SEU_GnomAD = models.TextField(null=True)
    Allele_count_exome_NFE_SWE_GnomAD = models.TextField(null=True)
    Allele_count_hom_exome_NFE_SWE_GnomAD = models.TextField(null=True)
    Allele_number_exome_NFE_SWE_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_NFE_SWE_GnomAD = models.TextField(null=True)
    Allele_number_EAS_GnomAD = models.TextField(null=True)
    Allele_number_SAS_GnomAD = models.TextField(null=True)
    Allele_count_hemi_ASJ_GnomAD = models.TextField(null=True)
    Allele_frequency_SAS_GnomAD = models.TextField(null=True)
    Allele_number_AMR_GnomAD = models.TextField(null=True)
    HGVS_cDNA_GnomADv3 = models.TextField(null=True)
    Flags_GnomADv3 = models.TextField(null=True)
    Variant_id_GnomADv3 = models.TextField(null=True)
    faf95_popmax_genome_GnomADv3 = models.TextField(null=True)
    faf95_popmax_population_genome_GnomADv3 = models.TextField(null=True)
    Allele_count_genome_AFR_GnomADv3 = models.TextField(null=True)
    Allele_count_hom_genome_AFR_GnomADv3 = models.TextField(null=True)
    Allele_number_genome_AFR_GnomADv3 = models.TextField(null=True)
    Allele_frequency_genome_AFR_GnomADv3 = models.TextField(null=True)
    Allele_count_genome_AMR_GnomADv3 = models.TextField(null=True)
    Allele_count_hom_genome_AMR_GnomADv3 = models.TextField(null=True)
    Allele_number_genome_AMR_GnomADv3 = models.TextField(null=True)
    Allele_frequency_genome_AMR_GnomADv3 = models.TextField(null=True)
    Allele_count_genome_ASJ_GnomADv3 = models.TextField(null=True)
    Allele_count_hom_genome_ASJ_GnomADv3 = models.TextField(null=True)
    Allele_number_genome_ASJ_GnomADv3 = models.TextField(null=True)
    Allele_frequency_genome_ASJ_GnomADv3 = models.TextField(null=True)
    Allele_count_genome_EAS_GnomADv3 = models.TextField(null=True)
    Allele_count_hom_genome_EAS_GnomADv3 = models.TextField(null=True)
    Allele_number_genome_EAS_GnomADv3 = models.TextField(null=True)
    Allele_frequency_genome_EAS_GnomADv3 = models.TextField(null=True)
    Allele_count_genome_FIN_GnomADv3 = models.TextField(null=True)
    Allele_count_hom_genome_FIN_GnomADv3 = models.TextField(null=True)
    Allele_number_genome_FIN_GnomADv3 = models.TextField(null=True)
    Allele_frequency_genome_FIN_GnomADv3 = models.TextField(null=True)
    Allele_count_genome_NFE_GnomADv3 = models.TextField(null=True)
    Allele_count_hom_genome_NFE_GnomADv3 = models.TextField(null=True)
    Allele_number_genome_NFE_GnomADv3 = models.TextField(null=True)
    Allele_frequency_genome_NFE_GnomADv3 = models.TextField(null=True)
    Allele_count_genome_OTH_GnomADv3 = models.TextField(null=True)
    Allele_count_hom_genome_OTH_GnomADv3 = models.TextField(null=True)
    Allele_number_genome_OTH_GnomADv3 = models.TextField(null=True)
    Allele_frequency_genome_OTH_GnomADv3 = models.TextField(null=True)
    Allele_count_genome_SAS_GnomADv3 = models.TextField(null=True)
    Allele_count_hom_genome_SAS_GnomADv3 = models.TextField(null=True)
    Allele_number_genome_SAS_GnomADv3 = models.TextField(null=True)
    Allele_frequency_genome_SAS_GnomADv3 = models.TextField(null=True)
    Allele_count_genome_MID_GnomADv3 = models.TextField(null=True)
    Allele_count_hom_genome_MID_GnomADv3 = models.TextField(null=True)
    Allele_number_genome_MID_GnomADv3 = models.TextField(null=True)
    Allele_frequency_genome_MID_GnomADv3 = models.TextField(null=True)
    Allele_count_genome_AMI_GnomADv3 = models.TextField(null=True)
    Allele_count_hom_genome_AMI_GnomADv3 = models.TextField(null=True)
    Allele_number_genome_AMI_GnomADv3 = models.TextField(null=True)
    Allele_frequency_genome_AMI_GnomADv3 = models.TextField(null=True)
    Allele_count_genome_GnomADv3 = models.TextField(null=True)
    Allele_number_genome_GnomADv3 = models.TextField(null=True)
    Allele_frequency_genome_GnomADv3 = models.TextField(null=True)
    HGVS_Nucleotide_Findlay_BRCA1_Ring_Function_Scores = models.TextField(default="-")
    Functional_Enrichment_Score_Findlay_BRCA1_Ring_Function_Scores = models.TextField(default="-")
    Log_RNA_Depletion_Findlay_BRCA1_Ring_Function_Scores = models.TextField(default="-")
    HGVS_Nucleotide_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Chromosomal_Variant_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Result_Findlay_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Functional_Enrichment_Findlay_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    RNA_Score_Findlay_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    RNA_Class_Findlay_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Result_Starita_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Control_Group_Petitalot_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Result_Petitalot_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Selection_Bouwman1_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Result_Bouwman1_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Cisplatin_Bouwman2_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Olaparib_Bouwman2_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    DRGFP_Bouwman2_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Result_Bouwman2_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Result_Fernandes_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Complementation_Mesman_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    HDR_Mesman_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Cisplatin_Mesman_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Result_Mesman_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    HDR_Richardson_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Result_Richardson_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Result_Ikegami_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Olaparib_fClass_Ikegami_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Niraparif_fClass_Ikegami_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Rucaparib_fClass_Ikegami_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    CBDCA_fClass_Ikegami_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Cell_Survival_Biwas_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Drug_Sensitivity_Biwas_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    HAT_DS_Score_Biwas_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Result_Biwas_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    BX_ID_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Gene_Symbol = models.TextField()
    Reference_Sequence = models.TextField()
    HGVS_cDNA = models.TextField()
    BIC_Nomenclature = models.TextField()
    HGVS_Protein = models.TextField()
    HGVS_RNA = models.TextField()
    Protein_Change = models.TextField()
    Allele_Frequency = models.TextField()
    Max_Allele_Frequency = models.TextField()
    Genomic_Coordinate_hg38 = models.TextField()
    Hg38_Start = models.BigIntegerField(default=1)
    Hg38_End = models.BigIntegerField(default=1)
    Hg37_Start = models.BigIntegerField(default=1)
    Hg37_End = models.BigIntegerField(default=1)
    Genomic_Coordinate_hg37 = models.TextField()
    Genomic_HGVS_38 = models.TextField(null=True)
    Genomic_HGVS_37 = models.TextField(null=True)
    Source_URL = models.TextField()
    Discordant = models.TextField()
    Synonyms = models.TextField()
    Pathogenicity_expert = models.TextField()
    Pathogenicity_all = models.TextField()
    Chr = models.TextField()
    Pos = models.TextField()
    Ref = models.TextField()
    Alt = models.TextField()
    Polyphen_Prediction = models.TextField()
    Polyphen_Score = models.TextField()
    Sift_Score = models.TextField()
    Sift_Prediction = models.TextField()
    BX_ID_ENIGMA = models.TextField(default='')
    BX_ID_LOVD = models.TextField(default='')
    BX_ID_ESP = models.TextField(default='')
    BX_ID_BIC = models.TextField(default='')
    BX_ID_ClinVar = models.TextField(default='')
    BX_ID_1000_Genomes = models.TextField(default='')
    BX_ID_ExAC = models.TextField(default='')
    BX_ID_exLOVD = models.TextField(default='')
    BX_ID_GnomAD = models.TextField(null=True)
    BX_ID_GnomADv3 = models.TextField(null=True)
    BX_ID_Findlay_BRCA1_Ring_Function_Scores = models.TextField(default='')
    VR_ID = models.TextField(null=True)
    Mupit_Structure = models.ForeignKey(MupitStructure, null=True)
    CA_ID = models.TextField(null=True)
    DS_AG_spliceAI = models.TextField(null=True)
    DS_AL_spliceAI = models.TextField(null=True)
    DS_DG_spliceAI = models.TextField(null=True)
    DS_DL_spliceAI = models.TextField(null=True)
    DP_AG_spliceAI = models.TextField(null=True)
    DP_AL_spliceAI = models.TextField(null=True)
    DP_DG_spliceAI = models.TextField(null=True)
    DP_DL_spliceAI = models.TextField(null=True)
    result_spliceai = models.TextField(null=True)
    BayesDel_nsfp33a_noAF = models.TextField(null=True)

    # Data Versioning
    Data_Release = models.ForeignKey(DataRelease)
    Change_Type = models.ForeignKey(ChangeType)

    objects = VariantManager()

    class Meta:
        db_table = 'variant'


class ReportManager(models.Manager):
    def create_report(self, row):
        return self.create(**row)


class Report(models.Model):
    Variant = models.ForeignKey('Variant')
    Source = models.TextField()
    Gene_symbol_ENIGMA = models.TextField()
    Genomic_Coordinate = models.TextField()
    Chr = models.TextField()
    Pos = models.TextField()
    Ref = models.TextField()
    Alt = models.TextField()
    Reference_sequence_ENIGMA = models.TextField()
    HGVS_cDNA_ENIGMA = models.TextField()
    BIC_Nomenclature_ENIGMA = models.TextField()
    Abbrev_AA_change_ENIGMA = models.TextField()
    URL_ENIGMA = models.TextField()
    Condition_ID_type_ENIGMA = models.TextField()
    Condition_ID_value_ENIGMA = models.TextField()
    Condition_category_ENIGMA = models.TextField()
    Clinical_significance_ENIGMA = models.TextField()
    Date_last_evaluated_ENIGMA = models.TextField()
    Assertion_method_ENIGMA = models.TextField()
    Assertion_method_citation_ENIGMA = models.TextField()
    Clinical_significance_citations_ENIGMA = models.TextField()
    Comment_on_clinical_significance_ENIGMA = models.TextField()
    Collection_method_ENIGMA = models.TextField()
    Allele_origin_ENIGMA = models.TextField()
    ClinVarAccession_ENIGMA = models.TextField()
    HGVS_protein_ENIGMA = models.TextField()
    BX_ID_ENIGMA = models.TextField()
    Clinical_Significance_ClinVar = models.TextField()
    Date_Last_Updated_ClinVar = models.TextField()
    DateSignificanceLastEvaluated_ClinVar = models.TextField(default='-')
    BX_ID_ClinVar = models.TextField()
    HGVS_ClinVar = models.TextField()
    Submitter_ClinVar = models.TextField()
    Protein_ClinVar = models.TextField()
    SCV_ClinVar = models.TextField(db_index=True)
    SCV_Version_ClinVar = models.TextField(default='-')
    Allele_Origin_ClinVar = models.TextField()
    Method_ClinVar = models.TextField()
    Description_ClinVar = models.TextField(default="-")
    Summary_Evidence_ClinVar = models.TextField(default="-")
    Review_Status_ClinVar = models.TextField(default="-")
    Condition_Type_ClinVar = models.TextField(default="-")
    Condition_Value_ClinVar = models.TextField(default="-")
    Condition_DB_ID_ClinVar = models.TextField(default="-")
    Synonyms_ClinVar = models.TextField(default="-")
    BX_ID_LOVD = models.TextField()
    Variant_frequency_LOVD = models.TextField()
    HGVS_cDNA_LOVD = models.TextField()
    HGVS_protein_LOVD = models.TextField()
    Individuals_LOVD = models.TextField()
    Variant_effect_LOVD = models.TextField()
    Genetic_origin_LOVD = models.TextField()
    RNA_LOVD = models.TextField()
    Submitters_LOVD = models.TextField()
    Functional_analysis_technique_LOVD = models.TextField(default='-')
    Functional_analysis_result_LOVD = models.TextField(default='-')
    Created_date_LOVD = models.TextField(default="-")
    Edited_date_LOVD = models.TextField(default="-")
    DBID_LOVD = models.TextField(default="-")
    Remarks_LOVD = models.TextField(null=True)
    Classification_LOVD = models.TextField(null=True)
    Submission_ID_LOVD = models.TextField(default='-', db_index=True)
    BX_ID_ESP = models.TextField()
    Minor_allele_frequency_percent_ESP = models.TextField()
    EA_Allele_Frequency_ESP = models.TextField(default="-")
    AA_Allele_Frequency_ESP = models.TextField(default="-")
    Allele_Frequency_ESP = models.TextField(default="-")
    polyPhen2_result_ESP = models.TextField()
    EUR_Allele_frequency_1000_Genomes = models.TextField()
    AFR_Allele_frequency_1000_Genomes = models.TextField()
    AMR_Allele_frequency_1000_Genomes = models.TextField()
    EAS_Allele_frequency_1000_Genomes = models.TextField()
    BX_ID_1000_Genomes = models.TextField()
    Allele_frequency_1000_Genomes = models.TextField()
    SAS_Allele_frequency_1000_Genomes = models.TextField()
    Allele_frequency_ExAC = models.TextField()
    Allele_count_AFR_ExAC = models.TextField(default="-")
    Allele_number_AFR_ExAC = models.TextField(default="-")
    Allele_frequency_AFR_ExAC = models.TextField(default="-")
    Homozygous_count_AFR_ExAC = models.TextField(default="-")
    Allele_count_AMR_ExAC = models.TextField(default="-")
    Allele_number_AMR_ExAC = models.TextField(default="-")
    Allele_frequency_AMR_ExAC = models.TextField(default="-")
    Homozygous_count_AMR_ExAC = models.TextField(default="-")
    Allele_count_EAS_ExAC = models.TextField(default="-")
    Allele_number_EAS_ExAC = models.TextField(default="-")
    Allele_frequency_EAS_ExAC = models.TextField(default="-")
    Homozygous_count_EAS_ExAC = models.TextField(default="-")
    Allele_count_FIN_ExAC = models.TextField(default="-")
    Allele_number_FIN_ExAC = models.TextField(default="-")
    Allele_frequency_FIN_ExAC = models.TextField(default="-")
    Homozygous_count_FIN_ExAC = models.TextField(default="-")
    Allele_count_NFE_ExAC = models.TextField(default="-")
    Allele_number_NFE_ExAC = models.TextField(default="-")
    Allele_frequency_NFE_ExAC = models.TextField(default="-")
    Homozygous_count_NFE_ExAC = models.TextField(default="-")
    Allele_count_OTH_ExAC = models.TextField(default="-")
    Allele_number_OTH_ExAC = models.TextField(default="-")
    Allele_frequency_OTH_ExAC = models.TextField(default="-")
    Homozygous_count_OTH_ExAC = models.TextField(default="-")
    Allele_count_SAS_ExAC = models.TextField(default="-")
    Allele_number_SAS_ExAC = models.TextField(default="-")
    Allele_frequency_SAS_ExAC = models.TextField(default="-")
    Homozygous_count_SAS_ExAC = models.TextField(default="-")
    BX_ID_ExAC = models.TextField()
    BX_ID_BIC = models.TextField()
    Patient_nationality_BIC = models.TextField()
    Clinical_importance_BIC = models.TextField()
    Clinical_classification_BIC = models.TextField()
    BIC_Designation_BIC = models.TextField()
    Literature_citation_BIC = models.TextField()
    Number_of_family_member_carrying_mutation_BIC = models.TextField()
    Germline_or_Somatic_BIC = models.TextField()
    Ethnicity_BIC = models.TextField()
    Mutation_type_BIC = models.TextField()
    IARC_class_exLOVD = models.TextField()
    BIC_Nomenclature_exLOVD = models.TextField()
    Sum_family_LR_exLOVD = models.TextField()
    Combined_prior_probablility_exLOVD = models.TextField()
    BX_ID_exLOVD = models.TextField()
    HGVS_cDNA_exLOVD = models.TextField()
    Literature_source_exLOVD = models.TextField()
    Co_occurrence_LR_exLOVD = models.TextField()
    Pathology_LR_exLOVD = models.TextField(null=True)
    Case_control_LR_exLOVD = models.TextField(null=True)
    Posterior_probability_exLOVD = models.TextField()
    Missense_analysis_prior_probability_exLOVD = models.TextField()
    Segregation_LR_exLOVD = models.TextField()
    HGVS_protein_exLOVD = models.TextField()
    HGVS_cDNA_GnomAD = models.TextField(null=True)
    HGVS_GnomAD = models.TextField(null=True)
    HGVS_protein_GnomAD = models.TextField(null=True)
    Flags_GnomAD = models.TextField(null=True)
    Consequence_GnomAD = models.TextField(null=True)
    Variant_id_GnomAD = models.TextField(null=True)
    faf95_popmax_genome_GnomAD = models.TextField(null=True)
    faf95_popmax_population_genome_GnomAD = models.TextField(null=True)
    faf95_popmax_exome_GnomAD = models.TextField(null=True)
    faf95_popmax_population_exome_GnomAD = models.TextField(null=True)
    Allele_count_genome_AFR_GnomAD = models.TextField(null=True)
    Allele_count_hemi_genome_AFR_GnomAD = models.TextField(null=True)
    Allele_count_hom_genome_AFR_GnomAD = models.TextField(null=True)
    Allele_number_genome_AFR_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_AFR_GnomAD = models.TextField(null=True)
    Allele_count_genome_AMR_GnomAD = models.TextField(null=True)
    Allele_count_hemi_genome_AMR_GnomAD = models.TextField(null=True)
    Allele_count_hom_genome_AMR_GnomAD = models.TextField(null=True)
    Allele_number_genome_AMR_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_AMR_GnomAD = models.TextField(null=True)
    Allele_count_genome_ASJ_GnomAD = models.TextField(null=True)
    Allele_count_hemi_genome_ASJ_GnomAD = models.TextField(null=True)
    Allele_count_hom_genome_ASJ_GnomAD = models.TextField(null=True)
    Allele_number_genome_ASJ_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_ASJ_GnomAD = models.TextField(null=True)
    Allele_count_genome_EAS_GnomAD = models.TextField(null=True)
    Allele_count_hemi_genome_EAS_GnomAD = models.TextField(null=True)
    Allele_count_hom_genome_EAS_GnomAD = models.TextField(null=True)
    Allele_number_genome_EAS_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_EAS_GnomAD = models.TextField(null=True)
    Allele_count_genome_EAS_JPN_GnomAD = models.TextField(null=True)
    Allele_count_hom_genome_EAS_JPN_GnomAD = models.TextField(null=True)
    Allele_number_genome_EAS_JPN_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_EAS_JPN_GnomAD = models.TextField(null=True)
    Allele_count_genome_EAS_KOR_GnomAD = models.TextField(null=True)
    Allele_count_hom_genome_EAS_KOR_GnomAD = models.TextField(null=True)
    Allele_number_genome_EAS_KOR_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_EAS_KOR_GnomAD = models.TextField(null=True)
    Allele_count_genome_EAS_OEA_GnomAD = models.TextField(null=True)
    Allele_count_hom_genome_EAS_OEA_GnomAD = models.TextField(null=True)
    Allele_number_genome_EAS_OEA_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_EAS_OEA_GnomAD = models.TextField(null=True)
    Allele_count_genome_FIN_GnomAD = models.TextField(null=True)
    Allele_count_hemi_genome_FIN_GnomAD = models.TextField(null=True)
    Allele_count_hom_genome_FIN_GnomAD = models.TextField(null=True)
    Allele_number_genome_FIN_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_FIN_GnomAD = models.TextField(null=True)
    Allele_count_genome_NFE_GnomAD = models.TextField(null=True)
    Allele_count_hemi_genome_NFE_GnomAD = models.TextField(null=True)
    Allele_count_hom_genome_NFE_GnomAD = models.TextField(null=True)
    Allele_number_genome_NFE_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_NFE_GnomAD = models.TextField(null=True)
    Allele_count_genome_NFE_EST_GnomAD = models.TextField(null=True)
    Allele_count_hom_genome_NFE_EST_GnomAD = models.TextField(null=True)
    Allele_number_genome_NFE_EST_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_NFE_EST_GnomAD = models.TextField(null=True)
    Allele_count_genome_NFE_BGR_GnomAD = models.TextField(null=True)
    Allele_count_hom_genome_NFE_BGR_GnomAD = models.TextField(null=True)
    Allele_number_genome_NFE_BGR_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_NFE_BGR_GnomAD = models.TextField(null=True)
    Allele_count_genome_NFE_NWE_GnomAD = models.TextField(null=True)
    Allele_count_hom_genome_NFE_NWE_GnomAD = models.TextField(null=True)
    Allele_number_genome_NFE_NWE_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_NFE_NWE_GnomAD = models.TextField(null=True)
    Allele_count_genome_NFE_ONF_GnomAD = models.TextField(null=True)
    Allele_count_hom_genome_NFE_ONF_GnomAD = models.TextField(null=True)
    Allele_number_genome_NFE_ONF_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_NFE_ONF_GnomAD = models.TextField(null=True)
    Allele_count_genome_NFE_SEU_GnomAD = models.TextField(null=True)
    Allele_count_hom_genome_NFE_SEU_GnomAD = models.TextField(null=True)
    Allele_number_genome_NFE_SEU_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_NFE_SEU_GnomAD = models.TextField(null=True)
    Allele_count_genome_NFE_SWE_GnomAD = models.TextField(null=True)
    Allele_count_hom_genome_NFE_SWE_GnomAD = models.TextField(null=True)
    Allele_number_genome_NFE_SWE_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_NFE_SWE_GnomAD = models.TextField(null=True)
    Allele_count_genome_OTH_GnomAD = models.TextField(null=True)
    Allele_count_hemi_genome_OTH_GnomAD = models.TextField(null=True)
    Allele_count_hom_genome_OTH_GnomAD = models.TextField(null=True)
    Allele_number_genome_OTH_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_OTH_GnomAD = models.TextField(null=True)
    Allele_count_genome_SAS_GnomAD = models.TextField(null=True)
    Allele_count_hemi_genome_SAS_GnomAD = models.TextField(null=True)
    Allele_count_hom_genome_SAS_GnomAD = models.TextField(null=True)
    Allele_number_genome_SAS_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_SAS_GnomAD = models.TextField(null=True)
    Allele_count_genome_GnomAD = models.TextField(null=True)
    Allele_number_genome_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_GnomAD = models.TextField(null=True)
    Allele_count_exome_AFR_GnomAD = models.TextField(null=True)
    Allele_count_exome_AFR_GnomAD = models.TextField(null=True)
    Allele_count_hom_exome_AFR_GnomAD = models.TextField(null=True)
    Allele_number_exome_AFR_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_AFR_GnomAD = models.TextField(null=True)
    Allele_count_exome_AMR_GnomAD = models.TextField(null=True)
    Allele_count_hemi_exome_AMR_GnomAD = models.TextField(null=True)
    Allele_count_hom_exome_AMR_GnomAD = models.TextField(null=True)
    Allele_number_exome_AMR_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_AMR_GnomAD = models.TextField(null=True)
    Allele_count_exome_ASJ_GnomAD = models.TextField(null=True)
    Allele_count_hemi_exome_ASJ_GnomAD = models.TextField(null=True)
    Allele_count_hom_exome_ASJ_GnomAD = models.TextField(null=True)
    Allele_number_exome_ASJ_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_ASJ_GnomAD = models.TextField(null=True)
    Allele_count_exome_EAS_GnomAD = models.TextField(null=True)
    Allele_count_hemi_exome_EAS_GnomAD = models.TextField(null=True)
    Allele_count_hom_exome_EAS_GnomAD = models.TextField(null=True)
    Allele_number_exome_EAS_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_EAS_GnomAD = models.TextField(null=True)
    Allele_count_exome_EAS_JPN_GnomAD = models.TextField(null=True)
    Allele_count_hom_exome_EAS_JPN_GnomAD = models.TextField(null=True)
    Allele_number_exome_EAS_JPN_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_EAS_JPN_GnomAD = models.TextField(null=True)
    Allele_count_exome_EAS_KOR_GnomAD = models.TextField(null=True)
    Allele_count_hom_exome_EAS_KOR_GnomAD = models.TextField(null=True)
    Allele_number_exome_EAS_KOR_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_EAS_KOR_GnomAD = models.TextField(null=True)
    Allele_count_exome_EAS_OEA_GnomAD = models.TextField(null=True)
    Allele_count_hom_exome_EAS_OEA_GnomAD = models.TextField(null=True)
    Allele_number_exome_EAS_OEA_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_EAS_OEA_GnomAD = models.TextField(null=True)
    Allele_count_exome_FIN_GnomAD = models.TextField(null=True)
    Allele_count_hemi_exome_FIN_GnomAD = models.TextField(null=True)
    Allele_count_hom_exome_FIN_GnomAD = models.TextField(null=True)
    Allele_number_exome_FIN_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_FIN_GnomAD = models.TextField(null=True)
    Allele_count_exome_NFE_GnomAD = models.TextField(null=True)
    Allele_count_hemi_exome_NFE_GnomAD = models.TextField(null=True)
    Allele_count_hom_exome_NFE_GnomAD = models.TextField(null=True)
    Allele_number_exome_NFE_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_NFE_GnomAD = models.TextField(null=True)
    Allele_count_exome_OTH_GnomAD = models.TextField(null=True)
    Allele_count_hemi_exome_OTH_GnomAD = models.TextField(null=True)
    Allele_count_hom_exome_OTH_GnomAD = models.TextField(null=True)
    Allele_number_exome_OTH_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_OTH_GnomAD = models.TextField(null=True)
    Allele_count_exome_SAS_GnomAD = models.TextField(null=True)
    Allele_count_hemi_exome_SAS_GnomAD = models.TextField(null=True)
    Allele_count_hom_exome_SAS_GnomAD = models.TextField(null=True)
    Allele_number_exome_SAS_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_SAS_GnomAD = models.TextField(null=True)
    Allele_number_exome_GnomAD = models.TextField(null=True)
    Allele_count_exome_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_GnomAD = models.TextField(null=True)
    Allele_count_hom_ASJ_GnomAD = models.TextField(null=True)
    Allele_number_NFE_GnomAD = models.TextField(null=True)
    Allele_number_OTH_GnomAD = models.TextField(null=True)
    Allele_count_hemi_FIN_GnomAD = models.TextField(null=True)
    Allele_count_hom_AMR_GnomAD = models.TextField(null=True)
    Allele_count_hemi_AFR_GnomAD = models.TextField(null=True)
    Allele_frequency_FIN_GnomAD = models.TextField(null=True)
    Allele_count_hemi_NFE_GnomAD = models.TextField(null=True)
    Allele_count_hom_NFE_GnomAD = models.TextField(null=True)
    Allele_frequency_ASJ_GnomAD = models.TextField(null=True)
    Allele_frequency_EAS_GnomAD = models.TextField(null=True)
    Allele_frequency_AMR_GnomAD = models.TextField(null=True)
    Allele_count_hemi_SAS_GnomAD = models.TextField(null=True)
    Allele_count_hom_EAS_GnomAD = models.TextField(null=True)
    Allele_number_ASJ_GnomAD = models.TextField(null=True)
    Allele_number_FIN_GnomAD = models.TextField(null=True)
    Allele_count_hom_AFR_GnomAD = models.TextField(null=True)
    Allele_count_hemi_AMR_GnomAD = models.TextField(null=True)
    Allele_frequency_AFR_GnomAD = models.TextField(null=True)
    Allele_count_hom_OTH_GnomAD = models.TextField(null=True)
    Allele_frequency_OTH_GnomAD = models.TextField(null=True)
    Allele_count_hom_FIN_GnomAD = models.TextField(null=True)
    Allele_count_hemi_EAS_GnomAD = models.TextField(null=True)
    Allele_number_AFR_GnomAD = models.TextField(null=True)
    Allele_count_hemi_OTH_GnomAD = models.TextField(null=True)
    Allele_count_hom_SAS_GnomAD = models.TextField(null=True)
    Allele_frequency_NFE_GnomAD = models.TextField(null=True)
    Allele_count_exome_NFE_EST_GnomAD = models.TextField(null=True)
    Allele_count_hom_exome_NFE_EST_GnomAD = models.TextField(null=True)
    Allele_number_exome_NFE_EST_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_NFE_EST_GnomAD = models.TextField(null=True)
    Allele_count_exome_NFE_BGR_GnomAD = models.TextField(null=True)
    Allele_count_hom_exome_NFE_BGR_GnomAD = models.TextField(null=True)
    Allele_number_exome_NFE_BGR_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_NFE_BGR_GnomAD = models.TextField(null=True)
    Allele_count_exome_NFE_NWE_GnomAD = models.TextField(null=True)
    Allele_count_hom_exome_NFE_NWE_GnomAD = models.TextField(null=True)
    Allele_number_exome_NFE_NWE_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_NFE_NWE_GnomAD = models.TextField(null=True)
    Allele_count_exome_NFE_ONF_GnomAD = models.TextField(null=True)
    Allele_count_hom_exome_NFE_ONF_GnomAD = models.TextField(null=True)
    Allele_number_exome_NFE_ONF_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_NFE_ONF_GnomAD = models.TextField(null=True)
    Allele_count_exome_NFE_SEU_GnomAD = models.TextField(null=True)
    Allele_count_hom_exome_NFE_SEU_GnomAD = models.TextField(null=True)
    Allele_number_exome_NFE_SEU_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_NFE_SEU_GnomAD = models.TextField(null=True)
    Allele_count_exome_NFE_SWE_GnomAD = models.TextField(null=True)
    Allele_count_hom_exome_NFE_SWE_GnomAD = models.TextField(null=True)
    Allele_number_exome_NFE_SWE_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_NFE_SWE_GnomAD = models.TextField(null=True)
    Allele_number_EAS_GnomAD = models.TextField(null=True)
    Allele_number_SAS_GnomAD = models.TextField(null=True)
    Allele_count_hemi_ASJ_GnomAD = models.TextField(null=True)
    Allele_frequency_SAS_GnomAD = models.TextField(null=True)
    Allele_number_AMR_GnomAD = models.TextField(null=True)
    BX_ID_GnomAD = models.TextField(null=True)
    HGVS_cDNA_GnomADv3 = models.TextField(null=True)
    Flags_GnomADv3 = models.TextField(null=True)
    Variant_id_GnomADv3 = models.TextField(null=True)
    faf95_popmax_genome_GnomADv3 = models.TextField(null=True)
    faf95_popmax_population_genome_GnomADv3 = models.TextField(null=True)
    Allele_count_genome_AFR_GnomADv3 = models.TextField(null=True)
    Allele_count_hom_genome_AFR_GnomADv3 = models.TextField(null=True)
    Allele_number_genome_AFR_GnomADv3 = models.TextField(null=True)
    Allele_frequency_genome_AFR_GnomADv3 = models.TextField(null=True)
    Allele_count_genome_AMR_GnomADv3 = models.TextField(null=True)
    Allele_count_hom_genome_AMR_GnomADv3 = models.TextField(null=True)
    Allele_number_genome_AMR_GnomADv3 = models.TextField(null=True)
    Allele_frequency_genome_AMR_GnomADv3 = models.TextField(null=True)
    Allele_count_genome_ASJ_GnomADv3 = models.TextField(null=True)
    Allele_count_hom_genome_ASJ_GnomADv3 = models.TextField(null=True)
    Allele_number_genome_ASJ_GnomADv3 = models.TextField(null=True)
    Allele_frequency_genome_ASJ_GnomADv3 = models.TextField(null=True)
    Allele_count_genome_EAS_GnomADv3 = models.TextField(null=True)
    Allele_count_hom_genome_EAS_GnomADv3 = models.TextField(null=True)
    Allele_number_genome_EAS_GnomADv3 = models.TextField(null=True)
    Allele_frequency_genome_EAS_GnomADv3 = models.TextField(null=True)
    Allele_count_genome_FIN_GnomADv3 = models.TextField(null=True)
    Allele_count_hom_genome_FIN_GnomADv3 = models.TextField(null=True)
    Allele_number_genome_FIN_GnomADv3 = models.TextField(null=True)
    Allele_frequency_genome_FIN_GnomADv3 = models.TextField(null=True)
    Allele_count_genome_NFE_GnomADv3 = models.TextField(null=True)
    Allele_count_hom_genome_NFE_GnomADv3 = models.TextField(null=True)
    Allele_number_genome_NFE_GnomADv3 = models.TextField(null=True)
    Allele_frequency_genome_NFE_GnomADv3 = models.TextField(null=True)
    Allele_count_genome_OTH_GnomADv3 = models.TextField(null=True)
    Allele_count_hom_genome_OTH_GnomADv3 = models.TextField(null=True)
    Allele_number_genome_OTH_GnomADv3 = models.TextField(null=True)
    Allele_frequency_genome_OTH_GnomADv3 = models.TextField(null=True)
    Allele_count_genome_SAS_GnomADv3 = models.TextField(null=True)
    Allele_count_hom_genome_SAS_GnomADv3 = models.TextField(null=True)
    Allele_number_genome_SAS_GnomADv3 = models.TextField(null=True)
    Allele_frequency_genome_SAS_GnomADv3 = models.TextField(null=True)
    Allele_count_genome_MID_GnomADv3 = models.TextField(null=True)
    Allele_count_hom_genome_MID_GnomADv3 = models.TextField(null=True)
    Allele_number_genome_MID_GnomADv3 = models.TextField(null=True)
    Allele_frequency_genome_MID_GnomADv3 = models.TextField(null=True)
    Allele_count_genome_AMI_GnomADv3 = models.TextField(null=True)
    Allele_count_hom_genome_AMI_GnomADv3 = models.TextField(null=True)
    Allele_number_genome_AMI_GnomADv3 = models.TextField(null=True)
    Allele_frequency_genome_AMI_GnomADv3 = models.TextField(null=True)
    Allele_count_genome_GnomADv3 = models.TextField(null=True)
    Allele_number_genome_GnomADv3 = models.TextField(null=True)
    Allele_frequency_genome_GnomADv3 = models.TextField(null=True)
    BX_ID_GnomADv3 = models.TextField(null=True)
    HGVS_Nucleotide_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Chromosomal_Variant_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Result_Findlay_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Functional_Enrichment_Findlay_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    RNA_Score_Findlay_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    RNA_Class_Findlay_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Result_Starita_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Control_Group_Petitalot_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Result_Petitalot_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Selection_Bouwman1_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Result_Bouwman1_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Cisplatin_Bouwman2_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Olaparib_Bouwman2_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    DRGFP_Bouwman2_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Result_Bouwman2_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Result_Fernandes_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Complementation_Mesman_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    HDR_Mesman_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Cisplatin_Mesman_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Result_Mesman_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    HDR_Richardson_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Result_Richardson_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Result_Ikegami_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Olaparib_fClass_Ikegami_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Niraparif_fClass_Ikegami_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Rucaparib_fClass_Ikegami_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    CBDCA_fClass_Ikegami_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Cell_Survival_Biwas_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Drug_Sensitivity_Biwas_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    HAT_DS_Score_Biwas_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Result_Biwas_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    HGVS_Nucleotide_Findlay_BRCA1_Ring_Function_Scores = models.TextField(default="-")
    Functional_Enrichment_Score_Findlay_BRCA1_Ring_Function_Scores= models.TextField(default="-")
    Log_RNA_Depletion_Findlay_BRCA1_Ring_Function_Scores = models.TextField(default="-")
    BX_ID_Findlay_BRCA1_Ring_Function_Scores = models.TextField(default='')
    BX_ID_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)

    Data_Release = models.ForeignKey(DataRelease)
    Change_Type = models.ForeignKey(ChangeType)

    objects = ReportManager()

    class Meta:
        db_table = 'report'

        index_together = [
            ["Data_Release", "SCV_ClinVar"],
            ["Data_Release", "Submission_ID_LOVD"]
        ]


class Paper(models.Model):
    title = models.TextField()
    authors = models.TextField()
    journal = models.TextField()
    url = models.TextField()
    keywords = models.TextField()
    abstract = models.TextField()
    year = models.IntegerField()
    pmid = models.IntegerField()
    deleted = models.BooleanField()
    crawl_date = models.DateTimeField(null=True)


class VariantPaper(models.Model):
    variant_hg38 = models.TextField()
    paper = models.ForeignKey(Paper)
    mentions = ArrayField(models.TextField())
    points = models.IntegerField(default=0)
    deleted = models.BooleanField()


# materialized view containing only the most current version of each variant
class CurrentVariant(models.Model):
    # These are some extra derived columns that help with filtering
    Variant_in_ENIGMA = models.BooleanField(default=False)
    Variant_in_ClinVar = models.BooleanField(default=False)
    Variant_in_1000_Genomes = models.BooleanField(default=False)
    Variant_in_ExAC = models.BooleanField(default=False)
    Variant_in_LOVD = models.BooleanField(default=False)
    Variant_in_BIC = models.BooleanField(default=False)
    Variant_in_ESP = models.BooleanField(default=False)
    Variant_in_exLOVD = models.BooleanField(default=False)
    Variant_in_Findlay_BRCA1_Ring_Function_Scores = models.BooleanField(default=False)
    Variant_in_ENIGMA_BRCA12_Functional_Assays = models.BooleanField(default=False)
    Variant_in_GnomAD = models.BooleanField(default=False)
    Variant_in_GnomADv3 = models.BooleanField(default=False)

    Source = models.TextField()
    URL_ENIGMA = models.TextField()
    Condition_ID_type_ENIGMA = models.TextField()
    Condition_ID_value_ENIGMA = models.TextField()
    Condition_category_ENIGMA = models.TextField()
    Clinical_significance_ENIGMA = models.TextField()
    Date_last_evaluated_ENIGMA = models.TextField()
    Assertion_method_ENIGMA = models.TextField()
    Assertion_method_citation_ENIGMA = models.TextField()
    Clinical_significance_citations_ENIGMA = models.TextField()
    Comment_on_clinical_significance_ENIGMA = models.TextField()
    Collection_method_ENIGMA = models.TextField()
    Allele_origin_ENIGMA = models.TextField()
    ClinVarAccession_ENIGMA = models.TextField()
    Clinical_Significance_ClinVar = models.TextField()
    Date_Last_Updated_ClinVar = models.TextField()
    Submitter_ClinVar = models.TextField()
    SCV_ClinVar = models.TextField()
    Allele_Origin_ClinVar = models.TextField()
    Method_ClinVar = models.TextField()
    Functional_analysis_technique_LOVD = models.TextField()
    Functional_analysis_result_LOVD = models.TextField()
    Variant_frequency_LOVD = models.TextField()
    Variant_haplotype_LOVD = models.TextField()
    HGVS_cDNA_LOVD = models.TextField()
    HGVS_protein_LOVD = models.TextField()
    Individuals_LOVD = models.TextField()
    Variant_effect_LOVD = models.TextField()
    Genetic_origin_LOVD = models.TextField()
    RNA_LOVD = models.TextField()
    Submitters_LOVD = models.TextField()
    Created_date_LOVD = models.TextField(default="-")
    Edited_date_LOVD = models.TextField(default="-")
    DBID_LOVD = models.TextField(default='-')
    Remarks_LOVD = models.TextField(null=True)
    Classification_LOVD = models.TextField(null=True)
    Minor_allele_frequency_percent_ESP = models.TextField()
    EA_Allele_Frequency_ESP = models.TextField(default='-')
    AA_Allele_Frequency_ESP = models.TextField(default='-')
    Allele_Frequency_ESP = models.TextField(default='-')
    EUR_Allele_frequency_1000_Genomes = models.TextField()
    AFR_Allele_frequency_1000_Genomes = models.TextField()
    AMR_Allele_frequency_1000_Genomes = models.TextField()
    EAS_Allele_frequency_1000_Genomes = models.TextField()
    Allele_frequency_1000_Genomes = models.TextField()
    SAS_Allele_frequency_1000_Genomes = models.TextField()
    Allele_frequency_ExAC = models.TextField()
    Allele_count_AFR_ExAC = models.TextField(default="-")
    Allele_number_AFR_ExAC = models.TextField(default="-")
    Allele_frequency_AFR_ExAC = models.TextField(default="-")
    Homozygous_count_AFR_ExAC = models.TextField(default="-")
    Allele_count_AMR_ExAC = models.TextField(default="-")
    Allele_number_AMR_ExAC = models.TextField(default="-")
    Allele_frequency_AMR_ExAC = models.TextField(default="-")
    Homozygous_count_AMR_ExAC = models.TextField(default="-")
    Allele_count_EAS_ExAC = models.TextField(default="-")
    Allele_number_EAS_ExAC = models.TextField(default="-")
    Allele_frequency_EAS_ExAC = models.TextField(default="-")
    Homozygous_count_EAS_ExAC = models.TextField(default="-")
    Allele_count_FIN_ExAC = models.TextField(default="-")
    Allele_number_FIN_ExAC = models.TextField(default="-")
    Allele_frequency_FIN_ExAC = models.TextField(default="-")
    Homozygous_count_FIN_ExAC = models.TextField(default="-")
    Allele_count_NFE_ExAC = models.TextField(default="-")
    Allele_number_NFE_ExAC = models.TextField(default="-")
    Allele_frequency_NFE_ExAC = models.TextField(default="-")
    Homozygous_count_NFE_ExAC = models.TextField(default="-")
    Allele_count_OTH_ExAC = models.TextField(default="-")
    Allele_number_OTH_ExAC = models.TextField(default="-")
    Allele_frequency_OTH_ExAC = models.TextField(default="-")
    Homozygous_count_OTH_ExAC = models.TextField(default="-")
    Allele_count_SAS_ExAC = models.TextField(default="-")
    Allele_number_SAS_ExAC = models.TextField(default="-")
    Allele_frequency_SAS_ExAC = models.TextField(default="-")
    Homozygous_count_SAS_ExAC = models.TextField(default="-")
    Patient_nationality_BIC = models.TextField()
    Clinical_importance_BIC = models.TextField()
    Clinical_classification_BIC = models.TextField()
    Literature_citation_BIC = models.TextField()
    Number_of_family_member_carrying_mutation_BIC = models.TextField()
    Germline_or_Somatic_BIC = models.TextField()
    Ethnicity_BIC = models.TextField()
    Mutation_type_BIC = models.TextField()
    IARC_class_exLOVD = models.TextField()
    Sum_family_LR_exLOVD = models.TextField()
    Combined_prior_probablility_exLOVD = models.TextField()
    Literature_source_exLOVD = models.TextField()
    Co_occurrence_LR_exLOVD = models.TextField()
    Pathology_LR_exLOVD = models.TextField(null=True)
    Case_control_LR_exLOVD = models.TextField(null=True)
    Posterior_probability_exLOVD = models.TextField()
    Missense_analysis_prior_probability_exLOVD = models.TextField()
    Segregation_LR_exLOVD = models.TextField()
    HGVS_cDNA_GnomAD = models.TextField(null=True)
    HGVS_GnomAD = models.TextField(null=True)
    HGVS_protein_GnomAD = models.TextField(null=True)
    Flags_GnomAD = models.TextField(null=True)
    Consequence_GnomAD = models.TextField(null=True)
    Variant_id_GnomAD = models.TextField(null=True)
    faf95_popmax_genome_GnomAD = models.TextField(null=True)
    faf95_popmax_population_genome_GnomAD = models.TextField(null=True)
    faf95_popmax_exome_GnomAD = models.TextField(null=True)
    faf95_popmax_population_exome_GnomAD = models.TextField(null=True)
    Allele_count_genome_AFR_GnomAD = models.TextField(null=True)
    Allele_count_hemi_genome_AFR_GnomAD = models.TextField(null=True)
    Allele_count_hom_genome_AFR_GnomAD = models.TextField(null=True)
    Allele_number_genome_AFR_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_AFR_GnomAD = models.TextField(null=True)
    Allele_count_genome_AMR_GnomAD = models.TextField(null=True)
    Allele_count_hemi_genome_AMR_GnomAD = models.TextField(null=True)
    Allele_count_hom_genome_AMR_GnomAD = models.TextField(null=True)
    Allele_number_genome_AMR_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_AMR_GnomAD = models.TextField(null=True)
    Allele_count_genome_ASJ_GnomAD = models.TextField(null=True)
    Allele_count_hemi_genome_ASJ_GnomAD = models.TextField(null=True)
    Allele_count_hom_genome_ASJ_GnomAD = models.TextField(null=True)
    Allele_number_genome_ASJ_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_ASJ_GnomAD = models.TextField(null=True)
    Allele_count_genome_EAS_GnomAD = models.TextField(null=True)
    Allele_count_hemi_genome_EAS_GnomAD = models.TextField(null=True)
    Allele_count_hom_genome_EAS_GnomAD = models.TextField(null=True)
    Allele_number_genome_EAS_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_EAS_GnomAD = models.TextField(null=True)
    Allele_count_genome_EAS_JPN_GnomAD = models.TextField(null=True)
    Allele_count_hom_genome_EAS_JPN_GnomAD = models.TextField(null=True)
    Allele_number_genome_EAS_JPN_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_EAS_JPN_GnomAD = models.TextField(null=True)
    Allele_count_genome_EAS_KOR_GnomAD = models.TextField(null=True)
    Allele_count_hom_genome_EAS_KOR_GnomAD = models.TextField(null=True)
    Allele_number_genome_EAS_KOR_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_EAS_KOR_GnomAD = models.TextField(null=True)
    Allele_count_genome_EAS_OEA_GnomAD = models.TextField(null=True)
    Allele_count_hom_genome_EAS_OEA_GnomAD = models.TextField(null=True)
    Allele_number_genome_EAS_OEA_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_EAS_OEA_GnomAD = models.TextField(null=True)
    Allele_count_genome_FIN_GnomAD = models.TextField(null=True)
    Allele_count_hemi_genome_FIN_GnomAD = models.TextField(null=True)
    Allele_count_hom_genome_FIN_GnomAD = models.TextField(null=True)
    Allele_number_genome_FIN_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_FIN_GnomAD = models.TextField(null=True)
    Allele_count_genome_NFE_GnomAD = models.TextField(null=True)
    Allele_count_hemi_genome_NFE_GnomAD = models.TextField(null=True)
    Allele_count_hom_genome_NFE_GnomAD = models.TextField(null=True)
    Allele_number_genome_NFE_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_NFE_GnomAD = models.TextField(null=True)
    Allele_count_genome_NFE_EST_GnomAD = models.TextField(null=True)
    Allele_count_hom_genome_NFE_EST_GnomAD = models.TextField(null=True)
    Allele_number_genome_NFE_EST_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_NFE_EST_GnomAD = models.TextField(null=True)
    Allele_count_genome_NFE_BGR_GnomAD = models.TextField(null=True)
    Allele_count_hom_genome_NFE_BGR_GnomAD = models.TextField(null=True)
    Allele_number_genome_NFE_BGR_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_NFE_BGR_GnomAD = models.TextField(null=True)
    Allele_count_genome_NFE_NWE_GnomAD = models.TextField(null=True)
    Allele_count_hom_genome_NFE_NWE_GnomAD = models.TextField(null=True)
    Allele_number_genome_NFE_NWE_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_NFE_NWE_GnomAD = models.TextField(null=True)
    Allele_count_genome_NFE_ONF_GnomAD = models.TextField(null=True)
    Allele_count_hom_genome_NFE_ONF_GnomAD = models.TextField(null=True)
    Allele_number_genome_NFE_ONF_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_NFE_ONF_GnomAD = models.TextField(null=True)
    Allele_count_genome_NFE_SEU_GnomAD = models.TextField(null=True)
    Allele_count_hom_genome_NFE_SEU_GnomAD = models.TextField(null=True)
    Allele_number_genome_NFE_SEU_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_NFE_SEU_GnomAD = models.TextField(null=True)
    Allele_count_genome_NFE_SWE_GnomAD = models.TextField(null=True)
    Allele_count_hom_genome_NFE_SWE_GnomAD = models.TextField(null=True)
    Allele_number_genome_NFE_SWE_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_NFE_SWE_GnomAD = models.TextField(null=True)
    Allele_count_genome_OTH_GnomAD = models.TextField(null=True)
    Allele_count_hemi_genome_OTH_GnomAD = models.TextField(null=True)
    Allele_count_hom_genome_OTH_GnomAD = models.TextField(null=True)
    Allele_number_genome_OTH_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_OTH_GnomAD = models.TextField(null=True)
    Allele_count_genome_SAS_GnomAD = models.TextField(null=True)
    Allele_count_hemi_genome_SAS_GnomAD = models.TextField(null=True)
    Allele_count_hom_genome_SAS_GnomAD = models.TextField(null=True)
    Allele_number_genome_SAS_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_SAS_GnomAD = models.TextField(null=True)
    Allele_count_genome_GnomAD = models.TextField(null=True)
    Allele_number_genome_GnomAD = models.TextField(null=True)
    Allele_frequency_genome_GnomAD = models.TextField(null=True)
    Allele_count_exome_AFR_GnomAD = models.TextField(null=True)
    Allele_count_exome_AFR_GnomAD = models.TextField(null=True)
    Allele_count_hom_exome_AFR_GnomAD = models.TextField(null=True)
    Allele_number_exome_AFR_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_AFR_GnomAD = models.TextField(null=True)
    Allele_count_exome_AMR_GnomAD = models.TextField(null=True)
    Allele_count_hemi_exome_AMR_GnomAD = models.TextField(null=True)
    Allele_count_hom_exome_AMR_GnomAD = models.TextField(null=True)
    Allele_number_exome_AMR_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_AMR_GnomAD = models.TextField(null=True)
    Allele_count_exome_ASJ_GnomAD = models.TextField(null=True)
    Allele_count_hemi_exome_ASJ_GnomAD = models.TextField(null=True)
    Allele_count_hom_exome_ASJ_GnomAD = models.TextField(null=True)
    Allele_number_exome_ASJ_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_ASJ_GnomAD = models.TextField(null=True)
    Allele_count_exome_EAS_GnomAD = models.TextField(null=True)
    Allele_count_hemi_exome_EAS_GnomAD = models.TextField(null=True)
    Allele_count_hom_exome_EAS_GnomAD = models.TextField(null=True)
    Allele_number_exome_EAS_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_EAS_GnomAD = models.TextField(null=True)
    Allele_count_exome_EAS_JPN_GnomAD = models.TextField(null=True)
    Allele_count_hom_exome_EAS_JPN_GnomAD = models.TextField(null=True)
    Allele_number_exome_EAS_JPN_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_EAS_JPN_GnomAD = models.TextField(null=True)
    Allele_count_exome_EAS_KOR_GnomAD = models.TextField(null=True)
    Allele_count_hom_exome_EAS_KOR_GnomAD = models.TextField(null=True)
    Allele_number_exome_EAS_KOR_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_EAS_KOR_GnomAD = models.TextField(null=True)
    Allele_count_exome_EAS_OEA_GnomAD = models.TextField(null=True)
    Allele_count_hom_exome_EAS_OEA_GnomAD = models.TextField(null=True)
    Allele_number_exome_EAS_OEA_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_EAS_OEA_GnomAD = models.TextField(null=True)
    Allele_count_exome_FIN_GnomAD = models.TextField(null=True)
    Allele_count_hemi_exome_FIN_GnomAD = models.TextField(null=True)
    Allele_count_hom_exome_FIN_GnomAD = models.TextField(null=True)
    Allele_number_exome_FIN_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_FIN_GnomAD = models.TextField(null=True)
    Allele_count_exome_NFE_GnomAD = models.TextField(null=True)
    Allele_count_hemi_exome_NFE_GnomAD = models.TextField(null=True)
    Allele_count_hom_exome_NFE_GnomAD = models.TextField(null=True)
    Allele_number_exome_NFE_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_NFE_GnomAD = models.TextField(null=True)
    Allele_count_exome_OTH_GnomAD = models.TextField(null=True)
    Allele_count_hemi_exome_OTH_GnomAD = models.TextField(null=True)
    Allele_count_hom_exome_OTH_GnomAD = models.TextField(null=True)
    Allele_number_exome_OTH_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_OTH_GnomAD = models.TextField(null=True)
    Allele_count_exome_SAS_GnomAD = models.TextField(null=True)
    Allele_count_hemi_exome_SAS_GnomAD = models.TextField(null=True)
    Allele_count_hom_exome_SAS_GnomAD = models.TextField(null=True)
    Allele_number_exome_SAS_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_SAS_GnomAD = models.TextField(null=True)
    Allele_number_exome_GnomAD = models.TextField(null=True)
    Allele_count_exome_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_GnomAD = models.TextField(null=True)
    Allele_count_hom_ASJ_GnomAD = models.TextField(null=True)
    Allele_number_NFE_GnomAD = models.TextField(null=True)
    Allele_number_OTH_GnomAD = models.TextField(null=True)
    Allele_count_hemi_FIN_GnomAD = models.TextField(null=True)
    Allele_count_hom_AMR_GnomAD = models.TextField(null=True)
    Allele_count_hemi_AFR_GnomAD = models.TextField(null=True)
    Allele_frequency_FIN_GnomAD = models.TextField(null=True)
    Allele_count_hemi_NFE_GnomAD = models.TextField(null=True)
    Allele_count_hom_NFE_GnomAD = models.TextField(null=True)
    Allele_frequency_ASJ_GnomAD = models.TextField(null=True)
    Allele_frequency_EAS_GnomAD = models.TextField(null=True)
    Allele_frequency_AMR_GnomAD = models.TextField(null=True)
    Allele_count_hemi_SAS_GnomAD = models.TextField(null=True)
    Allele_count_hom_EAS_GnomAD = models.TextField(null=True)
    Allele_number_ASJ_GnomAD = models.TextField(null=True)
    Allele_number_FIN_GnomAD = models.TextField(null=True)
    Allele_count_hom_AFR_GnomAD = models.TextField(null=True)
    Allele_count_hemi_AMR_GnomAD = models.TextField(null=True)
    Allele_frequency_AFR_GnomAD = models.TextField(null=True)
    Allele_count_hom_OTH_GnomAD = models.TextField(null=True)
    Allele_frequency_OTH_GnomAD = models.TextField(null=True)
    Allele_count_hom_FIN_GnomAD = models.TextField(null=True)
    Allele_count_hemi_EAS_GnomAD = models.TextField(null=True)
    Allele_number_AFR_GnomAD = models.TextField(null=True)
    Allele_count_hemi_OTH_GnomAD = models.TextField(null=True)
    Allele_count_hom_SAS_GnomAD = models.TextField(null=True)
    Allele_frequency_NFE_GnomAD = models.TextField(null=True)
    Allele_count_exome_NFE_EST_GnomAD = models.TextField(null=True)
    Allele_count_hom_exome_NFE_EST_GnomAD = models.TextField(null=True)
    Allele_number_exome_NFE_EST_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_NFE_EST_GnomAD = models.TextField(null=True)
    Allele_count_exome_NFE_BGR_GnomAD = models.TextField(null=True)
    Allele_count_hom_exome_NFE_BGR_GnomAD = models.TextField(null=True)
    Allele_number_exome_NFE_BGR_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_NFE_BGR_GnomAD = models.TextField(null=True)
    Allele_count_exome_NFE_NWE_GnomAD = models.TextField(null=True)
    Allele_count_hom_exome_NFE_NWE_GnomAD = models.TextField(null=True)
    Allele_number_exome_NFE_NWE_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_NFE_NWE_GnomAD = models.TextField(null=True)
    Allele_count_exome_NFE_ONF_GnomAD = models.TextField(null=True)
    Allele_count_hom_exome_NFE_ONF_GnomAD = models.TextField(null=True)
    Allele_number_exome_NFE_ONF_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_NFE_ONF_GnomAD = models.TextField(null=True)
    Allele_count_exome_NFE_SEU_GnomAD = models.TextField(null=True)
    Allele_count_hom_exome_NFE_SEU_GnomAD = models.TextField(null=True)
    Allele_number_exome_NFE_SEU_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_NFE_SEU_GnomAD = models.TextField(null=True)
    Allele_count_exome_NFE_SWE_GnomAD = models.TextField(null=True)
    Allele_count_hom_exome_NFE_SWE_GnomAD = models.TextField(null=True)
    Allele_number_exome_NFE_SWE_GnomAD = models.TextField(null=True)
    Allele_frequency_exome_NFE_SWE_GnomAD = models.TextField(null=True)
    Allele_number_EAS_GnomAD = models.TextField(null=True)
    Allele_number_SAS_GnomAD = models.TextField(null=True)
    Allele_count_hemi_ASJ_GnomAD = models.TextField(null=True)
    Allele_frequency_SAS_GnomAD = models.TextField(null=True)
    Allele_number_AMR_GnomAD = models.TextField(null=True)
    HGVS_cDNA_GnomADv3 = models.TextField(null=True)
    Flags_GnomADv3 = models.TextField(null=True)
    Variant_id_GnomADv3 = models.TextField(null=True)
    faf95_popmax_genome_GnomADv3 = models.TextField(null=True)
    faf95_popmax_population_genome_GnomADv3 = models.TextField(null=True)
    Allele_count_genome_AFR_GnomADv3 = models.TextField(null=True)
    Allele_count_hom_genome_AFR_GnomADv3 = models.TextField(null=True)
    Allele_number_genome_AFR_GnomADv3 = models.TextField(null=True)
    Allele_frequency_genome_AFR_GnomADv3 = models.TextField(null=True)
    Allele_count_genome_AMR_GnomADv3 = models.TextField(null=True)
    Allele_count_hom_genome_AMR_GnomADv3 = models.TextField(null=True)
    Allele_number_genome_AMR_GnomADv3 = models.TextField(null=True)
    Allele_frequency_genome_AMR_GnomADv3 = models.TextField(null=True)
    Allele_count_genome_ASJ_GnomADv3 = models.TextField(null=True)
    Allele_count_hom_genome_ASJ_GnomADv3 = models.TextField(null=True)
    Allele_number_genome_ASJ_GnomADv3 = models.TextField(null=True)
    Allele_frequency_genome_ASJ_GnomADv3 = models.TextField(null=True)
    Allele_count_genome_EAS_GnomADv3 = models.TextField(null=True)
    Allele_count_hom_genome_EAS_GnomADv3 = models.TextField(null=True)
    Allele_number_genome_EAS_GnomADv3 = models.TextField(null=True)
    Allele_frequency_genome_EAS_GnomADv3 = models.TextField(null=True)
    Allele_count_genome_FIN_GnomADv3 = models.TextField(null=True)
    Allele_count_hom_genome_FIN_GnomADv3 = models.TextField(null=True)
    Allele_number_genome_FIN_GnomADv3 = models.TextField(null=True)
    Allele_frequency_genome_FIN_GnomADv3 = models.TextField(null=True)
    Allele_count_genome_NFE_GnomADv3 = models.TextField(null=True)
    Allele_count_hom_genome_NFE_GnomADv3 = models.TextField(null=True)
    Allele_number_genome_NFE_GnomADv3 = models.TextField(null=True)
    Allele_frequency_genome_NFE_GnomADv3 = models.TextField(null=True)
    Allele_count_genome_OTH_GnomADv3 = models.TextField(null=True)
    Allele_count_hom_genome_OTH_GnomADv3 = models.TextField(null=True)
    Allele_number_genome_OTH_GnomADv3 = models.TextField(null=True)
    Allele_frequency_genome_OTH_GnomADv3 = models.TextField(null=True)
    Allele_count_genome_SAS_GnomADv3 = models.TextField(null=True)
    Allele_count_hom_genome_SAS_GnomADv3 = models.TextField(null=True)
    Allele_number_genome_SAS_GnomADv3 = models.TextField(null=True)
    Allele_frequency_genome_SAS_GnomADv3 = models.TextField(null=True)
    Allele_count_genome_MID_GnomADv3 = models.TextField(null=True)
    Allele_count_hom_genome_MID_GnomADv3 = models.TextField(null=True)
    Allele_number_genome_MID_GnomADv3 = models.TextField(null=True)
    Allele_frequency_genome_MID_GnomADv3 = models.TextField(null=True)
    Allele_count_genome_AMI_GnomADv3 = models.TextField(null=True)
    Allele_count_hom_genome_AMI_GnomADv3 = models.TextField(null=True)
    Allele_number_genome_AMI_GnomADv3 = models.TextField(null=True)
    Allele_frequency_genome_AMI_GnomADv3 = models.TextField(null=True)
    Allele_count_genome_GnomADv3 = models.TextField(null=True)
    Allele_number_genome_GnomADv3 = models.TextField(null=True)
    Allele_frequency_genome_GnomADv3 = models.TextField(null=True)
    HGVS_Nucleotide_Findlay_BRCA1_Ring_Function_Scores = models.TextField(default="-")
    Functional_Enrichment_Score_Findlay_BRCA1_Ring_Function_Scores= models.TextField(default="-")
    Log_RNA_Depletion_Findlay_BRCA1_Ring_Function_Scores = models.TextField(default="-")
    HGVS_Nucleotide_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Chromosomal_Variant_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Result_Findlay_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Functional_Enrichment_Findlay_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    RNA_Score_Findlay_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    RNA_Class_Findlay_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Result_Starita_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Control_Group_Petitalot_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Result_Petitalot_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Selection_Bouwman1_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Result_Bouwman1_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Cisplatin_Bouwman2_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Olaparib_Bouwman2_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    DRGFP_Bouwman2_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Result_Bouwman2_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Result_Fernandes_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Complementation_Mesman_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    HDR_Mesman_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Cisplatin_Mesman_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Result_Mesman_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    HDR_Richardson_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Result_Richardson_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Result_Ikegami_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Olaparib_fClass_Ikegami_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Niraparif_fClass_Ikegami_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Rucaparib_fClass_Ikegami_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    CBDCA_fClass_Ikegami_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Cell_Survival_Biwas_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Drug_Sensitivity_Biwas_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    HAT_DS_Score_Biwas_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Result_Biwas_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    Gene_Symbol = models.TextField()
    Reference_Sequence = models.TextField()
    HGVS_cDNA = models.TextField()
    BIC_Nomenclature = models.TextField()
    HGVS_Protein = models.TextField()
    HGVS_RNA = models.TextField()
    Protein_Change = models.TextField()
    Allele_Frequency = models.TextField()
    Max_Allele_Frequency = models.TextField()
    Genomic_Coordinate_hg38 = models.TextField()
    Hg38_Start = models.BigIntegerField(default=1)
    Hg38_End = models.BigIntegerField(default=1)
    Hg37_Start = models.BigIntegerField(default=1)
    Hg37_End = models.BigIntegerField(default=1)
    Genomic_Coordinate_hg37 = models.TextField()
    Genomic_HGVS_38 = models.TextField(null=True)
    Genomic_HGVS_37 = models.TextField(null=True)
    Source_URL = models.TextField()
    Discordant = models.TextField()
    Synonyms = models.TextField()
    Pathogenicity_expert = models.TextField()
    Pathogenicity_all = models.TextField()
    Chr = models.TextField()
    Pos = models.TextField()
    Ref = models.TextField()
    Alt = models.TextField()
    Polyphen_Prediction = models.TextField()
    Polyphen_Score = models.TextField()
    Sift_Score = models.TextField()
    Sift_Prediction = models.TextField()
    BX_ID_ENIGMA_BRCA12_Functional_Assays = models.TextField(null=True)
    BX_ID_ENIGMA = models.TextField(default='')
    BX_ID_LOVD = models.TextField(default='')
    BX_ID_ESP = models.TextField(default='')
    BX_ID_BIC = models.TextField(default='')
    BX_ID_ClinVar = models.TextField(default='')
    BX_ID_1000_Genomes = models.TextField(default='')
    BX_ID_ExAC = models.TextField(default='')
    BX_ID_exLOVD = models.TextField(default='')
    BX_ID_GnomAD = models.TextField(null=True)
    BX_ID_Findlay_BRCA1_Ring_Function_Scores = models.TextField(default='')
    BX_ID_GnomADv3 = models.TextField(null=True)
    VR_ID = models.TextField(null=True)
    Mupit_Structure = models.ForeignKey(MupitStructure, null=True)
    CA_ID = models.TextField(null=True)
    DS_AG_spliceAI = models.TextField(null=True)
    DS_AL_spliceAI = models.TextField(null=True)
    DS_DG_spliceAI = models.TextField(null=True)
    DS_DL_spliceAI = models.TextField(null=True)
    DP_AG_spliceAI = models.TextField(null=True)
    DP_AL_spliceAI = models.TextField(null=True)
    DP_DG_spliceAI = models.TextField(null=True)
    DP_DL_spliceAI = models.TextField(null=True)
    result_spliceai = models.TextField(null=True)
    BayesDel_nsfp33a_noAF = models.TextField(null=True)

    # Data Versioning
    Data_Release = models.ForeignKey(DataRelease)
    Change_Type = models.ForeignKey(ChangeType)

    class Meta:
        db_table = 'currentvariant'
        managed = False


class InSilicoPriors(models.Model):
    Variant = models.OneToOneField('Variant', primary_key=True)

    varType = models.TextField()
    varLoc = models.TextField()
    applicablePrior = models.TextField(default='')
    applicableEnigmaClass = models.TextField(default='')
    proteinPrior = models.TextField(default='')
    refDonorPrior = models.TextField(default='')
    deNovoDonorPrior = models.TextField(default='')
    refRefDonorMES = models.TextField(default='')
    refRefDonorZ = models.TextField(default='')
    altRefDonorMES = models.TextField(default='')
    altRefDonorZ = models.TextField(default='')
    refRefDonorSeq = models.TextField(default='')
    altRefDonorSeq = models.TextField(default='')
    refDonorVarStart = models.TextField(default='')
    refDonorVarLength = models.TextField(default='')
    refDonorExonStart = models.TextField(default='')
    refDonorIntronStart = models.TextField(default='')
    refDeNovoDonorMES = models.TextField(default='')
    refDeNovoDonorZ = models.TextField(default='')
    altDeNovoDonorMES = models.TextField(default='')
    altDeNovoDonorZ = models.TextField(default='')
    refDeNovoDonorSeq = models.TextField(default='')
    altDeNovoDonorSeq = models.TextField(default='')
    deNovoDonorVarStart = models.TextField(default='')
    deNovoDonorVarLength = models.TextField(default='')
    deNovoDonorExonStart = models.TextField(default='')
    deNovoDonorIntronStart = models.TextField(default='')
    deNovoDonorGenomicSplicePos = models.TextField(default='')
    deNovoDonorTranscriptSplicePos = models.TextField(default='')
    closestDonorGenomicSplicePos = models.TextField(default='')
    closestDonorTranscriptSplicePos = models.TextField(default='')
    closestDonorRefMES = models.TextField(default='')
    closestDonorRefZ = models.TextField(default='')
    closestDonorRefSeq = models.TextField(default='')
    closestDonorAltMES = models.TextField(default='')
    closestDonorAltZ = models.TextField(default='')
    closestDonorAltSeq = models.TextField(default='')
    closestDonorExonStart = models.TextField(default='')
    closestDonorIntronStart = models.TextField(default='')
    deNovoDonorAltGreaterRefFlag = models.TextField(default='')
    deNovoDonorAltGreaterClosestRefFlag = models.TextField(default='')
    deNovoDonorAltGreaterClosestAltFlag = models.TextField(default='')
    deNovoDonorFrameshiftFlag = models.TextField(default='')
    refAccPrior = models.TextField(default='')
    deNovoAccPrior = models.TextField(default='')
    refRefAccMES = models.TextField(default='')
    refRefAccZ = models.TextField(default='')
    altRefAccMES = models.TextField(default='')
    altRefAccZ = models.TextField(default='')
    refRefAccSeq = models.TextField(default='')
    altRefAccSeq = models.TextField(default='')
    refAccVarStart = models.TextField(default='')
    refAccVarLength = models.TextField(default='')
    refAccExonStart = models.TextField(default='')
    refAccIntronStart = models.TextField(default='')
    refDeNovoAccMES = models.TextField(default='')
    refDeNovoAccZ = models.TextField(default='')
    altDeNovoAccMES = models.TextField(default='')
    altDeNovoAccZ = models.TextField(default='')
    refDeNovoAccSeq = models.TextField(default='')
    altDeNovoAccSeq = models.TextField(default='')
    deNovoAccVarStart = models.TextField(default='')
    deNovoAccVarLength = models.TextField(default='')
    deNovoAccExonStart = models.TextField(default='')
    deNovoAccIntronStart = models.TextField(default='')
    deNovoAccGenomicSplicePos = models.TextField(default='')
    deNovoAccTranscriptSplicePos = models.TextField(default='')
    closestAccGenomicSplicePos = models.TextField(default='')
    closestAccTranscriptSplicePos = models.TextField(default='')
    closestAccRefMES = models.TextField(default='')
    closestAccRefZ = models.TextField(default='')
    closestAccRefSeq = models.TextField(default='')
    closestAccAltMES = models.TextField(default='')
    closestAccAltZ = models.TextField(default='')
    closestAccAltSeq = models.TextField(default='')
    closestAccExonStart = models.TextField(default='')
    closestAccIntronStart = models.TextField(default='')
    deNovoAccAltGreaterRefFlag = models.TextField(default='')
    deNovoAccAltGreaterClosestRefFlag = models.TextField(default='')
    deNovoAccAltGreaterClosestAltFlag = models.TextField(default='')
    deNovoAccFrameshiftFlag = models.TextField(default='')
    spliceSite = models.TextField()
    spliceRescue = models.TextField(default='')
    spliceFlag = models.TextField()
    frameshiftFlag = models.TextField(default='')
    inExonicPortionFlag = models.TextField(default='')
    CIDomainInRegionFlag = models.TextField(default='')
    isDivisibleFlag = models.TextField(default='')
    lowMESFlag = models.TextField(default='')
    varConsequences = models.TextField(default='')

    class Meta:
        db_table = 'insilicopriors'


class VariantRepresentation(models.Model):
    Genomic_Coordinate_hg38 = models.TextField(null=False)
    Description = JSONField(null=False, default={})
