You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: DESCRIPTION
+3-2Lines changed: 3 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -22,12 +22,11 @@ Description:
22
22
which serves as a guide to connect all the pieces together by aligning them into a single object that is defined as an 'omics' class.
23
23
Once this unified structure is established, users can perform manual subsetting, visualisation, and statistical analysis, or leverage the automated 'autoFlow' method to generate a comprehensive report.
[](https://anaconda.org/agusinac/r-omicflow)
5
7
[](https://hub.docker.com/r/agusinac/autoflow)
6
8
7
-
OmicFlow
8
-
================
9
+
## Overview
10
+
11
+
OmicFlow is a generalised data structure for fast and efficient loading of various sparse omics data. It can handle metataxonomics/metagenomics data in text or [BIOM](https://biom-format.org/documentation/format_versions/biom-2.0.html) and extends to `proteomics` and other `omics` types. It also supports non-sparse data, but it's performance peaks in sparsity.
9
12
10
13
## Installation
11
14
---
@@ -23,63 +26,9 @@ install.packages('pak') # if not yet installed
23
26
pak::pkg_install('agusinac/OmicFlow@dev')
24
27
```
25
28
26
-
## 📋 Metadata File Specification
27
-
28
-
OmicFlow expects your sample metadata to follow a **simple, but strict** structure so that all datasets are compatible and validated up‑front. Sample metadata can be supplied as a **CSV/TSV** file or as a `data.table` in R. In both cases the sample metadata should contain a header (this is your first line if you supply a file) where **each row = one sample** Additional column names not mentioned here are allowed and will be ignored during the metadata validation step.
29
-
30
-
---
31
-
32
-
### **Minimum requirement**
33
-
-**`SAMPLE_ID`** ➡ every row **must** have a unique, non‑empty sample identifier.
34
-
- No spaces are allowed in IDs — use underscores `_` or dashes `-` instead.
|`SAMPLEPAIR_ID`| string | Optional — no spaces. Use when samples are paired and belong to an individual source/subject |
57
-
58
-
#### 🔹 Pattern‑based columns
59
-
You can define extra variables using special prefixes:
60
-
-**`CONTRAST_...`** → grouping/category labels used in differential comparisons
61
-
Example: `CONTRAST_Treatment` with values `Drug` / `Placebo`
62
-
-**`VARIABLE_...`** → numeric or string variables for statistical analysis
63
-
Example: `VARIABLE_Age` with values `42`, `51`, etc.
64
-
65
-
The pattern-based columns are only used during the `autoFlow` function. At the moment only columns with prefix `CONTRAST_` are supported.
66
-
Example: **Outputs a `report.html` file in the current working directory**
67
-
```R
68
-
taxa$autoFlow(
69
-
normalize=FALSE,
70
-
weighted=TRUE,
71
-
pvalue.threshold=0.05
72
-
)
73
-
```
74
-
---
75
-
76
29
## Usage
77
-
> [!NOTE]
78
-
> Make sure your metadata meets the requirements!
79
30
---
80
-
The abstract class `omics` can be used for any type of omics data where a `treeData` is not required. Let's say you have a `metaData` and `countData` (file or a matrix with rownames), these can be supplied directly to `omics` and a `featureData` field is then automatically generated. You can change all fields via `<-` and these will be automatically synced in the background.
81
-
82
-
The `metagenomics` class has extra support for biom files in both HDF5 ([version 2](https://biom-format.org/documentation/format_versions/biom-2.0.html)) as JSON data structure to be passed via `biomData` on top of the default `omics` fields. The `proteomics` class is more an extension of the `omics` class that also allows the input of a `treeData` and performs alignment by the `treeData` tip labels.
31
+
Initialize the `metagenomics` or any `omics` object from a filepath or pre-loaded object.
83
32
```R
84
33
library("OmicFlow")
85
34
@@ -113,8 +62,6 @@ str(taxa)
113
62
114
63
### Visualisations
115
64
---
116
-
> [!NOTE]
117
-
> All visualizations use by default color-blind palettes!
> Since v1.5 OmicFlow computes dissimilarity metrics from both sparse and dense matrices!
134
-
135
-
By default PERMANOVA is applied pairwise against each group within the specified contrast, via `group_by` that is used in `pairwise_adonis`. The permutation design in `vegan::adonis2` is by default set to `free`. But this may not always be the right test when you have paired samples and you also want to restrict permutations between different sites or genders. Therefore, `pairwise_adonis` supports a custom permutation design, which can be constructed via [permute](https://cran.r-project.org/web/packages/permute/vignettes/permutations.html) and fed into `vegan::adonis2` as a function via `pairwise_adonis` with the flag `perm_design`. See the examples below.
79
+
By default PERMANOVA is applied pairwise against each group within the specified contrast, via `group_by` that is used in `pairwise_adonis`. The permutation design in `vegan::adonis2` is by default set to `free`. But this may not always be the right test when you have paired samples and you also want to restrict permutations between correlated values. Therefore, `pairwise_adonis` supports a custom permutation design, which can be constructed via [permute](https://cran.r-project.org/web/packages/permute/vignettes/permutations.html) and fed into `vegan::adonis2` as a function via `pairwise_adonis` with the flag `perm_design`.
The `volcano_plot` will contain the average percentage abundance for each Genus between the two contrasts. Additional parameters can be used to only filter for relevant bacteria based on the `pvalue.threshold`, `foldchange.threshold` and `abundance.threshold`. The returned p-values can be adjusted and used for a new volcano plot via `OmicFlow::volcano_plot`.
211
-
```R
212
-
res<-taxa$DFE(
213
-
feature_rank="Genus",
214
-
feature_filter= c("uncultured"),
215
-
paired=FALSE,
216
-
condition.group="CONTRAST_sex",
217
-
condition_A="male",
218
-
condition_B="female"
219
-
)
220
-
221
-
res$volcano_plot
222
-
```
223
-
224
-
## Run OmicFlow and autoFlow standalone script with docker!
151
+

225
152
226
-
> [!NOTE]
227
-
> Symbolic links do not work with mounting, please only copy the original file!
153
+
## Docker
228
154
229
155
Example: **Outputs a `report.html` file in current work directory**
0 commit comments