71b4944235f6b1bd285e5f5ab01b34430808c96b
[htsworkflow.git] / elandifier / fctracker / models.py
1 from django.db import models
2 from elandifier import settings
3
4 # Create your models here.
5
6
7 class Specie(models.Model):
8   
9   class Admin: pass
10   
11   scientific_name = models.CharField(maxlength=256, unique=True, db_index=True)
12
13
14   def __str__(self):
15     return self.scientific_name
16
17 #class BedFilePack(models.Model):
18
19
20
21 class FlowCell(models.Model):
22   
23   class Admin: pass
24   
25   flowcell_id = models.CharField(maxlength=20, unique=True, db_index=True)
26   
27   run_date = models.DateTimeField()
28   
29   lane1_sample = models.CharField(maxlength=500)
30   lane1_species = models.ForeignKey(Specie, related_name="lane1_species")
31   lane2_sample = models.CharField(maxlength=500)
32   lane2_species = models.ForeignKey(Specie, related_name="lane2_species")
33   lane3_sample = models.CharField(maxlength=500)
34   lane3_species = models.ForeignKey(Specie, related_name="lane3_species")
35   lane4_sample = models.CharField(maxlength=500)
36   lane4_species = models.ForeignKey(Specie, related_name="lane4_species")
37   
38   lane5_sample = models.CharField(maxlength=500)
39   lane5_species = models.ForeignKey(Specie, related_name="lane5_species")
40   lane6_sample = models.CharField(maxlength=500)
41   lane6_species = models.ForeignKey(Specie, related_name="lane6_species")
42   lane7_sample = models.CharField(maxlength=500)
43   lane7_species = models.ForeignKey(Specie, related_name="lane7_species")
44   lane8_sample = models.CharField(maxlength=500)
45   lane8_species = models.ForeignKey(Specie, related_name="lane8_species")
46   
47   notes = models.TextField(blank=True)
48
49   def __str__(self):
50     return self.flowcell_id
51
52
53 class ElandResult(models.Model):
54   
55   class Admin: pass
56   
57   flow_cell = models.ForeignKey(FlowCell)
58   config_file = models.FileField(upload_to=settings.UPLOADTO_CONFIG_FILE)
59   eland_result_pack = models.FileField(upload_to=settings.UPLOADTO_ELAND_RESULT_PACKS)
60   bed_file_pack = models.FileField(upload_to=settings.UPLOADTO_BED_PACKS)
61   
62   notes = models.TextField(blank=True)