Thanks!
I’m trying to implement the first line -
i = hl.Table.from_pandas(cm_in_genes)
But I’m getting this error:
---------------------------------------------------------------------------
ExpressionException Traceback (most recent call last)
/cs/labs/michall/ofer.feinstein/my_env/lib/python3.7/site-packages/hail/expr/expressions/base_expression.py in raise_for_holes(t)
239 try:
--> 240 raise_for_holes(vt)
241 except ExpressionException as exc:
/cs/labs/michall/ofer.feinstein/my_env/lib/python3.7/site-packages/hail/expr/expressions/base_expression.py in raise_for_holes(t)
231 if t is None:
--> 232 raise ExpressionException("Hail cannot impute type")
233 if t in (tbool, tint32, tint64, tfloat32, tfloat64, tstr, tcall):
ExpressionException: Hail cannot impute type
The above exception was the direct cause of the following exception:
ExpressionException Traceback (most recent call last)
/cs/labs/michall/ofer.feinstein/my_env/lib/python3.7/site-packages/hail/expr/expressions/base_expression.py in raise_for_holes(t)
252 try:
--> 253 raise_for_holes(t.element_type)
254 except ExpressionException as exc:
/cs/labs/michall/ofer.feinstein/my_env/lib/python3.7/site-packages/hail/expr/expressions/base_expression.py in raise_for_holes(t)
241 except ExpressionException as exc:
--> 242 raise ExpressionException(f'cannot impute field {k}') from exc
243 return
ExpressionException: cannot impute field chrom
The above exception was the direct cause of the following exception:
ExpressionException Traceback (most recent call last)
/tmp/ipykernel_13276/3652694852.py in <module>
----> 1 i = hl.Table.from_pandas(cm_in_genes)
2 # i = i.key_by(interval = hl.locus_interval(
3 # hl.literal('chr') + hl.str(i.chrom),
4 # i.CM_start,
5 # i.CM_end
<decorator-gen-1184> in from_pandas(df, key)
/cs/labs/michall/ofer.feinstein/my_env/lib/python3.7/site-packages/hail/typecheck/check.py in wrapper(__original_func, *args, **kwargs)
575 def wrapper(__original_func, *args, **kwargs):
576 args_, kwargs_ = check_all(__original_func, args, kwargs, checkers, is_method=is_method)
--> 577 return __original_func(*args_, **kwargs_)
578
579 return wrapper
/cs/labs/michall/ofer.feinstein/my_env/lib/python3.7/site-packages/hail/table.py in from_pandas(df, key)
3406 hl_type_hints[field] = type_hint
3407
-> 3408 new_table = hl.Table.parallelize(data, partial_type=hl_type_hints)
3409 return new_table if not key else new_table.key_by(*key)
3410
<decorator-gen-1106> in parallelize(cls, rows, schema, key, n_partitions, partial_type)
/cs/labs/michall/ofer.feinstein/my_env/lib/python3.7/site-packages/hail/typecheck/check.py in wrapper(__original_func, *args, **kwargs)
575 def wrapper(__original_func, *args, **kwargs):
576 args_, kwargs_ = check_all(__original_func, args, kwargs, checkers, is_method=is_method)
--> 577 return __original_func(*args_, **kwargs_)
578
579 return wrapper
/cs/labs/michall/ofer.feinstein/my_env/lib/python3.7/site-packages/hail/table.py in parallelize(cls, rows, schema, key, n_partitions, partial_type)
534 if partial_type is not None:
535 partial_type = hl.tarray(hl.tstruct(**partial_type))
--> 536 rows = to_expr(rows, dtype=dtype, partial_type=partial_type)
537 if not isinstance(rows.dtype.element_type, tstruct):
538 raise TypeError("'parallelize' expects an array with element type 'struct', found '{}'"
/cs/labs/michall/ofer.feinstein/my_env/lib/python3.7/site-packages/hail/expr/expressions/base_expression.py in to_expr(e, dtype, partial_type)
273 raise TypeError("expected expression of type '{}', found expression of type '{}'".format(dtype, e.dtype))
274 return e
--> 275 return cast_expr(e, dtype, partial_type)
276
277
/cs/labs/michall/ofer.feinstein/my_env/lib/python3.7/site-packages/hail/expr/expressions/base_expression.py in cast_expr(e, dtype, partial_type)
279 assert dtype is None or partial_type is None
280 if not dtype:
--> 281 dtype = impute_type(e, partial_type)
282 x = _to_expr(e, dtype)
283 if isinstance(x, Expression):
/cs/labs/michall/ofer.feinstein/my_env/lib/python3.7/site-packages/hail/expr/expressions/base_expression.py in impute_type(x, partial_type)
128 def impute_type(x, partial_type=None):
129 t = _impute_type(x, partial_type=partial_type)
--> 130 raise_for_holes(t)
131 return t
132
/cs/labs/michall/ofer.feinstein/my_env/lib/python3.7/site-packages/hail/expr/expressions/base_expression.py in raise_for_holes(t)
253 raise_for_holes(t.element_type)
254 except ExpressionException as exc:
--> 255 raise ExpressionException('cannot impute array elements') from exc
256 return
257 if isinstance(t, tdict):
ExpressionException: cannot impute array elements
I’m using Hail version 0.2.95-513139587f5…
Do you know the reason for this error?
Thanks!