Example #1
0
File: expr.py Project: Fedja/hail
 def _convert_to_j(self, annotation):
     if annotation is not None:
         return scala_object(Env.hail().annotations, 'Annotation').fromSeq(
             Env.jutils().arrayListToISeq(
                 [f.typ._convert_to_j(annotation.get(f.name)) for f in self.fields]
             )
         )
     else:
         return annotation
Example #2
0
 def _convert_to_j(self, annotation):
     if annotation is not None:
         return scala_object(Env.hail().annotations, 'Annotation').fromSeq(
             Env.jutils().arrayListToISeq([
                 f.typ._convert_to_j(annotation[f.name])
                 for f in self.fields
             ]))
     else:
         return annotation
Example #3
0
 def __init__(self, contig, position):
     if isinstance(contig, int):
         contig = str(contig)
     jrep = scala_object(Env.hail().variant, 'Locus').apply(contig, position)
     self._init_from_java(jrep)
     self._contig = contig
     self._position = position
Example #4
0
    def _init_from_java(self, jtype):

        jfields = Env.jutils().iterableToArrayList(jtype.fields())
        self.fields = [
            Field(f.name(), Type._from_java(f.typ()), dict(f.attrsJava()))
            for f in jfields
        ]
Example #5
0
    def parse(string):
        """Parses a locus object from a CHR:POS string.

        :rtype: :class:`.Locus`
        """

        return Locus._from_java(scala_object(Env.hail().variant, 'Locus').parse(string))
Example #6
0
    def parse(string):
        """Parses a locus object from a CHR:POS string.

        :rtype: :class:`.Locus`
        """

        return Locus._from_java(scala_object(Env.hail().variant, 'Locus').parse(string))
Example #7
0
 def __init__(self, element_type):
     """
     :param :class:`.Type` element_type: Hail type of set element
     """
     jtype = scala_object(Env.hail().expr, 'TSet').apply(element_type._jtype)
     self.element_type = element_type
     super(TSet, self).__init__(jtype)
Example #8
0
 def _convert_to_j(self, annotation):
     if annotation is not None:
         return Env.jutils().javaMapToMap(
             {self.key_type._convert_to_j(k): self.value_type._convert_to_j(v) for k, v in annotation.iteritems()}
         )
     else:
         return annotation
Example #9
0
File: expr.py Project: Fedja/hail
 def _convert_to_j(self, annotation):
     if annotation is not None:
         return Env.jutils().javaMapToMap(
             {self.key_type._convert_to_j(k): self.value_type._convert_to_j(v) for k, v in annotation.iteritems()}
         )
     else:
         return annotation
Example #10
0
File: typ.py Project: wtsi-hgi/hail
 def __init__(self, element_type, required = False):
     """
     :param :class:`.Type` element_type: Hail type of array element
     """
     jtype = scala_object(Env.hail().expr, 'TAggregable').apply(element_type._jtype, required)
     self.element_type = element_type
     super(TAggregable, self).__init__(jtype)
Example #11
0
 def __init__(self, contig, position):
     if isinstance(contig, int):
         contig = str(contig)
     jrep = scala_object(Env.hail().variant, 'Locus').apply(contig, position)
     self._init_from_java(jrep)
     self._contig = contig
     self._position = position
Example #12
0
File: expr.py Project: Fedja/hail
 def __init__(self, element_type):
     """
     :param :class:`.Type` element_type: Hail type of set element
     """
     jtype = scala_object(Env.hail().expr, 'TSet').apply(element_type._jtype)
     self.element_type = element_type
     super(TSet, self).__init__(jtype)
Example #13
0
File: expr.py Project: Fedja/hail
 def _convert_to_j(self, annotation):
     if annotation is not None:
         return Env.jutils().arrayListToSet(
             [self.element_type._convert_to_j(elt) for elt in annotation]
         )
     else:
         return annotation
Example #14
0
 def _convert_to_j(self, annotation):
     if annotation is not None:
         return Env.jutils().arrayListToISeq(
             [self.element_type._convert_to_j(elt) for elt in annotation]
         )
     else:
         return annotation
