def plot_beta_alt_mpl(dataset, beta_metric, named_sample_set, sample_id=None, category=None): pcoa_repo = _get_pcoa_repo(dataset) metadata_repo = _get_metadata_repo(dataset, get_resources) if not pcoa_repo.has_pcoa(named_sample_set, beta_metric): raise UnknownResource(f"No PCoA for named_sample_set=" f"'{named_sample_set}',beta_metric=" f"'{beta_metric}'") # check metadata repo for the requested categories has_category = metadata_repo.has_category([category]) missing_categories = [ cat for i, cat in enumerate([ category, ]) if not has_category[i] ] if len(missing_categories) > 0: raise UnknownResource(f"Missing specified metadata categories: " f"{missing_categories}") pcoa = pcoa_repo.get_pcoa(named_sample_set, beta_metric) metadata = metadata_repo.get_metadata(category) x = pcoa.samples[0] y = pcoa.samples[1] response = _make_mpl_fig(metadata, x, y, sample_id) return send_file(response, mimetype='image/png', as_attachment=True, attachment_filename='pcoa.png', conditional=True)
def plot_alpha_filtered_json_query_alt(dataset, body, alpha_metric=None, percentiles=None, sample_id=None): repo = _get_metadata_repo(dataset, get_resources) alpha_repo_getter = _alpha_repo_getter_alt(dataset) return _plot_alpha_percentiles_querybuilder( alpha_metric, percentiles, body, repo, sample_id, alpha_repo_getter, )
def plot_alpha_filtered_alt(dataset, alpha_metric=None, percentiles=None, sample_id=None, **kwargs): repo = _get_metadata_repo(dataset, get_resources) query = _format_query(kwargs) is_invalid = _validate_query(kwargs, repo) if is_invalid: return is_invalid alpha_repo_getter = _alpha_repo_getter_alt(dataset) return _plot_alpha_percentiles_querybuilder( alpha_metric, percentiles, query, repo, sample_id, alpha_repo_getter, )
def dataset_sample_exists(dataset, sample_id): metadata = _get_metadata_repo(dataset) return metadata.has_sample_id(sample_id)