13590de9dccee60eb631d5e38d74d8cb4a1e50e1
[htsworkflow.git] / experiments / migrations / 0001_initial.py
1 # -*- coding: utf-8 -*-
2 from __future__ import unicode_literals
3
4 from django.db import models, migrations
5 import experiments.models
6
7
8 class Migration(migrations.Migration):
9
10     dependencies = [
11         ('samples', '0001_initial'),
12     ]
13
14     operations = [
15         migrations.CreateModel(
16             name='ClusterStation',
17             fields=[
18                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
19                 ('name', models.CharField(unique=True, max_length=50)),
20                 ('isdefault', models.BooleanField(default=False)),
21             ],
22             options={
23                 'ordering': ['-isdefault', 'name'],
24             },
25             bases=(models.Model,),
26         ),
27         migrations.CreateModel(
28             name='DataFile',
29             fields=[
30                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
31                 ('random_key', models.CharField(default=experiments.models.str_uuid, max_length=64, db_index=True)),
32                 ('relative_pathname', models.CharField(max_length=255, db_index=True)),
33             ],
34             options={
35             },
36             bases=(models.Model,),
37         ),
38         migrations.CreateModel(
39             name='DataRun',
40             fields=[
41                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
42                 ('runfolder_name', models.CharField(max_length=50)),
43                 ('result_dir', models.CharField(max_length=255)),
44                 ('last_update_time', models.DateTimeField()),
45                 ('run_start_time', models.DateTimeField()),
46                 ('cycle_start', models.IntegerField(null=True, blank=True)),
47                 ('cycle_stop', models.IntegerField(null=True, blank=True)),
48                 ('run_status', models.IntegerField(blank=True, null=True, choices=[(0, b'Sequencer running'), (1, b'Data Pipeline Started'), (2, b'Data Pipeline Interrupted'), (3, b'Data Pipeline Finished'), (4, b'Collect Results Started'), (5, b'Collect Results Finished'), (6, b'QC Started'), (7, b'QC Finished'), (255, b'DONE')])),
49                 ('image_software', models.CharField(max_length=50)),
50                 ('image_version', models.CharField(max_length=50)),
51                 ('basecall_software', models.CharField(max_length=50)),
52                 ('basecall_version', models.CharField(max_length=50)),
53                 ('alignment_software', models.CharField(max_length=50)),
54                 ('alignment_version', models.CharField(max_length=50)),
55                 ('comment', models.TextField(blank=True)),
56             ],
57             options={
58             },
59             bases=(models.Model,),
60         ),
61         migrations.CreateModel(
62             name='FileType',
63             fields=[
64                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
65                 ('name', models.CharField(max_length=50)),
66                 ('mimetype', models.CharField(max_length=50, null=True, blank=True)),
67                 ('regex', models.TextField(null=True, blank=True)),
68             ],
69             options={
70             },
71             bases=(models.Model,),
72         ),
73         migrations.CreateModel(
74             name='FlowCell',
75             fields=[
76                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
77                 ('flowcell_id', models.CharField(unique=True, max_length=20, db_index=True)),
78                 ('run_date', models.DateTimeField()),
79                 ('advanced_run', models.BooleanField(default=False)),
80                 ('paired_end', models.BooleanField(default=False)),
81                 ('read_length', models.IntegerField(default=32)),
82                 ('control_lane', models.IntegerField(blank=True, null=True, choices=[(1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (0, b'All Lanes')])),
83                 ('notes', models.TextField(blank=True)),
84                 ('cluster_station', models.ForeignKey(default=experiments.models.cluster_station_default, to='experiments.ClusterStation')),
85             ],
86             options={
87                 'ordering': ['-run_date'],
88             },
89             bases=(models.Model,),
90         ),
91         migrations.CreateModel(
92             name='Lane',
93             fields=[
94                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
95                 ('lane_number', models.IntegerField()),
96                 ('pM', models.DecimalField(default=5, max_digits=5, decimal_places=2)),
97                 ('cluster_estimate', models.IntegerField(null=True, blank=True)),
98                 ('status', models.IntegerField(blank=True, null=True, choices=[(0, b'Failed'), (1, b'Marginal'), (2, b'Good')])),
99                 ('comment', models.TextField(null=True, blank=True)),
100                 ('flowcell', models.ForeignKey(to='experiments.FlowCell')),
101                 ('library', models.ForeignKey(to='samples.Library')),
102             ],
103             options={
104             },
105             bases=(models.Model,),
106         ),
107         migrations.CreateModel(
108             name='Sequencer',
109             fields=[
110                 ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
111                 ('name', models.CharField(max_length=50, db_index=True)),
112                 ('instrument_name', models.CharField(max_length=50, db_index=True)),
113                 ('serial_number', models.CharField(max_length=50, db_index=True)),
114                 ('model', models.CharField(max_length=255)),
115                 ('active', models.BooleanField(default=True)),
116                 ('isdefault', models.BooleanField(default=False)),
117                 ('comment', models.CharField(max_length=255)),
118             ],
119             options={
120                 'ordering': ['-isdefault', '-active', 'name'],
121             },
122             bases=(models.Model,),
123         ),
124         migrations.AddField(
125             model_name='flowcell',
126             name='sequencer',
127             field=models.ForeignKey(default=experiments.models.sequencer_default, to='experiments.Sequencer'),
128             preserve_default=True,
129         ),
130         migrations.AddField(
131             model_name='datarun',
132             name='flowcell',
133             field=models.ForeignKey(verbose_name=b'Flowcell Id', to='experiments.FlowCell'),
134             preserve_default=True,
135         ),
136         migrations.AddField(
137             model_name='datafile',
138             name='data_run',
139             field=models.ForeignKey(to='experiments.DataRun'),
140             preserve_default=True,
141         ),
142         migrations.AddField(
143             model_name='datafile',
144             name='file_type',
145             field=models.ForeignKey(to='experiments.FileType'),
146             preserve_default=True,
147         ),
148         migrations.AddField(
149             model_name='datafile',
150             name='library',
151             field=models.ForeignKey(blank=True, to='samples.Library', null=True),
152             preserve_default=True,
153         ),
154     ]