def test_sample_prep__number_rows_and_columns_are_ok(self):
        # Arrange
        file = self._create_organization_file(prep_sample_submission_path())
        handler = SampleSubmissionHandler(context=self.handler_context, app=self.app)

        # Act
        handler.handle(multi_format_file=file)

        # Assert
        rows = [line for line in handler.csv]
        assert 3 == len(rows)
        assert 28 == len(handler.csv.header)
Exemplo n.º 2
0
    def test_parse_prep_from_excel__internal_temp_file_is_deleted(self):
        # Arrange
        handler_context = HandlerContext(self.organization)
        handler = SampleSubmissionHandler(handler_context, self.app)
        org_file = self._create_organization_file(
            prep_sample_submission_path())

        # Act
        handler.handle(org_file)

        # Assert
        assert os.path.exists(handler.temp_file_name) is False
    def test_prep_submission__with_3_samples_on_plate__plate_navigation_to_sample_ok(self):
        # Arrange
        contents = read_binary_file(prep_sample_submission_path())
        fileobj = BytesIO(contents)

        # Act
        plugins.load_handler_implementation(SubstancesSubmissionHandler, SampleSubmissionHandler)
        self.app.substances.load_file(self.organization, "the_file.xlsx", fileobj)

        # Assert
        containers = ContainerRepository(self.organization)
        plate1 = containers.get(name='YY-1111_PL1_org_190829')
        assert plate1 is not None
        assert plate1['A:1'].name == 'sample1'
    def test_prep_submission__with_3_samples_on_plate__sample_navigation_to_plate_is_ok(self):
        # Arrange
        contents = read_binary_file(prep_sample_submission_path())
        fileobj = BytesIO(contents)

        # Act
        plugins.load_handler_implementation(SubstancesSubmissionHandler, SampleSubmissionHandler)
        self.app.substances.load_file(self.organization, "the_file.xlsx", fileobj)

        # Assert
        fetched_sample1 = ioc.app.substances.get_by_name('sample1')
        from clims.models.location import Location
        from clims.models.container import Container
        assert isinstance(fetched_sample1.location, Location)
        assert isinstance(fetched_sample1.location.container, Container)
        assert isinstance(fetched_sample1.container, Plate96)
Exemplo n.º 5
0
    def test_sample_prep__all_sample_udf_good(self):
        # Arrange
        contents = read_binary_file(prep_sample_submission_path())
        file_obj = BytesIO(contents)

        # Act
        plugins.load_handler_implementation(SubstancesSubmissionHandler,
                                            SampleSubmissionHandler)
        self.app.substances.load_file(self.organization, "the_file.xlsx",
                                      file_obj)

        # Assert
        fetched_sample1 = ioc.app.substances.get_by_name('YY-1111-sample1')

        assert fetched_sample1.concentration == 101
        assert fetched_sample1.external_name == 'sample1'
        assert fetched_sample1.volume == 30
        assert fetched_sample1.sample_type == 'gDNA'
        assert fetched_sample1.coverage == '60x'
        assert fetched_sample1.volume_current == 30
        assert fetched_sample1.sample_delivery_date == '190829'
        assert fetched_sample1.container == 'YY-1111_PL1_org_190829'
        assert fetched_sample1.application == 'WG re-seq'
        assert fetched_sample1.species == 'Bos taurus'
        assert fetched_sample1.library_preparation_kit == 'TruSeq DNA PCR-Free Sample Preparation kit LT'
        assert fetched_sample1.libraries_per_sample == 1
        assert fetched_sample1.insert_size == '350'
        assert fetched_sample1.pooling == '10 libraries/pool'
        assert fetched_sample1.special_info_library_prep is False
        assert fetched_sample1.number_of_lanes == '2 flowcells/pool'
        assert fetched_sample1.seq_instrument == 'NovaSeq S4'
        assert fetched_sample1.read_length == '151x2'
        assert fetched_sample1.conc_flowcell_pm == '300 pM'
        assert fetched_sample1.phix_percent == 1
        assert fetched_sample1.custom_seq_primer is False
        assert fetched_sample1.special_info_sequencing is False
        assert fetched_sample1.genotyping_id_panel is False
        assert fetched_sample1.data_analysis == 'No'
Exemplo n.º 6
0
 def test_read_sample_submission_and_save_in_write_only_mode(self):
     excel_rw = ExcelReadWriter()
     excel_rw.load(prep_sample_submission_path())
     excel_rw.write_to_new_file(new_excel_file_path())
Exemplo n.º 7
0
 def test_write_sample_submission_in_dual_mode__check_output_manually(self):
     excel_rw = ExcelReadWriter()
     excel_rw.load(prep_sample_submission_path(),
                   data_only=False,
                   read_only=False)
     excel_rw.write_with_dual_mode(new_excel_file_path())