Ejemplo n.º 1
0
 def add_sweeps(self, items):
     items_with_sweeps = []
     for item in items:
         items_with_sweeps.append(item)
         if not item.is_blank():
             items_with_sweeps.append(RunSample.create_sweep(self.run))
     return items_with_sweeps
Ejemplo n.º 2
0
 def add_sweeps(self, items):
     items_with_sweeps = []
     for item in items:
         items_with_sweeps.append(item)
         if not item.is_blank():
             items_with_sweeps.append(RunSample.create_sweep(self.run))
     return items_with_sweeps
Ejemplo n.º 3
0
    def apply_method_rules(self, sample_block):
        number_of_methods = self.run.number_of_methods or 1
        if number_of_methods <= 1:
            return sample_block

        for sample in sample_block:
            sample.method_number = 1
            sample.save()

        extended_sample_block = []
        if self.run.is_method_type_individual_vial():
            extended_sample_block = sample_block[:]
            for method_number in range(2, number_of_methods+1):
                for sample in sample_block:
                    extended_sample_block.append(RunSample.create_copy(sample, method_number))
        else:
            for sample in sample_block:
                extended_sample_block.append(sample)
                for method_number in range(2, number_of_methods+1):
                    extended_sample_block.append(RunSample.create_copy(sample, method_number))

        return extended_sample_block
 def forwards(self, orm):
     "Sanitize filenames for the incomplete samples of incomplete runs."
     incomplete = orm.RunSample.objects.filter(complete=False).exclude(run__state=RUN_STATES.COMPLETE[0])
     checked = 0
     changed = 0
     for sample in incomplete:
         old = sample.filename
         sample.filename = RunSample.sanitize_filename(old)
         if old != sample.filename:
             sample.save()
             changed += 1
         checked += 1
     print "Checked filenames of %d samples, changed %d." % (checked, changed)
Ejemplo n.º 5
0
 def create_insertion_map(self, samples, rules):
     '''Returns a dict: keys are positions in the sample_list, values an array of items to insert at that position'''
     insertion_map = {}
     for rule in rules:
         sample_count = rule.sample_count
         start_idxs = range(0, len(samples), sample_count)
         end_idxs = range(sample_count, len(samples), sample_count) + [len(samples)]
         for start,end in zip(start_idxs, end_idxs):
             position = end
             if rule.in_random_position:
                 position = random.randint(start+1, end)
             arr = insertion_map.setdefault(position, [])
             for i in range(rule.count):
                 arr.append(RunSample.create(self.run, rule.component))
     return insertion_map
Ejemplo n.º 6
0
    def apply_method_rules(self, sample_block):
        number_of_methods = self.run.number_of_methods or 1
        if number_of_methods <= 1:
            return sample_block

        for sample in sample_block:
            sample.method_number = 1
            sample.save()

        extended_sample_block = []
        if self.run.is_method_type_individual_vial():
            extended_sample_block = sample_block[:]
            for method_number in range(2, number_of_methods + 1):
                for sample in sample_block:
                    extended_sample_block.append(
                        RunSample.create_copy(sample, method_number))
        else:
            for sample in sample_block:
                extended_sample_block.append(sample)
                for method_number in range(2, number_of_methods + 1):
                    extended_sample_block.append(
                        RunSample.create_copy(sample, method_number))

        return extended_sample_block
Ejemplo n.º 7
0
 def create_insertion_map(self, samples, rules):
     '''Returns a dict: keys are positions in the sample_list, values an array of items to insert at that position'''
     insertion_map = {}
     for rule in rules:
         sample_count = rule.sample_count
         start_idxs = range(0, len(samples), sample_count)
         end_idxs = range(sample_count, len(samples),
                          sample_count) + [len(samples)]
         for start, end in zip(start_idxs, end_idxs):
             position = end
             if rule.in_random_position:
                 position = random.randint(start + 1, end)
             arr = insertion_map.setdefault(position, [])
             for i in range(rule.count):
                 arr.append(RunSample.create(self.run, rule.component))
     return insertion_map
Ejemplo n.º 8
0
 def create_end_block(self):
     end_block = []
     for rule in self.run.rule_generator.end_block_rules:
         for i in range(rule.count):
             end_block.append(RunSample.create(self.run, rule.component))
     return end_block
Ejemplo n.º 9
0
 def create_end_block(self):
     end_block = []
     for rule in self.run.rule_generator.end_block_rules:
         for i in range(rule.count):
             end_block.append(RunSample.create(self.run, rule.component))
     return end_block