import json import re from hail.typecheck import typecheck_method, sequenceof, dictof, oneof, \ sized_tupleof, nullable, transformed, lazy from hail.utils.misc import wrap_to_list from hail.utils.java import Env import hail as hl rg_type = lazy() reference_genome_type = oneof( transformed((str, lambda x: hl.get_reference(x))), rg_type) class ReferenceGenome(object): """An object that represents a `reference genome <https://en.wikipedia.org/wiki/Reference_genome>`__. Examples -------- >>> contigs = ["1", "X", "Y", "MT"] >>> lengths = {"1": 249250621, "X": 155270560, "Y": 59373566, "MT": 16569} >>> par = [("X", 60001, 2699521)] >>> my_ref = hl.ReferenceGenome("my_ref", contigs, lengths, "X", "Y", "MT", par) Notes ----- Hail comes with predefined reference genomes (case sensitive!): - GRCh37, Genome Reference Consortium Human Build 37 - GRCh38, Genome Reference Consortium Human Build 38 - GRCm38, Genome Reference Consortium Mouse Build 38
from hail.typecheck import typecheck_method, lazy, nullable, anytype import hail as hl interval_type = lazy() class Interval(object): """ An object representing a range of values between `start` and `end`. >>> interval2 = hl.Interval(3, 6) Parameters ---------- start : any type Object with type `point_type`. end : any type Object with type `point_type`. includes_start : :obj:`bool` Interval includes start. includes_end : :obj:`bool` Interval includes end. Note ---- This object refers to the Python value returned by taking or collecting Hail expressions, e.g. ``mt.interval.take(5)``. This is rare; it is much more common to manipulate the :class:`.IntervalExpression` object, which is constructed using the following functions: - :func:`.interval`