X-Git-Url: http://woldlab.caltech.edu/gitweb/?a=blobdiff_plain;f=gaworkflow%2Ffrontend%2Fexp_track%2Fmodels.py;fp=gaworkflow%2Ffrontend%2Fexp_track%2Fmodels.py;h=baf40c16072ff752ab91632d1e786892d53fb0c0;hb=65388a9ec820279acbbce458e73ef56e581e730d;hp=82aa0373911cd9cf1d506913b1a4423a5efce8b8;hpb=c117efac050e4e49ae3f744009c99442bb8951f2;p=htsworkflow.git diff --git a/gaworkflow/frontend/exp_track/models.py b/gaworkflow/frontend/exp_track/models.py index 82aa037..baf40c1 100644 --- a/gaworkflow/frontend/exp_track/models.py +++ b/gaworkflow/frontend/exp_track/models.py @@ -1,92 +1,134 @@ from django.db import models -from datetime import datetime -from gaworkflow.frontend.fctracker.models import Library +from gaworkflow.frontend.fctracker.models import Library -class Task(models.Model): - task_name = models.CharField(max_length=50,unique=True, db_index=True) - subject1 = models.ForeignKey(Library,related_name='sbj1_library',verbose_name="Subject") - subject2 = models.ForeignKey(Library,related_name='sbj2_library',verbose_name="Subject 2 / Control",blank=True,null=True) - CALCS = ( - ('QuEST', 'QuEST Peak Calling'), - ('WingPeaks', 'Wing Peak Calling'), - ('qPCR', 'In Silico qPCR'), - ('CompareLibs', 'Compare Libaraies'), - ('ComparePeakCalls','Compare Peak Calls'), - ('ProfileReads','Profile Reads') +class FlowCell(models.Model): + + flowcell_id = models.CharField(max_length=20, unique=True, db_index=True, core=True) + run_date = models.DateTimeField(core=True) + advanced_run = models.BooleanField(default=False) + read_length = models.IntegerField(default=32) #Stanford is currenlty 25 + + lane_1_library = models.ForeignKey(Library, related_name="lane_1_library") + lane_2_library = models.ForeignKey(Library, related_name="lane_2_library") + lane_3_library = models.ForeignKey(Library, related_name="lane_3_library") + lane_4_library = models.ForeignKey(Library, related_name="lane_4_library") + lane_5_library = models.ForeignKey(Library, related_name="lane_5_library") + lane_6_library = models.ForeignKey(Library, related_name="lane_6_library") + lane_7_library = models.ForeignKey(Library, related_name="lane_7_library") + lane_8_library = models.ForeignKey(Library, related_name="lane_8_library") + + lane_1_pM = models.DecimalField(max_digits=5, decimal_places=2,blank=False, null=False,default=2.5) + lane_2_pM = models.DecimalField(max_digits=5, decimal_places=2,blank=False, null=False,default=2.5) + lane_3_pM = models.DecimalField(max_digits=5, decimal_places=2,blank=False, null=False,default=2.5) + lane_4_pM = models.DecimalField(max_digits=5, decimal_places=2,blank=False, null=False,default=2.5) + lane_5_pM = models.DecimalField(max_digits=5, decimal_places=2,blank=False, null=False,default=2.5) + lane_6_pM = models.DecimalField(max_digits=5, decimal_places=2,blank=False, null=False,default=2.5) + lane_7_pM = models.DecimalField(max_digits=5, decimal_places=2,blank=False, null=False,default=2.5) + lane_8_pM = models.DecimalField(max_digits=5, decimal_places=2,blank=False, null=False,default=2.5) + + lane_1_cluster_estimate = models.IntegerField(blank=True, null=True) + lane_2_cluster_estimate = models.IntegerField(blank=True, null=True) + lane_3_cluster_estimate = models.IntegerField(blank=True, null=True) + lane_4_cluster_estimate = models.IntegerField(blank=True, null=True) + lane_5_cluster_estimate = models.IntegerField(blank=True, null=True) + lane_6_cluster_estimate = models.IntegerField(blank=True, null=True) + lane_7_cluster_estimate = models.IntegerField(blank=True, null=True) + lane_8_cluster_estimate = models.IntegerField(blank=True, null=True) + + # lane_1_primer = models.ForeignKey(Primer,blank=True,null=True,related_name="lane_1_primer") + # lane_2_primer = models.ForeignKey(Primer,blank=True,null=True,related_name="lane_2_primer") + # lane_3_primer = models.ForeignKey(Primer,blank=True,null=True,related_name="lane_3_primer") + # lane_4_primer = models.ForeignKey(Primer,blank=True,null=True,related_name="lane_4_primer") + # lane_5_primer = models.ForeignKey(Primer,blank=True,null=True,related_name="lane_5_primer") + # lane_6_primer = models.ForeignKey(Primer,blank=True,null=True,related_name="lane_6_primer") + # lane_7_primer = models.ForeignKey(Primer,blank=True,null=True,related_name="lane_7_primer") + # lane_8_primer = models.ForeignKey(Primer,blank=True,null=True,related_name="lane_8_primer") + + #Machine Names + CLUSTER_MAC = ( + ('M304','M304'), + ('R349','R349'), + ('Tinkerbell','Tinkerbell'), + ('BitBit','BitBit'), + ) + + SEQ_MAC = ( + ('EAS149','EAS149'), + ('EAS46','EAS46'), + ('EAS45','Paris'), + ('Britney','Britney'), ) - apply_calc = models.CharField(max_length=50,choices=CALCS,verbose_name='Applied Calculation') - ## userid = # logged in user - task_status = models.CharField(max_length=500,blank=True,null=True,default='defined') - results_location = models.CharField(max_length=2000,blank=True,null=True) - submitted_on = models.DateTimeField(core=True,default=datetime.now()) - run_note = models.CharField(max_length=500,blank=True,null=True) + cluster_mac_id = models.CharField(max_length=50, choices=CLUSTER_MAC, default='BitBit') + seq_mac_id = models.CharField(max_length=50, choices=SEQ_MAC, verbose_name = 'Sequencer', default='Britney') + + notes = models.TextField(blank=True) + def __str__(self): - return '"%s" - %s on [%s]/[%s]' % (self.task_name,self.apply_calc,self.subject1,self.subject2) + #return '%s (%s)' % (self.flowcell_id, self.run_date) + return '%s' % (self.flowcell_id) - def InProjects(self): - return '...' - ps = self.project_set.all() - pstr = 'In ' - return pstr - for p in ps: - pstr += '%s, ' % (p.project_name) - return pstr + def Lanes(self): + return '
Task | Job Status | ' - for t in ptasks: - tstr += '
---|---|
%s | %s |