Example #15
0
def hadoop_copy(src, dest):
    """Copy a file through the Hadoop filesystem API.
    Supports distributed file systems like hdfs, gs, and s3.
    
    **Examples**
    
    >>> hadoop_copy('gs://hail-common/LCR.interval_list', 'file:///mnt/data/LCR.interval_list') # doctest: +SKIP
    
    **Notes**
    
    The provided source and destination file paths must be URIs
    (uniform resource identifiers).    
    
    :param str src: Source file URI. 
    :param str dest: Destination file URI.
    """
    Env.jutils().copyFile(src, dest, Env.hc()._jhc)
Example #16
0
 def __init__(self, contig, start, ref, alts):
     if isinstance(contig, int):
         contig = str(contig)
     jrep = scala_object(Env.hail().variant, 'Variant').apply(contig, start, ref, alts)
     self._init_from_java(jrep)
     self._contig = contig
     self._start = start
     self._ref = ref
Example #17
0
 def __init__(self, contig, start, ref, alts):
     if isinstance(contig, int):
         contig = str(contig)
     jrep = scala_object(Env.hail().variant, 'Variant').apply(contig, start, ref, alts)
     self._init_from_java(jrep)
     self._contig = contig
     self._start = start
     self._ref = ref
Example #18
0
def hadoop_copy(src, dest):
    """Copy a file through the Hadoop filesystem API.
    Supports distributed file systems like hdfs, gs, and s3.
    
    **Examples**
    
    >>> hadoop_copy('gs://hail-common/LCR.interval_list', 'file:///mnt/data/LCR.interval_list') # doctest: +SKIP
    
    **Notes**
    
    The provided source and destination file paths must be URIs
    (uniform resource identifiers).    
    
    :param str src: Source file URI. 
    :param str dest: Destination file URI.
    """
    Env.jutils().copyFile(src, dest, Env.hc()._jhc)
Example #19
0
File: typ.py Project: wtsi-hgi/hail
    def from_fields(cls, fields, required=False):
        """Creates a new TStruct from field objects.

        :param fields: The TStruct fields.
        :type fields: list of :class:`.Field`

        :param bool required: Flag for whether the struct can be missing.
        
        :return: TStruct from input fields
        :rtype: :class:`.TStruct`
        """

        struct = TStruct.__new__(cls)
        struct.fields = fields
        jfields = [scala_object(Env.hail().expr, 'Field').apply(
            f.name, f.typ._jtype, i, Env.jutils().javaMapToMap(f.attributes)) for i,f in enumerate(fields)]
        jtype = scala_object(Env.hail().expr, 'TStruct').apply(jindexed_seq(jfields), required)
        return TStruct._from_java(jtype)
Example #20
0
 def _convert_to_py(self, annotation):
     if annotation:
         lst = Env.jutils().iterableToArrayList(annotation)
         d = dict()
         for x in lst:
             d[self.key_type._convert_to_py(x._1())] = self.value_type._convert_to_py(x._2())
         return d
     else:
         return annotation
Example #21
0
File: expr.py Project: Fedja/hail
 def _convert_to_py(self, annotation):
     if annotation:
         lst = Env.jutils().iterableToArrayList(annotation)
         d = dict()
         for x in lst:
             d[self.key_type._convert_to_py(x._1())] = self.value_type._convert_to_py(x._2())
         return d
     else:
         return annotation
Example #22
0
File: expr.py Project: Fedja/hail
    def __init__(self, names, types):
        """
        """

        if len(names) != len(types):
            raise ValueError('length of names and types not equal: %d and %d' % (len(names), len(types)))
        jtype = scala_object(Env.hail().expr, 'TStruct').apply(names, map(lambda t: t._jtype, types))
        self.fields = [Field(names[i], types[i]) for i in xrange(len(names))]

        super(TStruct, self).__init__(jtype)
Example #23
0
    def __init__(self, names, types):
        """
        """

        if len(names) != len(types):
            raise ValueError('length of names and types not equal: %d and %d' % (len(names), len(types)))
        jtype = scala_object(Env.hail().expr, 'TStruct').apply(names, map(lambda t: t._jtype, types))
        self.fields = [Field(names[i], types[i]) for i in xrange(len(names))]

        super(TStruct, self).__init__(jtype)
