1 from __future__ import unicode_literals
6 from factory.django import DjangoModelFactory
7 from factory.fuzzy import FuzzyText
9 from samples.samples_factory import LibraryFactory
12 class ClusterStationFactory(DjangoModelFactory):
14 model = models.ClusterStation
16 name = factory.Sequence(lambda x: 'cluster station %d' % (x,))
20 class SequencerFactory(DjangoModelFactory):
22 model = models.Sequencer
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,))
30 comment = 'example sequencer'
33 class FlowCellFactory(DjangoModelFactory):
35 model = models.FlowCell
37 flowcell_id = FuzzyText(length=6, suffix='AAXX')
38 run_date = datetime.datetime.now()
43 cluster_station = factory.SubFactory(ClusterStationFactory)
44 sequencer = factory.SubFactory(SequencerFactory)
45 notes = 'flowcell notes'
48 class LaneFactory(DjangoModelFactory):
52 flowcell = factory.SubFactory(FlowCellFactory)
54 library = factory.SubFactory(LibraryFactory)
56 cluster_estimate = 12345
58 comment = 'lane comment'
61 class DataRunFactory(DjangoModelFactory):
63 model = models.DataRun
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()
72 image_software = 'RTA'
74 basecall_software = 'RTA'
75 basecall_version = '2.2'
76 alignment_software = 'eland'
77 alignment_version = '2.2'
81 class FileTypeFactory(DjangoModelFactory):
83 model = models.FileType
86 mimetype = 'application/file'