from gaworkflow.frontend import settings
class Antibody(models.Model):
-
- antibody_name = models.CharField(max_length=100, unique=True, db_index=True, core=True)
+ antigene = models.CharField(max_length=500, db_index=True)
+ catalog = models.CharField(max_length=50, unique=True, db_index=True)
+ antibodies = models.CharField(max_length=500, db_index=True)
+ source = models.CharField(max_length=500, blank=True, db_index=True)
+ biology = models.TextField(blank=True)
notes = models.TextField(blank=True)
def __str__(self):
- return self.antibody_name
+ return '%s - %s (%s)' % (self.antigene, self.antibodies, self.catalog)
class Meta:
verbose_name_plural = "antibodies"
- ordering = ["antibody_name"]
+ ordering = ["antigene"]
class Admin:
+ list_display = ('antigene','antibodies','catalog','source','biology','notes')
+ list_filter = ('antibodies','source')
fields = (
(None, {
- 'fields': (('antibody_name','notes'),)
+ 'fields': (('antigene','antibodies'),('catalog','source'),('biology'),('notes'))
}),
)
class Cellline(models.Model):
-
- cellline_name = models.CharField(max_length=100, unique=True, db_index=True, core=True)
+ cellline_name = models.CharField(max_length=100, unique=True, db_index=True)
notes = models.TextField(blank=True)
def __str__(self):
- return self.cellline_name
+ return '%s' % (self.cellline_name)
class Meta:
ordering = ["cellline_name"]
class Admin:
fields = (
(None, {
- 'fields': (('cellline_name','notes'),)
+ 'fields': (('cellline_name'),('notes'),)
}),
)
class Condition(models.Model):
-
- condition_name = models.CharField(max_length=2000, unique=True, db_index=True, core=True)
+ condition_name = models.CharField(max_length=2000, unique=True, db_index=True)
notes = models.TextField(blank=True)
def __str__(self):
- return self.condition_name
+ return '%s' % (self.condition_name)
class Meta:
ordering = ["condition_name"]
class Admin:
fields = (
(None, {
- 'fields': (('condition_name','notes'),)
+ 'fields': (('condition_name'),('notes'),)
}),
)
class Species(models.Model):
-
scientific_name = models.CharField(max_length=256, unique=False, db_index=True, core=True)
common_name = models.CharField(max_length=256, blank=True)
use_genome_build = models.CharField(max_length=100, blank=True) #blank=False, null=False)
)
class Library(models.Model):
-
library_id = models.CharField(max_length=30, unique=True, db_index=True, core=True)
library_name = models.CharField(max_length=100, unique=True, core=True)
library_species = models.ForeignKey(Species, core=True)
- #use_genome_build = models.CharField(max_length=100, blank=False, null=False)
- #RNAseq = models.BooleanField()
- cell_line = models.ForeignKey(Cellline, blank=True, core=True)
- condition = models.ForeignKey(Condition,blank=True,core=True)
- antibody = models.ForeignKey(Antibody,blank=True,core=True)
+ cell_line = models.ForeignKey(Cellline,core=True)
+ condition = models.ForeignKey(Condition,core=True)
+ antibody = models.ForeignKey(Antibody,blank=True,null=True,core=True)
EXPERIMENT_TYPES = (
('INPUT_RXLCh','INPUT_RXLCh'),
notes = models.TextField(blank=True)
def __str__(self):
- return '#%s: %s' % (self.library_id, self.library_name)
+ return '%s: %s' % (self.library_id, self.library_name)
class Meta:
verbose_name_plural = "libraries"
list_filter = ('stopping_point', 'ten_nM_dilution', 'library_species', 'made_for', 'made_by')
fields = (
(None, {
- 'fields': (('library_id', 'library_name'), ('library_species'),)
+ 'fields': (('library_id', 'library_name'),('library_species'),('experiment_type'),('cell_line','condition','antibody'),)
}),
('Creation Information:', {
'fields' : (('made_for', 'made_by', 'creation_date'), ('stopping_point', 'amplified_from_sample'), ('avg_lib_size','undiluted_concentration', 'ten_nM_dilution', 'successful_pM'), 'notes',)
('Britney','Britney'),
)
- #kit_id = models.CharField(max_length=50, blank=True)
cluster_mac_id = models.CharField(max_length=50, choices=CLUSTER_MAC, default='M304')
- seq_mac_id = models.CharField(max_length=50, choices=SEQ_MAC, default='EAS149')
+ seq_mac_id = models.CharField(max_length=50, choices=SEQ_MAC, verbose_name = 'Sequencer', default='EAS149')
notes = models.TextField(blank=True)
def __str__(self):
#return '%s (%s)' % (self.flowcell_id, self.run_date)
return '%s' % (self.flowcell_id)
+
+
+ def Lanes(self):
+ return '<div><span style="margin-right:10px">1)%s</span><span style="margin-right:10px">2)%s</span><span style="margin-right:10px">3)%s</span><span style="margin-right:10px">4)%s</span><span style="margin-right:10px">5)%s</span><span style="margin-right:10px">6)%s</span><span style="margin-right:10px">7)%s</span><span style="margin-right:10px">8)%s</span></div>' % (self.lane_1_library,self.lane_2_library,self.lane_3_library,self.lane_4_library,self.lane_5_library,self.lane_6_library,self.lane_7_library,self.lane_8_library)
+ Lanes.allow_tags = True
class Meta:
- ordering = ["run_date"]
+ ordering = ["-run_date"]
class Admin:
save_on_top = True
date_hierarchy = "run_date"
save_on_top = True
search_fields = ['lane_1_library', 'lane_2_library', 'lane_3_library', 'lane_4_library', 'lane_5_library', 'lane_6_library', 'lane_7_library', 'lane_8_library']
- list_display = ('flowcell_id', 'run_date', 'lane_1_library', 'lane_2_library', 'lane_3_library', 'lane_4_library', 'lane_5_library', 'lane_6_library', 'lane_7_library', 'lane_8_library')
+ list_display = ('flowcell_id','seq_mac_id','run_date', 'Lanes')
+ list_filter = ('seq_mac_id',)
fields = (
(None, {
'fields': ('run_date', ('flowcell_id','cluster_mac_id','seq_mac_id'), ('read_length'),)