Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Small django app to model genes

Project Description

# phizz-genes #

A small django app to represent genes, transcripts, omim phenotypes, aliases etc

## Instructions ##

- Add phizz-genes to your INSTALLED_APPS settings like:


- Run `python migrate` to create the models

## Models ##

class Gene(models.Model):

#The ensembl gene id, ex. 'ENSG00000156110'
#can be use with link like:
ensembl_id = models.CharField(max_length=20)

chrom = models.CharField(max_length=30)
start = models.IntegerField()
stop = models.IntegerField()

#The hgnc symbol, ex. 'ADK
hgnc_symbol = models.CharField(max_length=20, blank=True)

description = models.CharField(max_length=200, null=True)
#The hgnc id, ex. '257' for using link like:
hgnc_id = models.IntegerField(null=True)

#entrez id, ex. 132, for using link like:
entrez_id = models.IntegerField(null=True)

#vega id, ex. OTTHUMG00000018506, for using link like:
vega_id = models.CharField(max_length=20, null=True)

#ucsc id, ex. uc001jwi.4, for using link like:
ucsc_id = models.CharField(max_length=20, null=True)

#pli_score is the estimated sensibility to lof mutations estimated by ExAC
pli_score = models.DecimalField(max_digits=6, decimal_places=5, null=True)

def __str__(self):
return self.hgnc_symbol

#One gene can have several transcripts, one transcript are attached to one gene
class Transcript(models.Model):
gene = models.ForeignKey(Gene, on_delete=models.CASCADE)
refseq_name = models.CharField(max_length=30, null=True)
ensembl_transcript_id = models.CharField(max_length=30)

def __str__(self):
return self.refseq_name

#One phenotype can have several transcripts, one transcript are attached to one gene
class Omim(models.Model):
gene = models.ForeignKey(Gene, on_delete=models.CASCADE)
omim_id = models.IntegerField()

class Alias(models.Model):
gene = models.ForeignKey(Gene, on_delete=models.CASCADE)
alias = models.CharField(max_length=20)

class UniProt(models.Model):
gene = models.ForeignKey(Gene, on_delete=models.CASCADE)
uniprot_id = models.CharField(max_length=20)

Release History

This version
History Node


Supported By

Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Google Google Cloud Servers DreamHost DreamHost Log Hosting