From b46072ee1d83548dfb4e07d510e7234ef5959fa9 Mon Sep 17 00:00:00 2001 From: elichad Date: Tue, 8 Mar 2022 14:04:40 +0000 Subject: [PATCH] sniff tests and 'no ase' message --- lib/galaxy/datatypes/molecules.py | 23 +++++++++++++++++------ lib/galaxy/datatypes/sniff.py | 14 +++++++++++++- 2 files changed, 30 insertions(+), 7 deletions(-) diff --git a/lib/galaxy/datatypes/molecules.py b/lib/galaxy/datatypes/molecules.py index 36d2e0d47d8..5083dfcbe57 100644 --- a/lib/galaxy/datatypes/molecules.py +++ b/lib/galaxy/datatypes/molecules.py @@ -957,7 +957,11 @@ class Cell(GenericMolFile): info_list.append(f"Atoms in file:\n{metadata.number_of_atoms}") info += "\n--\n".join(info_list) else: - info += f"Atoms in file:\n{metadata.number_of_atoms}" + info = """ + Metadata is limited as the Atomic Simulation Environment (ASE) is not installed. + You can still use this dataset in tools and workflows. + For full metadata, ask your admin to install the 'ase' Python package. + """ return info @@ -1156,8 +1160,12 @@ class CIF(GenericMolFile): formulae = "\n".join(metadata.chemical_formula) info_list.append(f"Chemical formula for each structure in this file:\n{formulae}") info = "\n--\n".join(info_list) - # else: - # info = f"Atoms in file:\n{metadata.number_of_atoms}" + else: + info = """ + Metadata is limited as the Atomic Simulation Environment (ASE) is not installed. + You can still use this dataset in tools and workflows. + For full metadata, ask your admin to install the 'ase' Python package. + """ return info @@ -1365,9 +1373,12 @@ class XYZ(GenericMolFile): formulae = "\n".join(metadata.chemical_formula) info_list.append(f"Chemical formula for each structure in this file:\n{formulae}") info = "\n--\n".join(info_list) - # else: - # TODO: message along the lines of "ask your admin to install ase"? - # info = f"Atoms in file:\n{metadata.number_of_atoms}" + else: + info = """ + Metadata is limited as the Atomic Simulation Environment (ASE) is not installed. + You can still use this dataset in tools and workflows. + For full metadata, ask your admin to install the 'ase' Python package. + """ return info diff --git a/lib/galaxy/datatypes/sniff.py b/lib/galaxy/datatypes/sniff.py index 95b133a2136..87a1c9218c6 100644 --- a/lib/galaxy/datatypes/sniff.py +++ b/lib/galaxy/datatypes/sniff.py @@ -372,7 +372,10 @@ def guess_ext(fname, sniff_order, is_binary=False): >>> fname = get_test_fname('5e5z.pdb') >>> guess_ext(fname, sniff_order) 'pdb' - >>> fname = get_test_fname('Si.cell') + >>> fname = get_test_fname('Si_uppercase.cell') + >>> guess_ext(fname, sniff_order) + 'cell' + >>> fname = get_test_fname('Si_lowercase.cell') >>> guess_ext(fname, sniff_order) 'cell' >>> fname = get_test_fname('Si.cif') @@ -381,6 +384,15 @@ def guess_ext(fname, sniff_order, is_binary=False): >>> fname = get_test_fname('Si.xyz') >>> guess_ext(fname, sniff_order) 'xyz' + >>> fname = get_test_fname('Si_multi.xyz') + >>> guess_ext(fname, sniff_order) + 'xyz' + >>> fname = get_test_fname('Si.extxyz') + >>> guess_ext(fname, sniff_order) + 'extxyz' + >>> fname = get_test_fname('Si_multi.extxyz') + >>> guess_ext(fname, sniff_order) + 'extxyz' >>> fname = get_test_fname('mothur_datatypetest_true.mothur.otu') >>> guess_ext(fname, sniff_order) 'mothur.otu'