Skip to main content

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:

```python
INSTALLED_APPS = [
...
'genes',
]
```

- Run `python manage.py migrate` to create the models


## Models ##

```python
class Gene(models.Model):

#The ensembl gene id, ex. 'ENSG00000156110'
#can be use with link like:
#ensembl.org/Homo_sapiens/Gene/Summary?g=ENSG00000156110
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:
#genenames.org/cgi-bin/gene_symbol_report?hgnc_id=HGNC:257
hgnc_id = models.IntegerField(null=True)

#entrez id, ex. 132, for using link like:
#ncbi.nlm.nih.gov/gene/132
entrez_id = models.IntegerField(null=True)

#vega id, ex. OTTHUMG00000018506, for using link like:
#http://vega.sanger.ac.uk/Homo_sapiens/Gene/Summary?db=core;g=OTTHUMG00000018506
vega_id = models.CharField(max_length=20, null=True)

#ucsc id, ex. uc001jwi.4, for using link like:
#http://genome.cse.ucsc.edu/cgi-bin/hgGene?org=Human&hgg_chrom=none&hgg_type=knownGene&hgg_gene=uc001jwi.4
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)
```

Project details


Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page