def test_bam_splitter(): 'It test bam splitter' bam_fhand = os.path.join(DATA_DIR, 'seq.bam') splitter = bam_splitter dir1 = NamedTemporaryDir() dir2 = NamedTemporaryDir() dir3 = NamedTemporaryDir() new_files = splitter(bam_fhand, [dir1, dir2, dir3]) assert len(new_files) == 2 dir1.close() dir2.close() dir3.close()
def test_fastq_splitter(): 'It tests the fastq splitter' fastq = '@seq1\nACTG\n+\nmoco\n@seq2\nGTCA\n+\nhola\n' file_ = NamedTemporaryFile() file_.write(fastq) file_.flush() splitter = fastq_splitter dir1 = NamedTemporaryDir() dir2 = NamedTemporaryDir() dir3 = NamedTemporaryDir() new_files = splitter(file_, [dir1, dir2, dir3]) assert len(new_files) == 2 assert open(new_files[0].name).read() == '@seq1\nACTG\n+\nmoco\n' assert open(new_files[1].name).read() == '@seq2\nGTCA\n+\nhola\n' dir1.close() dir2.close() dir3.close()
def test_re_splitter(): 'It tests the general regular expression based splitter' fastq = '@seq1\nACTG\n+\nmoco\n@seq2\nGTCA\n+\nhola\n' file_ = NamedTemporaryFile() file_.write(fastq) file_.flush() splitter = create_file_splitter_with_re(expression='^@') dir1 = NamedTemporaryDir() dir2 = NamedTemporaryDir() dir3 = NamedTemporaryDir() new_files = splitter(file_, [dir1, dir2, dir3]) assert len(new_files) == 2 assert open(new_files[0].name).read() == '@seq1\nACTG\n+\nmoco\n' assert open(new_files[1].name).read() == '@seq2\nGTCA\n+\nhola\n' dir1.close() dir2.close() dir3.close()
def test_blank_line_splitter(): 'It tests the blank line splitter' fastq = 'hola\n\ncaracola\n\n' file_ = NamedTemporaryFile() file_.write(fastq) file_.flush() splitter = blank_line_splitter dir1 = NamedTemporaryDir() dir2 = NamedTemporaryDir() dir3 = NamedTemporaryDir() new_files = splitter(file_, [dir1, dir2, dir3]) assert len(new_files) == 2 assert open(new_files[0].name).read() == 'hola\n\n' assert open(new_files[1].name).read() == 'caracola\n\n' dir1.close() dir2.close() dir3.close()