예제 #1
0
def test_convert_newlines_non_utf():
    fname = get_test_fname("dosimzml")
    rval = convert_newlines(fname,
                            tmp_prefix="gxtest",
                            tmp_dir=tempfile.gettempdir(),
                            in_place=False)
    new_file = rval[1]
    assert open(new_file, "rb").read() == open(get_test_fname("1imzml"),
                                               "rb").read()
def test_sniff_compressed_dynamic_datatypes_default_on():
    # With auto sniffing on, verify the sniffers work and the files match what is expected
    # when coming from guess_ext.
    datatypes_registry = example_datatype_registry_for_sample(sniff_compressed_dynamic_datatypes_default=True)

    fastqsangergz_datatype = datatypes_registry.get_datatype_by_extension('fastqsanger.gz')
    fname = sniff.get_test_fname('1.fastqsanger.gz')
    assert fastqsangergz_datatype.sniff(fname)

    sniff_order = datatypes_registry.sniff_order
    fname = sniff.get_test_fname('1.fastqsanger.gz')
    assert sniff.guess_ext(fname, sniff_order) == 'fastqsanger.gz'
    fname = sniff.get_test_fname('1.fastqsanger.bz2')
    assert sniff.guess_ext(fname, sniff_order) == 'fastqsanger.bz2'
def test_sniff_compressed_dynamic_datatypes_default_off():
    # Redo last tests with auto compressed sniffing disabled and they should not longer result from guess_ext.
    datatypes_registry = example_datatype_registry_for_sample(sniff_compressed_dynamic_datatypes_default=False)

    # sniffer still returns True for these files...
    fastqsangergz_datatype = datatypes_registry.get_datatype_by_extension('fastqsanger.gz')
    fname = sniff.get_test_fname('1.fastqsanger.gz')
    assert fastqsangergz_datatype.sniff(fname)

    # but they don't report as matching the specified sniff_order.
    sniff_order = datatypes_registry.sniff_order
    fname = sniff.get_test_fname('1.fastqsanger.gz')
    assert 'fastq' not in sniff.guess_ext(fname, sniff_order)
    fname = sniff.get_test_fname('1.fastqsanger.bz2')
    assert 'fastq' not in sniff.guess_ext(fname, sniff_order)
예제 #4
0
def test_sniff_compressed_dynamic_datatypes_default_on():
    # With auto sniffing on, verify the sniffers work and the files match what is expected
    # when coming from guess_ext.
    datatypes_registry = example_datatype_registry_for_sample(
        sniff_compressed_dynamic_datatypes_default=True)

    fastqsangergz_datatype = datatypes_registry.get_datatype_by_extension(
        'fastqsanger.gz')
    fname = sniff.get_test_fname('1.fastqsanger.gz')
    assert fastqsangergz_datatype.sniff(fname)

    sniff_order = datatypes_registry.sniff_order
    fname = sniff.get_test_fname('1.fastqsanger.gz')
    assert sniff.guess_ext(fname, sniff_order) == 'fastqsanger.gz'
    fname = sniff.get_test_fname('1.fastqsanger.bz2')
    assert sniff.guess_ext(fname, sniff_order) == 'fastqsanger.bz2'
예제 #5
0
def test_sniff_compressed_dynamic_datatypes_default_off():
    # Redo last tests with auto compressed sniffing disabled and they should not longer result from guess_ext.
    datatypes_registry = example_datatype_registry_for_sample(
        sniff_compressed_dynamic_datatypes_default=False)

    # sniffer still returns True for these files...
    fastqsangergz_datatype = datatypes_registry.get_datatype_by_extension(
        'fastqsanger.gz')
    fname = sniff.get_test_fname('1.fastqsanger.gz')
    assert fastqsangergz_datatype.sniff(fname)

    # but they don't report as matching the specified sniff_order.
    sniff_order = datatypes_registry.sniff_order
    fname = sniff.get_test_fname('1.fastqsanger.gz')
    assert 'fastq' not in sniff.guess_ext(fname, sniff_order)
    fname = sniff.get_test_fname('1.fastqsanger.bz2')
    assert 'fastq' not in sniff.guess_ext(fname, sniff_order)
예제 #6
0
def assert_converts_to_1234_convert(content, block_size=1024):
    fname = get_test_fname('temp2.txt')
    with open(fname, 'w') as fh:
        fh.write(content)
    rval = convert_newlines(fname,
                            tmp_prefix="gxtest",
                            tmp_dir=tempfile.gettempdir(),
                            block_size=block_size)
    actual_contents = open(fname).read()
    assert '1 2\n3 4\n' == actual_contents, actual_contents
    assert rval == (2, None), "rval != %s for %s" % (rval, content)
