class Role(db.Model, RoleMixin): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(80), unique=True) description = db.Column(db.String(250)) def __repr__(self): return ('%s' % (self.name))
class SampleName(db.Model): id = db.Column(db.Integer, primary_key=True) sam_accession_no = db.Column(db.String(1000)) sam_record_title = db.Column(db.String(1000)) sam_url = db.Column(db.String(1000)) genotype_description_id = db.Column( db.Integer, db.ForeignKey('genotype_description.id')) genotype_description = db.relationship('GenotypeDescription', backref='sample_names')
class AttachedFile(db.Model): id = db.Column(db.Integer, primary_key=True) filename = db.Column(db.String(1000)) notes_id = db.Column(db.Integer, db.ForeignKey('notes_entry.id')) notes_entry = db.relationship('NotesEntry', backref='attached_files') gene_description_id = db.Column(db.Integer, db.ForeignKey('gene_description.id')) gene_description = db.relationship('GeneDescription', backref='attached_files') novel_vdjbase_id = db.Column(db.Integer, db.ForeignKey('novel_vdjbase.id')) novel_vdjbase = db.relationship('NovelVdjbase', backref='attached_files')
class JournalEntry(db.Model): id = db.Column(db.Integer, primary_key=True) date = db.Column(db.DateTime) author = db.Column(db.String(255)) type = db.Column(db.String(255)) title = db.Column(db.String(1000)) body = db.Column(db.Text()) submission_id = db.Column(db.Integer, db.ForeignKey('submission.id')) submission = db.relationship('Submission', backref='journal_entries') gene_description_id = db.Column(db.Integer, db.ForeignKey('gene_description.id')) gene_description = db.relationship('GeneDescription', backref='journal_entries') germline_set_id = db.Column(db.Integer, db.ForeignKey('germline_set.id')) germline_set = db.relationship('GermlineSet', backref='journal_entries') parent_id = db.Column(db.Integer, db.ForeignKey('journal_entry.id')) children = db.relationship('JournalEntry', backref=backref('parent', remote_side=[id]))
class InferenceTool(db.Model, InferenceToolMixin): id = db.Column(db.Integer, primary_key=True) tool_settings_name = db.Column(db.String(1000)) tool_name = db.Column(db.String(1000)) tool_version = db.Column(db.String(1000)) tool_starting_database = db.Column(db.Text()) tool_settings = db.Column(db.Text()) submission_id = db.Column(db.Integer, db.ForeignKey('submission.id')) submission = db.relationship('Submission', backref='inference_tools')
class PubId(db.Model): id = db.Column(db.Integer, primary_key=True) pubmed_id = db.Column(db.String(1000)) pub_title = db.Column(db.Text()) pub_authors = db.Column(db.Text()) repertoire_id = db.Column(db.Integer, db.ForeignKey('repertoire.id')) repertoire = db.relationship('Repertoire', backref='pub_ids') sequence_id = db.Column(db.Integer, db.ForeignKey('gene_description.id')) gene_description = db.relationship('GeneDescription', backref='pub_ids') germline_set_id = db.Column(db.Integer, db.ForeignKey('germline_set.id')) germline_set = db.relationship('GermlineSet', backref='pub_ids')
class Acknowledgements(db.Model): id = db.Column(db.Integer, primary_key=True) ack_name = db.Column(db.String(1000)) ack_institution_name = db.Column(db.String(1000)) ack_ORCID_id = db.Column(db.String(255)) submission_id = db.Column(db.Integer, db.ForeignKey('submission.id')) submission = db.relationship('Submission', backref='acknowledgements') description_id = db.Column(db.Integer, db.ForeignKey('gene_description.id')) gene_description = db.relationship('GeneDescription', backref='acknowledgements') germline_set_id = db.Column(db.Integer, db.ForeignKey('germline_set.id')) germline_set = db.relationship('GermlineSet', backref='acknowledgements')
class User(db.Model, UserMixin): id = db.Column(db.Integer, primary_key=True) email = db.Column(db.String(255), unique=True) password = db.Column(db.String(255)) name = db.Column(db.String(255)) address = db.Column(db.String(250)) accepted_terms = db.Column(db.Boolean) reduce_emails = db.Column(db.Boolean) active = db.Column(db.Boolean()) confirmed_at = db.Column(db.DateTime()) roles = db.relationship('Role', secondary=roles_users, backref=db.backref('users', lazy='dynamic')) delegated_submissions = db.relationship('Submission', secondary=roles_submissions, backref=db.backref('delegates', lazy='dynamic')) def __repr__(self): return ('%s' % (self.email))
class DupeGeneNote(db.Model): id = db.Column(db.Integer, primary_key=True) date = db.Column(db.DateTime) author = db.Column(db.String(255)) body = db.Column(db.Text()) gene_description_id = db.Column(db.Integer, db.ForeignKey('gene_description.id')) gene_description = db.relationship('GeneDescription', backref='dupe_notes') genotype_id = db.Column(db.Integer, db.ForeignKey('genotype.id')) genotype = db.relationship('Genotype', backref='dupe_notes')
class NotesEntry(db.Model): id = db.Column(db.Integer, primary_key=True) notes_text = db.Column(db.Text()) notes_attachment_filename = db.Column(db.String(1000)) submission_id = db.Column(db.Integer, db.ForeignKey('submission.id')) submission = db.relationship('Submission', backref = 'notes_entries') germline_set_id = db.Column(db.Integer, db.ForeignKey('germline_set.id')) germline_set = db.relationship('GermlineSet', backref = 'notes_entries') novel_vdjbase_id = db.Column(db.Integer, db.ForeignKey('novel_vdjbase.id')) novel_vdjbase = db.relationship('NovelVdjbase', backref = 'notes_entries')
class RecordSet(db.Model): id = db.Column(db.Integer, primary_key=True) rec_accession_no = db.Column(db.String(1000)) rec_record_title = db.Column(db.String(1000)) rec_url = db.Column(db.String(1000)) inferred_sequence_id = db.Column(db.Integer, db.ForeignKey('inferred_sequence.id')) inferred_sequence = db.relationship('InferredSequence', backref='record_set') genotype_description_id = db.Column( db.Integer, db.ForeignKey('genotype_description.id')) genotype_description = db.relationship('GenotypeDescription', backref='record_set')
class Repertoire(db.Model, RepertoireMixin): id = db.Column(db.Integer, primary_key=True) repository_name = db.Column(db.String(1000)) rep_accession_no = db.Column(db.String(1000)) rep_title = db.Column(db.String(1000)) dataset_url = db.Column(db.String(500)) miairr_compliant = db.Column(db.String(255)) miairr_link = db.Column(db.String(500)) sequencing_platform = db.Column(db.String(1000)) read_length = db.Column(db.String(1000)) primers_overlapping = db.Column(db.String(255)) submission_id = db.Column(db.Integer, db.ForeignKey('submission.id')) submission = db.relationship('Submission', backref='repertoire')
class Committee(db.Model): id = db.Column(db.Integer, primary_key=True) committee = db.Column(db.String(80), unique=True) species = db.Column(db.String(80), unique=True) loci = db.Column(db.String(80)) sequence_types = db.Column(db.String(80))
class NovelVdjbase(db.Model): id = db.Column(db.Integer, primary_key=True) vdjbase_name = db.Column(db.String(1000)) species = db.Column(db.String(50)) locus = db.Column(db.String(255)) subject_count = db.Column(db.Integer) j_haplotypes = db.Column(db.Integer) d_haplotypes = db.Column(db.Integer) hetero_alleleic_j_haplotypes = db.Column(db.Integer) status = db.Column(db.String(255)) sequence = db.Column(db.String(1000)) example = db.Column(db.String(50)) first_seen = db.Column(db.DateTime) last_seen = db.Column(db.DateTime) last_updated = db.Column(db.DateTime) updated_by = db.Column(db.String(50))
# Copyright William Lees # # This source code, and any executable file compiled or derived from it, is governed by the European Union Public License v. 1.2, # the English version of which is available here: https://perma.cc/DK5U-NDVE # # ORM definitions for user management from head import db from flask_security import UserMixin, RoleMixin roles_users = db.Table( 'roles_users', db.Column('user_id', db.Integer(), db.ForeignKey('user.id')), db.Column('role_id', db.Integer(), db.ForeignKey('role.id'))) class Role(db.Model, RoleMixin): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(80), unique=True) description = db.Column(db.String(250)) def __repr__(self): return ('%s' % (self.name)) roles_submissions = db.Table( 'roles_submissions', db.Column('user_id', db.Integer(), db.ForeignKey('user.id')), db.Column('submission_id', db.Integer(), db.ForeignKey('submission.id')))
class GenotypeDescription(db.Model, GenotypeDescriptionMixin): id = db.Column(db.Integer, primary_key=True) genotype_name = db.Column(db.String(1000)) genotype_subject_id = db.Column(db.String(1000)) genotype_biosample_ids = db.Column(db.String(255)) genotype_run_ids = db.Column(db.String(1000)) gen_ncbi_hash = db.Column(db.String(1000)) submission_id = db.Column(db.Integer, db.ForeignKey('submission.id')) submission = db.relationship('Submission', backref='genotype_descriptions') inference_tool_id = db.Column(db.Integer, db.ForeignKey('inference_tool.id')) inference_tool = db.relationship('InferenceTool', backref='genotype_descriptions') locus = db.Column(db.String(255)) sequence_type = db.Column(db.String(255)) genotype_filename = db.Column(db.String(1000))
class Primer(db.Model): id = db.Column(db.Integer, primary_key=True) primer_name = db.Column(db.String(1000)) primer_seq = db.Column(db.String(1000)) primer_set_id = db.Column(db.Integer, db.ForeignKey('primer_set.id')) primer_set = db.relationship('PrimerSet', backref='primers')
# ORM definitions for GeneDescription # This file is automatically generated from the schema by schema/build_from_schema.py from head import db from db.userdb import User from db.styled_table import * from flask_table import Table, Col, LinkCol, create_table from db.view_table import ViewCol from sqlalchemy.orm import backref inferred_sequences_gene_descriptions = db.Table('inferred_sequences_gene_descriptions', db.Column('inferred_sequences_id', db.Integer(), db.ForeignKey('inferred_sequence.id')), db.Column('gene_descriptions_id', db.Integer(), db.ForeignKey('gene_description.id'))) supporting_observations_supporting_gene_descriptions = db.Table('supporting_observations_supporting_gene_descriptions', db.Column('supporting_observations_id', db.Integer(), db.ForeignKey('genotype.id')), db.Column('supporting_gene_descriptions_id', db.Integer(), db.ForeignKey('gene_description.id'))) duplicate_sequences_published_duplicates = db.Table('duplicate_sequences_published_duplicates', db.Column('duplicate_sequences_id', db.Integer(), db.ForeignKey('genotype.id')), db.Column('published_duplicates_id', db.Integer(), db.ForeignKey('gene_description.id'))) from db._gene_description_db import *
class Submission(db.Model, SubmissionMixin): id = db.Column(db.Integer, primary_key=True) submission_id = db.Column(db.String(1000)) submission_date = db.Column(db.DateTime) submission_status = db.Column(db.String(255)) public = db.Column(db.Boolean) submitter_name = db.Column(db.String(1000)) submitter_address = db.Column(db.String(1000)) submitter_email = db.Column(db.String(255)) species = db.Column(db.String(255)) population_ethnicity = db.Column(db.String(1000)) owner_id = db.Column(db.Integer, db.ForeignKey('user.id')) owner = db.relationship('User', backref='submissions')
class GeneDescription(db.Model, GeneDescriptionMixin): id = db.Column(db.Integer, primary_key=True) description_id = db.Column(db.String(50)) maintainer = db.Column(db.String(50)) lab_address = db.Column(db.String(1000)) release_version = db.Column(db.Integer) release_date = db.Column(db.DateTime) release_description = db.Column(db.Text()) imgt_name = db.Column(db.String(50)) sequence_name = db.Column(db.String(50)) alt_names = db.Column(db.String(1000)) chromosome = db.Column(db.Integer) locus = db.Column(db.String(255)) sequence_type = db.Column(db.String(255)) functionality = db.Column(db.String(255)) inference_type = db.Column(db.String(255)) affirmation_level = db.Column(db.String(255)) species = db.Column(db.String(1000)) species_subgroup = db.Column(db.String(50)) species_subgroup_type = db.Column(db.String(255)) status = db.Column(db.String(255)) gene_subgroup = db.Column(db.String(50)) subgroup_designation = db.Column(db.String(50)) allele_designation = db.Column(db.String(50)) sequence = db.Column(db.Text()) coding_seq_imgt = db.Column(db.Text()) gene_start = db.Column(db.Integer) gene_end = db.Column(db.Integer) utr_5_prime_start = db.Column(db.Integer) utr_5_prime_end = db.Column(db.Integer) leader_1_start = db.Column(db.Integer) leader_1_end = db.Column(db.Integer) leader_2_start = db.Column(db.Integer) leader_2_end = db.Column(db.Integer) v_rs_start = db.Column(db.Integer) v_rs_end = db.Column(db.Integer) d_rs_3_prime_start = db.Column(db.Integer) d_rs_3_prime_end = db.Column(db.Integer) d_rs_5_prime_start = db.Column(db.Integer) d_rs_5_prime_end = db.Column(db.Integer) j_rs_start = db.Column(db.Integer) j_rs_end = db.Column(db.Integer) j_codon_frame = db.Column(db.String(255)) j_cdr3_end = db.Column(db.Integer) paralogs = db.Column(db.String(1000)) notes = db.Column(db.Text()) inferred_sequences = db.relationship('InferredSequence', secondary = inferred_sequences_gene_descriptions, backref = db.backref('gene_descriptions', lazy='dynamic')) supporting_observations = db.relationship('Genotype', secondary = supporting_observations_supporting_gene_descriptions, backref = db.backref('supporting_gene_descriptions', lazy='dynamic')) duplicate_sequences = db.relationship('Genotype', secondary = duplicate_sequences_published_duplicates, backref = db.backref('published_duplicates', lazy='dynamic')) inferred_extension = db.Column(db.Boolean) ext_3prime = db.Column(db.Text()) start_3prime_ext = db.Column(db.Integer) end_3prime_ext = db.Column(db.Integer) ext_5prime = db.Column(db.Text()) start_5prime_ext = db.Column(db.Integer) end_5prime_ext = db.Column(db.Integer) curational_tags = db.Column(db.String(255))
class PrimerSet(db.Model, PrimerSetMixin): id = db.Column(db.Integer, primary_key=True) primer_set_name = db.Column(db.String(1000)) primer_set_notes = db.Column(db.Text()) repertoire_id = db.Column(db.Integer, db.ForeignKey('repertoire.id')) repertoire = db.relationship('Repertoire', backref='primer_sets')
class GenomicSupport(db.Model): id = db.Column(db.Integer, primary_key=True) sequence_type = db.Column(db.String(255)) sequence = db.Column(db.Text()) notes = db.Column(db.Text()) repository = db.Column(db.String(1000)) accession = db.Column(db.String(1000)) url = db.Column(db.String(1000)) patch_no = db.Column(db.String(1000)) gff_seqid = db.Column(db.String(1000)) sequence_start = db.Column(db.Integer) sequence_end = db.Column(db.Integer) sense = db.Column(db.String(255)) sequence_id = db.Column(db.Integer, db.ForeignKey('gene_description.id')) gene_description = db.relationship('GeneDescription', backref = 'genomic_accessions')
class InferredSequence(db.Model, InferredSequenceMixin): id = db.Column(db.Integer, primary_key=True) sequence_id = db.Column(db.Integer, db.ForeignKey('genotype.id')) sequence_details = db.relationship('Genotype', backref = 'inferred_sequences') submission_id = db.Column(db.Integer, db.ForeignKey('submission.id')) submission = db.relationship('Submission', backref = 'inferred_sequences') genotype_id = db.Column(db.Integer, db.ForeignKey('genotype_description.id')) genotype_description = db.relationship('GenotypeDescription', backref = 'inferred_sequences') seq_accession_no = db.Column(db.String(1000)) seq_record_title = db.Column(db.String(1000)) ncbi_hash = db.Column(db.String(1000)) deposited_version = db.Column(db.String(1000)) run_ids = db.Column(db.String(1000)) inferred_extension = db.Column(db.Boolean) ext_3prime = db.Column(db.Text()) start_3prime_ext = db.Column(db.Integer) end_3prime_ext = db.Column(db.Integer) ext_5prime = db.Column(db.Text()) start_5prime_ext = db.Column(db.Integer) end_5prime_ext = db.Column(db.Integer)
class Genotype(db.Model, GenotypeMixin): id = db.Column(db.Integer, primary_key=True) sequence_id = db.Column(db.String(1000)) sequences = db.Column(db.Integer) closest_reference = db.Column(db.String(1000)) closest_host = db.Column(db.String(1000)) nt_diff = db.Column(db.Integer) nt_diff_host = db.Column(db.Integer) nt_substitutions = db.Column(db.String(1000)) aa_diff = db.Column(db.Integer) aa_substitutions = db.Column(db.String(1000)) unmutated_sequences = db.Column(db.Integer) assigned_unmutated_frequency = db.Column(db.Numeric(precision=(12, 2))) unmutated_umis = db.Column(db.Integer) allelic_percentage = db.Column(db.Numeric(precision=(12, 2))) unmutated_frequency = db.Column(db.Numeric(precision=(12, 2))) unique_vs = db.Column(db.Integer) unique_ds = db.Column(db.Integer) unique_js = db.Column(db.Integer) unique_cdr3s = db.Column(db.Integer) unique_vs_unmutated = db.Column(db.Integer) unique_ds_unmutated = db.Column(db.Integer) unique_js_unmutated = db.Column(db.Integer) unique_cdr3s_unmutated = db.Column(db.Integer) haplotyping_gene = db.Column(db.String(1000)) haplotyping_ratio = db.Column(db.String(1000)) nt_sequence = db.Column(db.Text()) nt_sequence_gapped = db.Column(db.Text()) description_id = db.Column(db.Integer, db.ForeignKey('genotype_description.id')) genotype_description = db.relationship('GenotypeDescription', backref='genotypes')