Available classes

Here are listed the different classes available by module.

Note

We recommend to check the API documentation for more detailed documentation about each class

Parsers

How it works?

from moonstone.parsers import YourFavouriteParser

parser = YourFavouriteParser("/path/to/the/file")
df = parser.dataframe

List

Classic and simple parsers:

MetadataParser

Parse metadata file and allows to apply transformations on them (cleaning…).

Counts parsers (from moonstone.parsers.counts):

genes.GeneCountsParser

Common way of representing gene counts per sample in a matrix.

picrust2.Picrust2PathwaysParser

Predicted sample pathway abundances output file from Picrust2.

Taxonomy counts parsers (from moonstone.parsers.counts.taxonomy):

kraken2.SunbeamKraken2Parser

Parse output from Kraken2 merge table from Sunbeam pipeline.

metaphlan.Metaphlan2Parser

Parse output from Metaphlan2 merged table.

metaphlan.Metaphlan3Parser

Parse output from Metaphlan3 merged table.

qiime.Qiime2Parser

Parse output csv data obtained by Qiime2.

Note

More details on API documentation for api_parsers.

Filtering

How it works?

from moonstone.filtering import YourFavouriteFiltering

filtering_instance = YourFavouriteFiltering(your_df)
df = filtering_instance.filtered_df

List

basics_filtering.NoCountsFiltering

Remove rows (default) or columns with no counts.

basics_filtering.NamesFiltering

Filtering based on row (default) or column names.

basics_filtering.NaNPercentageFiltering

Remove rows (default) or columns with a percentage of NaN values above a given percentage.

basics_filtering.NumberOfDifferentValuesFiltering

Filtering of rows (default) or columns based on the number of different (unique) values they hold.

taxonomy_filtering.TaxonomyNamesFiltering

Filtering a Taxonomy multiindexed dataframe on index names at a chosen level.

taxonomy_filtering.TaxonomyMeanFiltering

Filtering a Taxonomy multiindexed dataframe on sample mean at a chosen level.

mean_filtering.MeanFiltering

Remove items with a mean read count below a given threshold.

Note

More details on API documentation for Filtering.

Normalization

How it works?

from moonstone.normalization import YourFavouriteNormalization

normalization = YourFavouriteNormalization(your_df)
df = normalization.normalized_df

List

counts.geometric_mean.GeometricMeanNormalization

normalization based on the one performed by DeSeq2.

counts.total_counts.TotalCountsNormalization

normalization based on total counts.

counts.random_selection.RandomSelection

Randomly select a given number of counts (threshold) among all different items (genes, taxonomical annotation…) for each sample.

counts.random_selection.TaxonomyRandomSelection

Allow random selection for taxonomy multi-indexed dataframes.

processed.scaling_normalization

Plot

How it works?

from moonstone.plot import PlotCountsStats

# instantiation
plot_instance = PlotCountsStats(df)

# call one (or more) plotting method(s)
plot_instance.your_favorite_plot()
plot_instance.another_of_your_favorite_plot()

List

counts.PlotCountsStats

Several plots available to visualize simple count data.

counts.PlotTaxonomyCounts

Plots available for taxonomy counts (multiindexed dataframe).

metadata.PlotMetadataStats

Several plots available to visualize metadata.

Note

More details on API documentation for Plot.

Analysis

How it works?

from moonstone.analysis import DifferentialAnalysis

# instantiation
analysis_instance = DifferentialAnalysis(df, metadata_df)
analysis_instance.differential_analysis_by_feature(features, type_of_features, test_to_use, correction_method_used)

Note

The way analysis instances work will change using a defined common way of performing analysis.

List

differential_analysis.DifferentialAnalysis

Perform differential analysis using chosen method.

Note

More details on API documentation for Plot.