Example #24
0
 def formatted(self):
     now = datetime.datetime.now()
     history = "# {}\n# version: {}\n\n".format(now.isoformat(), Env.hc().version)
     history += "from hail import *\n\n"
     for stmt in self.statements:
         history += (stmt + "\n\n")
     history += ("(" + self.expr + ")")
     try:
         import autopep8
         return autopep8.fix_code(history)
     except ImportError:
         return history
Example #25
0
 def formatted(self):
     now = datetime.datetime.utcnow()
     history = "# {}\n# version: {}\n\n".format(now.isoformat(), Env.hc().version)
     history += "from hail import *\n\n"
     for stmt in self.statements:
         history += (stmt + "\n\n")
     history += ("(" + self.expr + ")")
     try:
         import autopep8
         return autopep8.fix_code(history)
     except ImportError:
         return history
Example #26
0
    def parse(cls, string):
        """Parses a locus object from a CHR:POS string.

        **Examples**

        >>> l1 = Locus.parse('1:101230')
        >>> l2 = Locus.parse('X:4201230')

        :rtype: :class:`.Locus`
        """

        return Locus._from_java(scala_object(Env.hail().variant, 'Locus').parse(string))
Example #27
0
    def parse(cls, string):
        """Parses a locus object from a CHR:POS string.

        **Examples**

        >>> l1 = Locus.parse('1:101230')
        >>> l2 = Locus.parse('X:4201230')

        :rtype: :class:`.Locus`
        """

        return Locus._from_java(
            scala_object(Env.hail().variant, 'Locus').parse(string))
Example #28
0
    def parse(string):
        """Parses a variant object from a string.

        There are two acceptable formats: CHR:POS:REF:ALT, and
        CHR:POS:REF:ALT1,ALT2,...ALTN.  Below is an example of
        each:

        >>> v_biallelic = Variant.parse('16:20012:A:TT')
        >>> v_multiallelic = Variant.parse('16:12311:T:C,TTT,A')

        :rtype: :class:`.Variant`
        """
        jrep = scala_object(Env.hail().variant, 'Variant').parse(string)
        return Variant._from_java(jrep)
Example #29
0
    def parse(cls, string):
        """Parses a variant object from a string.

        There are two acceptable formats: CHR:POS:REF:ALT, and
        CHR:POS:REF:ALT1,ALT2,...ALTN.  Below is an example of
        each:

        >>> v_biallelic = Variant.parse('16:20012:A:TT')
        >>> v_multiallelic = Variant.parse('16:12311:T:C,TTT,A')

        :rtype: :class:`.Variant`
        """
        jrep = scala_object(Env.hail().variant, 'Variant').parse(string)
        return Variant._from_java(jrep)
Example #30
0
File: expr.py Project: Fedja/hail
 def __init__(self):
     super(TLocus, self).__init__(scala_object(Env.hail().expr, 'TLocus'))
Example #31
0
File: expr.py Project: Fedja/hail
 def __init__(self):
     super(TCall, self).__init__(scala_object(Env.hail().expr, 'TCall'))
Example #32
0
File: expr.py Project: Fedja/hail
 def __init__(self):
     super(TGenotype, self).__init__(scala_object(Env.hail().expr, 'TGenotype'))
Example #33
0
 def __init__(self):
     super(TInt, self).__init__(scala_object(Env.hail().expr, 'TInt'))
Example #34
0
 def _convert_to_py(self, annotation):
     if annotation:
         lst = Env.jutils().iterableToArrayList(annotation)
         return set([self.element_type._convert_to_py(x) for x in lst])
     else:
         return annotation
Example #35
0
 def __init__(self):
     super(TString, self).__init__(scala_object(Env.hail().expr, 'TString'))
Example #36
0
 def _jrep(self):
     return Env.hail().stats.BetaDist.apply(float(self.a), float(self.b))
Example #37
0
 def _jrep(self):
     return Env.hail().stats.UniformDist.apply(float(self.minVal), float(self.maxVal))
Example #38
0
 def types_rst(self, file_name):
     Env.hail().utils.FunctionDocumentation.makeTypesDocs(file_name)