예제 #7
0
파일: util.py 프로젝트: mvdbeek/galaxy
def get_input_files(*args):
    temp_dir = tempfile.mkdtemp()
    test_files = []
    try:
        for filename in args:
            shutil.copy(get_test_fname(filename), temp_dir)
            test_files.append(os.path.join(temp_dir, filename))
        md5_sums = [md5_hash_file(f) for f in test_files]
        yield test_files
        new_md5_sums = [md5_hash_file(f) for f in test_files]
        for old_hash, new_hash, f in zip(md5_sums, new_md5_sums, test_files):
            assert old_hash == new_hash, 'Unexpected change of content for file %s' % f
    finally:
        shutil.rmtree(temp_dir, ignore_errors=True)
예제 #8
0
def get_input_files(*args):
    temp_dir = tempfile.mkdtemp()
    test_files = []
    try:
        for filename in args:
            shutil.copy(get_test_fname(filename), temp_dir)
            test_files.append(os.path.join(temp_dir, filename))
        md5_sums = [md5_hash_file(f) for f in test_files]
        yield test_files
        new_md5_sums = [md5_hash_file(f) for f in test_files]
        for old_hash, new_hash, f in zip(md5_sums, new_md5_sums, test_files):
            assert old_hash == new_hash, 'Unexpected change of content for file %s' % f
    finally:
        shutil.rmtree(temp_dir, ignore_errors=True)
예제 #9
0
                        if line.lstrip().startswith('</cml>'):
                            continue
                        if line.lstrip().startswith('<molecule'):
                            molecule_found = True
                        if molecule_found:
                            out.write(line)
            out.write("</cml>\n")

    merge = staticmethod(merge)


if __name__ == '__main__':
    """
    TODO: We need to figure out, how to put example files under /lib/galaxy/datatypes/test/ from a toolshed, so that doctest can work properly.
    """
    inchi = get_test_fname('drugbank_drugs.inchi')
    smiles = get_test_fname('drugbank_drugs.smi')
    sdf = get_test_fname('drugbank_drugs.sdf')
    fps = get_test_fname('50_chemfp_fingerprints_FPS1.fps')
    pdb = get_test_fname('2zbz.pdb')
    cml = get_test_fname('/home/bag/Downloads/approved.cml')

    print 'CML test'
    print CML().sniff(cml), 'cml'
    print CML().sniff(inchi)
    print CML().sniff(pdb)
    CML().split()
    """
    print 'SMILES test'
    print SMILES().sniff(smiles), 'smi'
    print SMILES().sniff(inchi)
예제 #10
0
                        # we found two required header lines, the next line should start with <molecule >
                        if line.lstrip().startswith('</cml>'):
                            continue
                        if line.lstrip().startswith('<molecule'):
                            molecule_found = True
                        if molecule_found:
                            out.write( line )
            out.write("</cml>\n")
    merge = staticmethod(merge)


if __name__ == '__main__':
    """
    TODO: We need to figure out, how to put example files under /lib/galaxy/datatypes/test/ from a toolshed, so that doctest can work properly.
    """
    inchi = get_test_fname('drugbank_drugs.inchi')
    smiles = get_test_fname('drugbank_drugs.smi')
    sdf = get_test_fname('drugbank_drugs.sdf')
    fps = get_test_fname('50_chemfp_fingerprints_FPS1.fps')
    pdb = get_test_fname('2zbz.pdb')
    cml = get_test_fname('/home/bag/Downloads/approved.cml')

    print 'CML test'
    print CML().sniff(cml), 'cml'
    print CML().sniff(inchi)
    print CML().sniff(pdb)
    CML().split()
    """
    print 'SMILES test'
    print SMILES().sniff(smiles), 'smi'
    print SMILES().sniff(inchi)
예제 #11
0
def _run_validation(extension, file_name):
    datatype = datatypes_registry.datatypes_by_extension[extension]
    validation = validate(MockDataset(get_test_fname(file_name), datatype))
    return validation
예제 #12
0
def _truncate(file_name, bytes=10):
    o = tempfile.NamedTemporaryFile(delete=False)
    with open(get_test_fname(file_name), "rb") as f:
        contents = f.read()
        o.write(contents[0:-bytes])
    return o.name