add migration file for datafile schema changes
[htsworkflow.git] / htsworkflow / frontend / experiments / migrations / 0004_auto__add_field_datafile_flowcell__add_field_datafile_lane_number.py
1 # -*- coding: utf-8 -*-
2 from south.utils import datetime_utils as datetime
3 from south.db import db
4 from south.v2 import SchemaMigration
5 from django.db import models
6
7
8 class Migration(SchemaMigration):
9
10     def forwards(self, orm):
11         # Adding model 'RawResult'
12         db.create_table(u'experiments_rawresult', (
13             (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
14             ('datafile', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['experiments.DataFile'])),
15             ('reads', self.gf('django.db.models.fields.IntegerField')(default=0)),
16             ('read_length', self.gf('django.db.models.fields.IntegerField')(default=0)),
17             ('pass_qc', self.gf('django.db.models.fields.IntegerField')(default=0)),
18             ('average_score', self.gf('django.db.models.fields.TextField')(default='')),
19         ))
20         db.send_create_signal(u'experiments', ['RawResult'])
21
22         # Adding field 'DataFile.flowcell'
23         db.add_column(u'experiments_datafile', 'flowcell',
24                       self.gf('django.db.models.fields.related.ForeignKey')(to=orm['experiments.FlowCell'], null=True, blank=True),
25                       keep_default=False)
26
27         # Adding field 'DataFile.lane'
28         db.add_column(u'experiments_datafile', 'lane',
29                       self.gf('django.db.models.fields.IntegerField')(null=True, blank=True),
30                       keep_default=False)
31
32
33     def backwards(self, orm):
34         # Deleting model 'RawResult'
35         db.delete_table(u'experiments_rawresult')
36
37         # Deleting field 'DataFile.flowcell'
38         db.delete_column(u'experiments_datafile', 'flowcell_id')
39
40         # Deleting field 'DataFile.lane'
41         db.delete_column(u'experiments_datafile', 'lane')
42
43
44     models = {
45         u'auth.group': {
46             'Meta': {'object_name': 'Group'},
47             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
48             'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
49             'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
50         },
51         u'auth.permission': {
52             'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'},
53             'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
54             'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}),
55             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
56             'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
57         },
58         u'auth.user': {
59             'Meta': {'object_name': 'User'},
60             'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
61             'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
62             'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
63             'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}),
64             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
65             'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
66             'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
67             'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
68             'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
69             'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
70             'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
71             'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}),
72             'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
73         },
74         u'contenttypes.contenttype': {
75             'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
76             'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
77             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
78             'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
79             'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
80         },
81         u'experiments.clusterstation': {
82             'Meta': {'ordering': "['-isdefault', 'name']", 'object_name': 'ClusterStation'},
83             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
84             'isdefault': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
85             'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '50'})
86         },
87         u'experiments.datafile': {
88             'Meta': {'object_name': 'DataFile'},
89             'data_run': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['experiments.DataRun']"}),
90             'file_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['experiments.FileType']"}),
91             'flowcell': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['experiments.FlowCell']", 'null': 'True', 'blank': 'True'}),
92             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
93             'lane': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
94             'library': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['samples.Library']", 'null': 'True', 'blank': 'True'}),
95             'random_key': ('django.db.models.fields.CharField', [], {'default': "'2ac2c64c-95cb-11e3-b746-f0def16fbea3'", 'max_length': '64', 'db_index': 'True'}),
96             'relative_pathname': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'})
97         },
98         u'experiments.datarun': {
99             'Meta': {'object_name': 'DataRun'},
100             'alignment_software': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
101             'alignment_version': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
102             'basecall_software': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
103             'basecall_version': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
104             'comment': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
105             'cycle_start': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
106             'cycle_stop': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
107             'flowcell': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['experiments.FlowCell']"}),
108             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
109             'image_software': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
110             'image_version': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
111             'last_update_time': ('django.db.models.fields.DateTimeField', [], {}),
112             'result_dir': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
113             'run_start_time': ('django.db.models.fields.DateTimeField', [], {}),
114             'run_status': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
115             'runfolder_name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
116         },
117         u'experiments.filetype': {
118             'Meta': {'object_name': 'FileType'},
119             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
120             'mimetype': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}),
121             'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
122             'regex': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'})
123         },
124         u'experiments.flowcell': {
125             'Meta': {'ordering': "['-run_date']", 'object_name': 'FlowCell'},
126             'advanced_run': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
127             'cluster_station': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['experiments.ClusterStation']"}),
128             'control_lane': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
129             'flowcell_id': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '20', 'db_index': 'True'}),
130             'flowcell_model': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': u"orm['experiments.FlowCellModel']"}),
131             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
132             'notes': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
133             'paired_end': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
134             'read_length': ('django.db.models.fields.IntegerField', [], {'default': '32'}),
135             'run_date': ('django.db.models.fields.DateTimeField', [], {}),
136             'sequencer': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['experiments.Sequencer']"})
137         },
138         u'experiments.flowcellmodel': {
139             'Meta': {'object_name': 'FlowCellModel'},
140             'fixed_time': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
141             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
142             'isdefault': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
143             'name': ('django.db.models.fields.TextField', [], {}),
144             'per_cycle_time': ('django.db.models.fields.IntegerField', [], {'default': '0'})
145         },
146         u'experiments.lane': {
147             'Meta': {'object_name': 'Lane'},
148             'cluster_estimate': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
149             'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
150             'flowcell': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['experiments.FlowCell']"}),
151             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
152             'lane_number': ('django.db.models.fields.IntegerField', [], {}),
153             'library': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['samples.Library']"}),
154             'pM': ('django.db.models.fields.DecimalField', [], {'default': '5', 'max_digits': '5', 'decimal_places': '2'}),
155             'status': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
156         },
157         u'experiments.rawresult': {
158             'Meta': {'object_name': 'RawResult'},
159             'average_score': ('django.db.models.fields.TextField', [], {'default': "''"}),
160             'datafile': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['experiments.DataFile']"}),
161             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
162             'pass_qc': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
163             'read_length': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
164             'reads': ('django.db.models.fields.IntegerField', [], {'default': '0'})
165         },
166         u'experiments.sequencer': {
167             'Meta': {'ordering': "['-isdefault', '-active', 'name']", 'object_name': 'Sequencer'},
168             'active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
169             'comment': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
170             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
171             'instrument_name': ('django.db.models.fields.CharField', [], {'max_length': '50', 'db_index': 'True'}),
172             'isdefault': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
173             'model': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
174             'name': ('django.db.models.fields.CharField', [], {'max_length': '50', 'db_index': 'True'}),
175             'serial_number': ('django.db.models.fields.CharField', [], {'max_length': '50', 'db_index': 'True'})
176         },
177         u'samples.affiliation': {
178             'Meta': {'ordering': "['name', 'contact']", 'unique_together': "(('name', 'contact'),)", 'object_name': 'Affiliation'},
179             'contact': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}),
180             'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}),
181             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
182             'name': ('django.db.models.fields.CharField', [], {'max_length': '256', 'db_index': 'True'}),
183             'users': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': u"orm['samples.HTSUser']", 'null': 'True', 'blank': 'True'})
184         },
185         u'samples.antibody': {
186             'Meta': {'ordering': "['antigene']", 'object_name': 'Antibody'},
187             'antibodies': ('django.db.models.fields.CharField', [], {'max_length': '500', 'db_index': 'True'}),
188             'antigene': ('django.db.models.fields.CharField', [], {'max_length': '500', 'db_index': 'True'}),
189             'biology': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
190             'catalog': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}),
191             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
192             'nickname': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '20', 'null': 'True', 'blank': 'True'}),
193             'notes': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
194             'source': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '500', 'null': 'True', 'blank': 'True'})
195         },
196         u'samples.cellline': {
197             'Meta': {'ordering': "['cellline_name']", 'object_name': 'Cellline'},
198             'cellline_name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100', 'db_index': 'True'}),
199             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
200             'nickname': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '20', 'null': 'True', 'blank': 'True'}),
201             'notes': ('django.db.models.fields.TextField', [], {'blank': 'True'})
202         },
203         u'samples.condition': {
204             'Meta': {'ordering': "['condition_name']", 'object_name': 'Condition'},
205             'condition_name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '2000', 'db_index': 'True'}),
206             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
207             'nickname': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '20', 'null': 'True', 'blank': 'True'}),
208             'notes': ('django.db.models.fields.TextField', [], {'blank': 'True'})
209         },
210         u'samples.experimenttype': {
211             'Meta': {'object_name': 'ExperimentType'},
212             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
213             'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '50'})
214         },
215         u'samples.htsuser': {
216             'Meta': {'ordering': "['first_name', 'last_name', 'username']", 'object_name': 'HTSUser', '_ormbases': [u'auth.User']},
217             u'user_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': u"orm['auth.User']", 'unique': 'True', 'primary_key': 'True'})
218         },
219         u'samples.library': {
220             'Meta': {'ordering': "['-id']", 'object_name': 'Library'},
221             'account_number': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
222             'affiliations': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "'library_affiliations'", 'null': 'True', 'to': u"orm['samples.Affiliation']"}),
223             'amplified_from_sample': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'amplified_into_sample'", 'null': 'True', 'to': u"orm['samples.Library']"}),
224             'antibody': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['samples.Antibody']", 'null': 'True', 'blank': 'True'}),
225             'bioanalyzer_concentration': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '5', 'decimal_places': '2', 'blank': 'True'}),
226             'bioanalyzer_image_url': ('django.db.models.fields.URLField', [], {'default': "''", 'max_length': '200', 'blank': 'True'}),
227             'bioanalyzer_summary': ('django.db.models.fields.TextField', [], {'default': "''", 'blank': 'True'}),
228             'cell_line': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['samples.Cellline']", 'null': 'True', 'blank': 'True'}),
229             'condition': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['samples.Condition']", 'null': 'True', 'blank': 'True'}),
230             'creation_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
231             'experiment_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['samples.ExperimentType']"}),
232             'gel_cut_size': ('django.db.models.fields.IntegerField', [], {'default': '225', 'null': 'True', 'blank': 'True'}),
233             'hidden': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
234             'id': ('django.db.models.fields.CharField', [], {'max_length': '10', 'primary_key': 'True'}),
235             'insert_size': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
236             'library_name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}),
237             'library_species': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['samples.Species']"}),
238             'library_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['samples.LibraryType']", 'null': 'True', 'blank': 'True'}),
239             'made_by': ('django.db.models.fields.CharField', [], {'default': "'Lorian'", 'max_length': '50', 'blank': 'True'}),
240             'made_for': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}),
241             'multiplex_id': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}),
242             'notes': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
243             'replicate': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True', 'blank': 'True'}),
244             'stopping_point': ('django.db.models.fields.CharField', [], {'default': "'Done'", 'max_length': '25'}),
245             'successful_pM': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '9', 'decimal_places': '1', 'blank': 'True'}),
246             'tags': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'library_tags'", 'null': 'True', 'symmetrical': 'False', 'to': u"orm['samples.Tag']"}),
247             'ten_nM_dilution': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
248             'undiluted_concentration': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '5', 'decimal_places': '2', 'blank': 'True'})
249         },
250         u'samples.librarytype': {
251             'Meta': {'ordering': "['-id']", 'object_name': 'LibraryType'},
252             'can_multiplex': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
253             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
254             'is_paired_end': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
255             'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'})
256         },
257         u'samples.species': {
258             'Meta': {'ordering': "['scientific_name']", 'object_name': 'Species'},
259             'common_name': ('django.db.models.fields.CharField', [], {'max_length': '256', 'blank': 'True'}),
260             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
261             'scientific_name': ('django.db.models.fields.CharField', [], {'max_length': '256', 'db_index': 'True'})
262         },
263         u'samples.tag': {
264             'Meta': {'ordering': "['context', 'tag_name']", 'object_name': 'Tag'},
265             'context': ('django.db.models.fields.CharField', [], {'default': "'Library'", 'max_length': '50'}),
266             u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
267             'tag_name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'db_index': 'True'})
268         }
269     }
270
271     complete_apps = ['experiments']