4 from factory.django import DjangoModelFactory
5 from factory.fuzzy import FuzzyText
7 from samples.samples_factory import LibraryFactory
10 class ClusterStationFactory(DjangoModelFactory):
12 model = models.ClusterStation
14 name = factory.Sequence(lambda x: 'cluster station %d' % (x,))
18 class SequencerFactory(DjangoModelFactory):
20 model = models.Sequencer
22 name = factory.Sequence(lambda x: 'sequencer %d' % (x,))
23 instrument_name = factory.Sequence(lambda x: 'instrument name %d' % (x,))
24 serial_number = factory.Sequence(lambda x: 'squencer serial number %d' % (x,))
28 comment = 'example sequencer'
31 class FlowCellFactory(DjangoModelFactory):
33 model = models.FlowCell
35 flowcell_id = FuzzyText(length=6, suffix='AAXX')
36 run_date = datetime.datetime.now()
41 cluster_station = factory.SubFactory(ClusterStationFactory)
42 sequencer = factory.SubFactory(SequencerFactory)
43 notes = 'flowcell notes'
46 class LaneFactory(DjangoModelFactory):
50 flowcell = factory.SubFactory(FlowCellFactory)
52 library = factory.SubFactory(LibraryFactory)
54 cluster_estimate = 12345
56 comment = 'lane comment'
59 class DataRunFactory(DjangoModelFactory):
61 model = models.DataRun
63 flowcell = factory.SubFactory(FlowCellFactory)
64 runfolder_name = '102030_UAW-EAS22_1234AAAAXX'
65 result_dir = runfolder_name + '/Unaligned'
66 run_start_time = datetime.datetime.now()
70 image_software = 'RTA'
72 basecall_software = 'RTA'
73 basecall_version = '2.2'
74 alignment_software = 'eland'
75 alignment_version = '2.2'
79 class FileTypeFactory(DjangoModelFactory):
81 model = models.FileType
84 mimetype = 'application/file'