Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 57 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: Bug report
description: Something in MetaManifold does not work as documented.
labels: [bug]
body:
- type: markdown
attributes:
value: |
Search the existing issues first. Raise issues about a fork's own code on that fork.
- type: textarea
id: steps
attributes:
label: Steps or command
description: The command you ran, or the steps in the web interface, so that someone else can repeat them.
validations:
required: true
- type: textarea
id: expected
attributes:
label: What you expected
validations:
required: true
- type: textarea
id: actual
attributes:
label: What happened
description: Include the error message, the server log lines, or a screenshot.
validations:
required: true
- type: input
id: julia
attributes:
label: Julia version
placeholder: output of `julia --version`
validations:
required: true
- type: input
id: r
attributes:
label: R version
description: Only if the problem touches the R runtime; leave empty if you do not know it.
placeholder: output of `R --version | head -1`
- type: input
id: browser
attributes:
label: Browser and version
description: Only for problems in the web interface; leave empty for command-line reports.
- type: input
id: commit
attributes:
label: MetaManifold commit
placeholder: output of `git rev-parse --short HEAD`
- type: textarea
id: config
attributes:
label: Relevant configuration
description: The keys from `pipeline.yml` or the run's `run_config.yml` that bear on the problem.
render: yaml
41 changes: 41 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: Feature request
description: Suggest a new feature or a change to an existing one.
labels: [enhancement]
body:
- type: markdown
attributes:
value: |
Search the existing issues first. To change an architectural decision, describe the change
here before writing any code. The settled decisions in CONTRIBUTING.md can be discussed in an
issue, but a pull request does not reopen them.
- type: textarea
id: problem
attributes:
label: Problem
description: What you are trying to do, and what stops you now.
validations:
required: true
- type: textarea
id: proposal
attributes:
label: Proposed change
description: What MetaManifold should do instead. For a statistical method, name the method and a reference for it.
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: Alternatives considered
- type: dropdown
id: area
attributes:
label: Area
options:
- Pipeline stages
- Analysis and statistics
- Web interface
- Configuration
- Installation and toolchain
- Other
validations:
required: true
19 changes: 19 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
## Change and reason

<!-- One logical change. Link relevant issues without claiming to close unrelated work. -->

## Validation

<!-- Exact commands, results, and Julia/R/bun versions actually tested.
State explicitly what was not run. -->

## Scope

<!-- What related work is left out? Explain any necessary lockfile change. -->

## Contribution checks

- [ ] I followed [CONTRIBUTING.md](https://github.com/JoshuaJewell/MetaManifold-WebUI/blob/main/CONTRIBUTING.md).
- [ ] This branch starts at current upstream main and contains no merges from fork main.
- [ ] CI has run and passes.
- [ ] Existing licensing, citation and acknowledgement text is unchanged.
34 changes: 34 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -240,6 +240,40 @@ The composition view classifies each ASV/OTU into a biological category and rend
<img src=".github/screenshots/composition.png" width="800" alt="Organism-category composition of two runs as stacked bars">
</p>

### Differential abundance

In a study's analysis workspace, select two conditions (runs or pooled-run
subgroups), a results table and a shared taxonomic rank. The first condition
is the reference. Counts are aggregated by taxon after applicable
`analysis.exclude_categories` filters. This workspace does not pass sample
read-count bounds to the differential-abundance request, so those bounds do
not exclude samples from this analysis.

All `analysis.differential` options below (`method`, `offset`,
`min_prevalence` and `replacement_delta`) are resolved at study scope.
Set them in the study configuration; group and run overrides are not used
by this endpoint, including when called from a group Analysis workspace.

`analysis.differential.method` chooses the method:
Comment thread
hyperpolymath marked this conversation as resolved.

- `nb_glm` (default): a negative-binomial GLM per taxon using `MASS::glm.nb`,
with a library-size offset. The effect is log2 fold change; positive values
indicate greater abundance in the second condition. `offset` selects `tss`
(default) or `rle` scaling.
- `clr_welch`: Welch's t-test on centred log-ratios after multiplicative zero
replacement with `zCompositions::cmultRepl`. The effect is a CLR difference,
not a fold change. `replacement_delta` controls the replacement fraction
(default 0.65); `offset` is not used.

For either method, `min_prevalence` (default 0) filters taxa by the fraction of
samples with nonzero counts. Benjamini–Hochberg adjustment includes only taxa
that produced a p-value. Failed or filtered taxa have no substitute p-value;
inspect their status and note in the results table. Invalid input or an
unavailable required R package produces an explicit error.

Implementation and reference tests: `src/analysis/differential.jl`,
`src/server/routes/analysis.jl`, and `test/unit/test_differential.jl`.

### Figures and report

The Figures tab lays analysis charts out on a page (A4, letter or a journal
Expand Down
Loading