Example #39
0
File: expr.py Project: Fedja/hail
 def __init__(self, key_type, value_type):
     jtype = scala_object(Env.hail().expr, 'TDict').apply(key_type._jtype, value_type._jtype)
     self.key_type = key_type
     self.value_type = value_type
     super(TDict, self).__init__(jtype)
Example #40
0
 def __init__(self, ref, alt):
     jaa = scala_object(Env.hail().variant, 'AltAllele').apply(ref, alt)
     self._init_from_java(jaa)
     self._ref = ref
     self._alt = alt
Example #41
0
File: expr.py Project: Fedja/hail
 def _convert_to_py(self, annotation):
     if annotation:
         lst = Env.jutils().iterableToArrayList(annotation)
         return set([self.element_type._convert_to_py(x) for x in lst])
     else:
         return annotation
Example #42
0
 def __init__(self):
     super(TAltAllele,
           self).__init__(scala_object(Env.hail().expr, 'TAltAllele'))
Example #43
0
File: expr.py Project: Fedja/hail
 def __init__(self):
     super(TInt, self).__init__(scala_object(Env.hail().expr, 'TInt'))
Example #44
0
 def _to_java(self):
     """Convert to Java TextTableConfiguration object."""
     return Env.hail().utils.TextTableConfiguration.apply(
         self.types, self.comment, self.delimiter, self.missing,
         self.noheader, self.impute)
Example #45
0
File: expr.py Project: Fedja/hail
 def _convert_to_j(self, annotation):
     if annotation:
         return Env.jutils().makeInt(annotation)
     else:
         return annotation
Example #46
0
File: expr.py Project: Fedja/hail
    def _init_from_java(self, jtype):

        jfields = Env.jutils().iterableToArrayList(jtype.fields())
        self.fields = [Field(f.name(), Type._from_java(f.typ()), dict(f.attrsJava())) for f in jfields]
Example #47
0
 def __init__(self):
     super(TDouble, self).__init__(scala_object(Env.hail().expr, 'TDouble'))
Example #48
0
 def functions_rst(self, file_name):
     Env.hail().utils.FunctionDocumentation.makeFunctionsDocs(file_name)
Example #49
0
 def __init__(self):
     super(TBoolean,
           self).__init__(scala_object(Env.hail().expr, 'TBoolean'))
Example #50
0
File: expr.py Project: Fedja/hail
 def __init__(self):
     super(TAltAllele, self).__init__(scala_object(Env.hail().expr, 'TAltAllele'))
Example #51
0
 def __init__(self, key_type, value_type):
     jtype = scala_object(Env.hail().expr,
                          'TDict').apply(key_type._jtype, value_type._jtype)
     self.key_type = key_type
     self.value_type = value_type
     super(TDict, self).__init__(jtype)
Example #52
0
 def __init__(self):
     super(TCall, self).__init__(scala_object(Env.hail().expr, 'TCall'))
Example #53
0
 def functions_rst(self, file_name):
     Env.hail().utils.FunctionDocumentation.makeFunctionsDocs(file_name)
Example #54
0
 def _jrep(self):
     return Env.hail().stats.TruncatedBetaDist.apply(float(self.a), float(self.b), float(self.minVal), float(self.maxVal))
Example #55
0
 def __init__(self):
     super(TGenotype,
           self).__init__(scala_object(Env.hail().expr, 'TGenotype'))
Example #56
0
File: expr.py Project: Fedja/hail
 def __init__(self):
     super(TDouble, self).__init__(scala_object(Env.hail().expr, 'TDouble'))
Example #57
0
 def __init__(self):
     super(TLocus, self).__init__(scala_object(Env.hail().expr, 'TLocus'))
Example #58
0
File: expr.py Project: Fedja/hail
 def __init__(self):
     super(TString, self).__init__(scala_object(Env.hail().expr, 'TString'))
Example #59
0
 def _convert_to_j(self, annotation):
     if annotation:
         return Env.jutils().makeInt(annotation)
     else:
         return annotation
Example #60
0
File: expr.py Project: Fedja/hail
 def __init__(self):
     super(TBoolean, self).__init__(scala_object(Env.hail().expr, 'TBoolean'))