Add LibraryType option, (this will probably require a dump/reload)
authorDiane Trout <diane@caltech.edu>
Wed, 1 Jul 2009 00:35:07 +0000 (00:35 +0000)
committerDiane Trout <diane@caltech.edu>
Wed, 1 Jul 2009 00:35:07 +0000 (00:35 +0000)
And you'll probably need to do it before updating to this version of the
database

htsworkflow/frontend/samples/admin.py
htsworkflow/frontend/samples/fixtures/initial_data.json [new file with mode: 0644]
htsworkflow/frontend/samples/models.py

index 643413fb8b2d9a2fbb494353b564d6bcf7b6c341..ee6a9e2f3c152b73ee893abd8e2a19f691c2c33f 100644 (file)
@@ -3,7 +3,7 @@ from django.contrib.admin import widgets
 from django.db import models
 from django.utils.translation import ugettext_lazy as _
 
-from htsworkflow.frontend.samples.models import Antibody, Cellline, Condition, ExperimentType, Species, Affiliation, Library, Tag
+from htsworkflow.frontend.samples.models import Antibody, Cellline, Condition, ExperimentType, LibraryType, Species, Affiliation, Library, Tag
 
 class Library_Inline(admin.TabularInline):
   model = Library
@@ -22,6 +22,9 @@ class ExperimentTypeOptions(admin.ModelAdmin):
   #list_display = ('name',)
   #fieldsets = ( (None, { 'fields': ('name',) }), )
 
+class LibraryTypeOptions(admin.ModelAdmin):
+    model = LibraryType
+
 class LibraryOptions(admin.ModelAdmin):
     date_hierarchy = "creation_date"
     save_as = True
@@ -71,7 +74,7 @@ class LibraryOptions(admin.ModelAdmin):
         'fields': (
           ('library_id','library_name','hidden'),
           ('library_species'),
-          ('experiment_type', 'replicate'),
+          ('library_type', 'experiment_type', 'replicate'),
           ('cell_line','condition','antibody'),)
          }),
          ('Creation Information:', {
@@ -143,6 +146,7 @@ admin.site.register(Antibody, AntibodyOptions)
 admin.site.register(Cellline, CelllineOptions)
 admin.site.register(Condition, ConditionOptions)
 admin.site.register(ExperimentType, ExperimentTypeOptions)
+admin.site.register(LibraryType, LibraryTypeOptions)
 admin.site.register(Library, LibraryOptions)
 admin.site.register(Species, SpeciesOptions)
 admin.site.register(Tag, TagOptions)
diff --git a/htsworkflow/frontend/samples/fixtures/initial_data.json b/htsworkflow/frontend/samples/fixtures/initial_data.json
new file mode 100644 (file)
index 0000000..7094141
--- /dev/null
@@ -0,0 +1,16 @@
+[
+  {
+     "model": "samples.LibraryType",
+     "pk": 1,
+     "fields": {
+        "name": "Single End"
+     }
+  },
+  {
+     "model": "samples.LibraryType",
+     "pk": 2,
+     "fields": {
+        "name": "Paired End"
+     }
+  }
+]
index 7f90f2521010c92434084f7afd60e4d055eb466b..5b8f6a7da74d9e4631e064ee9f0f093aebb5b2f7 100644 (file)
@@ -113,6 +113,12 @@ class Affiliation(models.Model):
     ordering = ["name","contact"]
     unique_together = (("name", "contact"),)
 
+class LibraryType(models.Model):
+  name = models.CharField(max_length=255, unique=True)
+
+  def __unicode__(self):
+    return unicode(self.name)
+
 class Library(models.Model):
   id = models.AutoField(primary_key=True)
   library_id = models.CharField(max_length=30, db_index=True, unique=True)
@@ -120,7 +126,7 @@ class Library(models.Model):
   library_species = models.ForeignKey(Species)
   # new field 2008 Mar 5, alter table samples_library add column "hidden" NOT NULL default 0;
   hidden = models.BooleanField()
-  cell_line = models.ForeignKey(Cellline, blank=True, null=True)
+  cell_line = models.ForeignKey(Cellline, blank=True, null=True, verbose_name="Background")
   condition = models.ForeignKey(Condition, blank=True, null=True)
   antibody = models.ForeignKey(Antibody,blank=True,null=True)
   # New field Aug/25/08. SQL: alter table fctracker_library add column "lib_affiliation" varchar(256)  NULL;
@@ -132,6 +138,7 @@ class Library(models.Model):
   REPLICATE_NUM = ((1,1),(2,2),(3,3),(4,4))
   replicate =  models.PositiveSmallIntegerField(choices=REPLICATE_NUM,default=1) 
   experiment_type = models.ForeignKey(ExperimentType)
+  library_type = models.ForeignKey(LibraryType, null=True)
   creation_date = models.DateField(blank=True, null=True)
   made_for = models.CharField(max_length=50, blank=True, 
       verbose_name='ChIP/DNA/RNA Made By')