convert to unicode_literals
[htsworkflow.git] / experiments / experiments_factory.py
1 from __future__ import unicode_literals
2
3 import datetime
4
5 import factory
6 from factory.django import DjangoModelFactory
7 from factory.fuzzy import FuzzyText
8 from . import models
9 from samples.samples_factory import LibraryFactory
10
11
12 class ClusterStationFactory(DjangoModelFactory):
13     class Meta:
14         model = models.ClusterStation
15
16     name = factory.Sequence(lambda x: 'cluster station %d' % (x,))
17     isdefault = True
18
19
20 class SequencerFactory(DjangoModelFactory):
21     class Meta:
22         model = models.Sequencer
23
24     name = factory.Sequence(lambda x: 'sequencer %d' % (x,))
25     instrument_name = factory.Sequence(lambda x: 'instrument name %d' % (x,))
26     serial_number = factory.Sequence(lambda x: 'squencer serial number %d' % (x,))
27     model = 'HiSeq 1'
28     active = True
29     isdefault = True
30     comment = 'example sequencer'
31
32
33 class FlowCellFactory(DjangoModelFactory):
34     class Meta:
35         model = models.FlowCell
36
37     flowcell_id = FuzzyText(length=6, suffix='AAXX')
38     run_date = datetime.datetime.now()
39     advanced_run = False
40     paired_end = True
41     read_length = 100
42     control_lane = 0
43     cluster_station = factory.SubFactory(ClusterStationFactory)
44     sequencer = factory.SubFactory(SequencerFactory)
45     notes = 'flowcell notes'
46
47
48 class LaneFactory(DjangoModelFactory):
49     class Meta:
50         model = models.Lane
51
52     flowcell = factory.SubFactory(FlowCellFactory)
53     lane_number = 1
54     library = factory.SubFactory(LibraryFactory)
55     pM = 1.2
56     cluster_estimate = 12345
57     status = 2
58     comment = 'lane comment'
59
60
61 class DataRunFactory(DjangoModelFactory):
62     class Meta:
63         model = models.DataRun
64
65     flowcell = factory.SubFactory(FlowCellFactory)
66     runfolder_name = '102030_UAW-EAS22_1234AAAAXX'
67     result_dir = runfolder_name + '/Unaligned'
68     run_start_time = datetime.datetime.now()
69     cycle_start = 1
70     cycle_stop = 101
71     run_status = 2
72     image_software = 'RTA'
73     image_version = '1.1'
74     basecall_software = 'RTA'
75     basecall_version = '2.2'
76     alignment_software = 'eland'
77     alignment_version = '2.2'
78     comment = 'comment'
79
80
81 class FileTypeFactory(DjangoModelFactory):
82     class Meta:
83         model = models.FileType
84
85     name = 'file type'
86     mimetype = 'application/file'
87     regex = '.file$'
88