Skip to content

Commit 4d42eae

Browse files
committed
Allow variant_id to be 'O' dtype to support variable length strings
1 parent 305ce19 commit 4d42eae

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

sgkit/api.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ def create_genotype_call_dataset(
4444
call_genotype_phased : array_like, bool, optional
4545
A flag for each call indicating if it is phased or not. If
4646
omitted all calls are unphased.
47-
variant_id: array_like, str, optional
47+
variant_id: array_like, str or object, optional
4848
The unique identifier of the variant.
4949
5050
Returns
@@ -76,7 +76,7 @@ def create_genotype_call_dataset(
7676
call_genotype_phased,
7777
)
7878
if variant_id is not None:
79-
check_array_like(variant_id, kind="U", ndim=1)
79+
check_array_like(variant_id, kind={"U", "O"}, ndim=1)
8080
data_vars["variant_id"] = ([DIM_VARIANT], variant_id)
8181
attrs: Dict[Hashable, Any] = {"contigs": variant_contig_names}
8282
return xr.Dataset(data_vars=data_vars, attrs=attrs)
@@ -109,7 +109,7 @@ def create_genotype_dosage_dataset(
109109
call_dosage : array_like, float
110110
Dosages, encoded as floats, with NaN indicating a
111111
missing value.
112-
variant_id: array_like, str, optional
112+
variant_id: array_like, str or object, optional
113113
The unique identifier of the variant.
114114
115115
Returns
@@ -132,7 +132,7 @@ def create_genotype_dosage_dataset(
132132
"call_dosage_mask": ([DIM_VARIANT, DIM_SAMPLE], np.isnan(call_dosage),),
133133
}
134134
if variant_id is not None:
135-
check_array_like(variant_id, kind="U", ndim=1)
135+
check_array_like(variant_id, kind={"U", "O"}, ndim=1)
136136
data_vars["variant_id"] = ([DIM_VARIANT], variant_id)
137137
attrs: Dict[Hashable, Any] = {"contigs": variant_contig_names}
138138
return xr.Dataset(data_vars=data_vars, attrs=attrs)

0 commit comments

Comments
 (0)