diff --git a/bio2zarr/bed2zarr.py b/bio2zarr/bed2zarr.py index c5e77b0..267ed45 100644 --- a/bio2zarr/bed2zarr.py +++ b/bio2zarr/bed2zarr.py @@ -325,6 +325,12 @@ def make_field_def(name, alias, dtype=None, *, description=""): return fields[:num_fields] +def mkfields(bed_type): + mandatory = mandatory_bed_field_definitions() + optional = optional_bed_field_definitions(bed_type.value - BedType.BED3.value) + return mandatory + optional + + def mkschema(bed_path, out): bed_type = guess_bed_file_type(bed_path) data = pd.read_table(bed_path, header=None) @@ -335,12 +341,6 @@ def mkschema(bed_path, out): out.write(spec.asjson()) -def mkfields(bed_type): - mandatory = mandatory_bed_field_definitions() - optional = optional_bed_field_definitions(bed_type.value - BedType.BED3.value) - return mandatory + optional - - def bed2zarr_init( bed_path, bed_type, diff --git a/tests/test_bed.py b/tests/test_bed.py index 57df4e7..c8993b9 100644 --- a/tests/test_bed.py +++ b/tests/test_bed.py @@ -93,7 +93,7 @@ class TestBedData: @pytest.mark.parametrize("bed_data", ALL_BED_FORMATS, indirect=True) def test_guess_bed_type_from_path(self, bed_path, request): bedspec = request.node.callspec.params["bed_data"] - if bedspec in [2, 10, 11, 13]: + if bedspec in DISALLOWED_BED_FORMATS: with pytest.raises(ValueError): bed2zarr.guess_bed_file_type(bed_path) else: