Ejemplo n.º 1
0
def test_predict_gender():
  assert predict_gender(x_coverage=10.2, y_coverage=8.1) == 'male'
  assert predict_gender(x_coverage=20.9, y_coverage=.01) == 'female'
  # shouldn't raise ``ZeroDivisionError``
  assert predict_gender(x_coverage=5.12, y_coverage=0) == 'female'

  # what does this even mean?
  assert predict_gender(x_coverage=0, y_coverage=10) == 'unknown'
Ejemplo n.º 2
0
def test_predict_gender():
    assert predict_gender(x_coverage=10.2, y_coverage=8.1) == 'male'
    assert predict_gender(x_coverage=20.9, y_coverage=.01) == 'female'
    # shouldn't raise ``ZeroDivisionError``
    assert predict_gender(x_coverage=5.12, y_coverage=0) == 'female'

    # what does this even mean?
    assert predict_gender(x_coverage=0, y_coverage=10) == 'unknown'
Ejemplo n.º 3
0
    def sex_checker(self,
                    group_id=None,
                    sample_ids=None,
                    include_coverage=False):
        """Predict gender based on coverage on X/Y chromosomes."""
        # limit query on request
        query = limit_query(self.sex_chromosome_coverage(),
                            group=group_id,
                            samples=sample_ids)

        # group tuples (rows) based on first item (sample ID)
        samples = itertools.groupby(query, getitem(0))

        for sample in samples:
            # extract X and Y coverage from the sample group
            sample_id, data_group = sample
            sex_coverage = [coverage for _, _, coverage in data_group]

            # run the predictor
            gender = predict_gender(*sex_coverage)

            if include_coverage:
                # return also raw coverage numbers
                yield sample_id, gender, sex_coverage[0], sex_coverage[1]

            else:
                yield sample_id, gender
Ejemplo n.º 4
0
  def sex_checker(self, group_id=None, sample_ids=None,
                  include_coverage=False):
    """Predict gender based on coverage on X/Y chromosomes."""
    # limit query on request
    query = limit_query(self.sex_chromosome_coverage(), group=group_id,
                        samples=sample_ids)

    # group tuples (rows) based on first item (sample ID)
    samples = itertools.groupby(query, getitem(0))

    for sample in samples:
      # extract X and Y coverage from the sample group
      sample_id, data_group = sample
      sex_coverage = [coverage for _, _, coverage in data_group]

      # run the predictor
      gender = predict_gender(*sex_coverage)

      if include_coverage:
        # return also raw coverage numbers
        yield sample_id, gender, sex_coverage[0], sex_coverage[1]

      else:
        yield sample_id, gender