def _write_empty_fastq_to_mux_barcode_in_seq_fmt(seqs_dir_fmt): fastq = FastqGzFormat() with gzip.open(str(fastq), 'w') as fh: fh.write(b'') # PAIRED-END if isinstance(seqs_dir_fmt, MultiplexedPairedEndBarcodeInSequenceDirFmt): seqs_dir_fmt.forward_sequences.write_data(fastq, FastqGzFormat) seqs_dir_fmt.reverse_sequences.write_data(fastq, FastqGzFormat) # SINGLE-END else: seqs_dir_fmt.file.write_data(fastq, FastqGzFormat)
def setUp(self): super().setUp() self.fastq_fp = \ self.get_data_path('forward.fastq.gz') self.fastq = FastqGzFormat(self.fastq_fp, mode='r') self.seqs_dir_fmt = MultiplexedSingleEndBarcodeInSequenceDirFmt() self.seqs_dir_fmt.file.write_data(self.fastq, FastqGzFormat) self.barcode_series = pd.Series(['A', 'G'], index=['sample_a', 'sample_b']) self.per_sample_dir_fmt = SingleLanePerSampleSingleEndFastqDirFmt() self.untrimmed_dir_fmt = MultiplexedSingleEndBarcodeInSequenceDirFmt()
def test_invalid_quality_score_length(self): filepath = self.get_data_path('invalid-quality.fastq.gz') format = FastqGzFormat(filepath, mode='r') with self.assertRaisesRegex(ValidationError, 'length.*9'): format.validate()
def test_partial_record(self): filepath = self.get_data_path('partial-record.fastq.gz') format = FastqGzFormat(filepath, mode='r') with self.assertRaisesRegex(ValidationError, 'sequence.*1'): format.validate()
def test_incomplete_record_sequence(self): filepath = self.get_data_path('incomplete-sequence.fastq.gz') format = FastqGzFormat(filepath, mode='r') with self.assertRaisesRegex(ValidationError, 'sequence.*9'): format.validate()
def test_invalid_record_sep(self): filepath = self.get_data_path('invalid-sep.fastq.gz') format = FastqGzFormat(filepath, mode='r') with self.assertRaisesRegex(ValidationError, 'separator.*11'): format.validate()
def test_validate_mixed_case(self): filepath = self.get_data_path('mixed-case.fastq.gz') format = FastqGzFormat(filepath, mode='r') with self.assertRaisesRegex(ValidationError, 'Lowercase.*2'): format.validate()
def test_validate_uncompressed(self): filepath = self.get_data_path('Human-Kneecap_S1_L001_R1_001.fastq') format = FastqGzFormat(filepath, mode='r') with self.assertRaisesRegex(ValidationError, 'uncompressed'): format.validate()
def _write_empty_fastq_to_mux_barcode_in_seq_fmt(seqs_dir_fmt): fastq = FastqGzFormat() with gzip.open(str(fastq), 'w') as fh: fh.write(b'') seqs_dir_fmt.file.write_data(fastq, FastqGzFormat)
def test_validate_negative(self): filepath = self.get_data_path('not-fastq.fastq.gz') format = FastqGzFormat(filepath, mode='r') with self.assertRaisesRegex(ValidationError, 'Header.*1'): format.validate()
def test_fastq_gz_format_validate_positive(self): filepath = self.get_data_path('Human-Kneecap_S1_L001_R1_001.fastq.gz') format = FastqGzFormat(filepath, mode='r') format.validate()
def test_fastq_gz_format_validate_mixed_case(self): filepath = self.get_data_path('mixed-case.fastq.gz') format = FastqGzFormat(filepath, mode='r') with self.assertRaisesRegex(ValueError, 'FastqGzFormat'): format.validate()
def test_validate_positive(self): filepath = self.get_data_path('Human-Kneecap_S1_L001_R1_001.fastq.gz') format = FastqGzFormat(filepath, mode='r') format.validate()