Example #1
0
    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()
Example #2
0
    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()
Example #3
0
    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()
Example #4
0
    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()