malariagen_data.ag3.Ag3.snp_allele_frequencies#
- Ag3.snp_allele_frequencies(transcript: str, cohorts: str | Mapping[str, str], sample_query: str | None = None, sample_query_options: dict | None = None, min_cohort_size: int = 10, site_mask: str | None = None, sample_sets: Sequence[str] | str | None = None, drop_invariant: bool = True, effects: bool = True, include_counts: bool = False, chunks: int | str | Tuple[int | str, ...] | Callable[[Tuple[int, ...]], int | str | Tuple[int | str, ...]] = 'native', inline_array: bool = True) DataFrame #
Compute SNP allele frequencies for a gene transcript.
Parameters#
- transcriptstr
Gene transcript identifier.
- cohortsstr or Mapping[str, str]
Either a string giving the name of a predefined cohort set (e.g., “admin1_month”) or a dict mapping custom cohort labels to sample queries.
- sample_querystr or None, optional
A pandas query string to be evaluated against the sample metadata, to select samples to be included in the returned data.
- sample_query_optionsdict or None, optional
A dictionary of arguments that will be passed through to pandas query() or eval(), e.g. parser, engine, local_dict, global_dict, resolvers.
- min_cohort_sizeint, optional, default: 10
Minimum cohort size. Raise an error if the number of samples is less than this value.
- site_maskstr or None, optional
Which site filters mask to apply. See the site_mask_ids property for available values.
- sample_setssequence of str or str or None, optional
List of sample sets and/or releases. Can also be a single sample set or release.
- drop_invariantbool, optional, default: True
If True, drop variants not observed in the selected samples.
- effectsbool, optional, default: True
If True, add SNP effect annotations.
- include_countsbool, optional, default: False
Include columns with allele counts and number of non-missing allele calls (nobs).
- chunksint or str or tuple of int or str or Callable[[typing.Tuple[int, …]], int or str or tuple of int or str], optional, default: ‘native’
Define how input data being read from zarr should be divided into chunks for a dask computation. If ‘native’, use underlying zarr chunks. If a string specifying a target memory size, e.g., ‘300 MiB’, resize chunks in arrays with more than one dimension to match this size. If ‘auto’, let dask decide chunk size. If ‘ndauto’, let dask decide chunk size but only for arrays with more than one dimension. If ‘ndauto0’, as ‘ndauto’ but only vary the first chunk dimension. If ‘ndauto1’, as ‘ndauto’ but only vary the second chunk dimension. If ‘ndauto01’, as ‘ndauto’ but only vary the first and second chunk dimensions. Also, can be a tuple of integers, or a callable which accepts the native chunks as a single argument and returns a valid dask chunks value.
- inline_arraybool, optional, default: True
Passed through to dask from_array().
Returns#
- DataFrame
A dataframe of SNP allele frequencies, one row per variant allele. The variant alleles are indexed by their contig, their position, the reference allele, the alternate allele and the associated amino acid change. The columns are split into three categories: there is one column for each taxon filter (e.g., pass_funestus, pass_gamb_colu, …) containing whether the site of the variant allele passes the filter; there is then 1 column for each cohort containing the frequency of the variant allele within the cohort, additionally there is a column max_af containing the maximum allele frequency of the variant allele accross all cohorts; finally, there are 9 columns describing the variant allele: transcript contains the gene transcript used for this analysis, effect is the effect of the allele change, impact`is the impact of the allele change, `ref_codon is the reference codon, alt_codon is the altered codon with the variant allele, aa_pos is the position of the amino acid, ref_aa is the reference amino acid, alt_aa is the altered amino acid with the varaint allele, and label is the label of the variant allele.
Notes#
Cohorts with fewer samples than min_cohort_size will be excluded from output data frame.