1 from django.db import models
2 from elandifier import settings
4 # Create your models here.
7 class Specie(models.Model):
11 scientific_name = models.CharField(maxlength=256, unique=True, db_index=True)
15 return self.scientific_name
17 #class BedFilePack(models.Model):
19 class Library(models.Model):
22 library_id = models.IntegerField(unique=True, db_index=True)
23 library_name = models.CharField(maxlength=100, unique=True)
24 library_species = models.ForeignKey(Specie)
26 made_from_sample = models.ForeignKey('self', blank=True)
28 made_by = models.CharField(maxlength=50, blank=True)
29 creation_date = models.DateField(blank=True, null=True)
30 notes = models.TextField(blank=True)
33 return self.library_name
36 class FlowCell(models.Model):
40 flowcell_id = models.CharField(maxlength=20, unique=True, db_index=True)
42 run_date = models.DateTimeField()
44 lane1_sample = models.CharField(maxlength=500)
45 lane1_species = models.ForeignKey(Specie, related_name="lane1_species")
46 lane2_sample = models.CharField(maxlength=500)
47 lane2_species = models.ForeignKey(Specie, related_name="lane2_species")
48 lane3_sample = models.CharField(maxlength=500)
49 lane3_species = models.ForeignKey(Specie, related_name="lane3_species")
50 lane4_sample = models.CharField(maxlength=500)
51 lane4_species = models.ForeignKey(Specie, related_name="lane4_species")
53 lane5_sample = models.CharField(maxlength=500)
54 lane5_species = models.ForeignKey(Specie, related_name="lane5_species")
55 lane6_sample = models.CharField(maxlength=500)
56 lane6_species = models.ForeignKey(Specie, related_name="lane6_species")
57 lane7_sample = models.CharField(maxlength=500)
58 lane7_species = models.ForeignKey(Specie, related_name="lane7_species")
59 lane8_sample = models.CharField(maxlength=500)
60 lane8_species = models.ForeignKey(Specie, related_name="lane8_species")
62 notes = models.TextField(blank=True)
65 return self.flowcell_id
68 class ElandResult(models.Model):
72 flow_cell = models.ForeignKey(FlowCell)
73 config_file = models.FileField(upload_to=settings.UPLOADTO_CONFIG_FILE)
74 eland_result_pack = models.FileField(upload_to=settings.UPLOADTO_ELAND_RESULT_PACKS)
75 bed_file_pack = models.FileField(upload_to=settings.UPLOADTO_BED_PACKS)
77 notes = models.TextField(blank=True)