Skip to content

CLI Reference

The motco command-line interface provides three subcommands.

usage: motco [-h] [--version] {plsr,snf,de} ...

MOTCO CLI: PLSR, SNF, and group differences

positional arguments:
  {plsr,snf,de}
    plsr         Run PLS-DA with double cross-validation
    snf          Similarity Network Fusion
    de           Group differences on trajectories (estimate or RRPP)

motco plsr

Run PLS-DA with double cross-validation. Input can be a single CSV (with --data and --label-col) or separate predictor/label CSVs (--x / --y).

usage: motco plsr [-h] [--data DATA] [--label-col LABEL_COL] [--x X] [--y Y]
                  [--cv1-splits CV1_SPLITS] [--cv2-splits CV2_SPLITS]
                  [--n-repeats N_REPEATS] [--max-components MAX_COMPONENTS]
                  [--random-state RANDOM_STATE] [--out-table OUT_TABLE]
                  [--out-vips OUT_VIPS]

options:
  --data DATA                CSV with predictors and label column
  --label-col LABEL_COL      Label column name when using --data
  --x X                      CSV with predictors (features)
  --y Y                      CSV with labels/outcomes
  --cv1-splits CV1_SPLITS    Inner CV folds
  --cv2-splits CV2_SPLITS    Outer CV folds
  --n-repeats N_REPEATS      Number of outer CV repeats
  --max-components MAX_COMPONENTS
                             Maximum latent variables to search
  --random-state RANDOM_STATE
                             Random seed for reproducibility
  --out-table OUT_TABLE      Path to save the best models table (CSV)
  --out-vips OUT_VIPS        Path to save VIP scores per feature (CSV)

Example:

motco plsr \
  --data data.csv --label-col group \
  --cv1-splits 5 --cv2-splits 5 --n-repeats 10 --max-components 5 \
  --out-table results/plsr_table.csv \
  --out-vips results/vips.csv

motco snf

Similarity Network Fusion across two or more omics CSV files. Pass --input once per dataset (all must have the same number of rows in the same sample order).

usage: motco snf [-h] [--input INPUT] [--K K] [--eps EPS] [--k K] [--t T]
                 [--out-fused OUT_FUSED] [--out-embedding OUT_EMBEDDING]
                 [--spectral-components SPECTRAL_COMPONENTS]

options:
  --input INPUT              Input CSV (repeat for multiple omics)
  --K K                      K for affinity construction (default: 20)
  --eps EPS                  Epsilon for affinity construction (default: 0.5)
  --k K                      k for sparse kernel in SNF (default: 20)
  --t T                      Number of SNF iterations (default: 20)
  --out-fused OUT_FUSED      Path to save fused matrix (CSV)
  --out-embedding OUT_EMBEDDING
                             Path to save spectral embedding (CSV)
  --spectral-components SPECTRAL_COMPONENTS
                             Number of spectral embedding components (default: 10)

Example:

motco snf \
  --input proteomics.csv --input metabolomics.csv \
  --K 20 --k 20 --t 20 \
  --out-fused results/fused.csv \
  --out-embedding results/embedding.csv \
  --spectral-components 10

motco de

Estimate group trajectory differences, optionally with RRPP permutation testing.

Estimate only (no p-values): provide --model-matrix.

RRPP (with p-values): provide --model-full, --model-reduced, and --rrpp-permutations.

usage: motco de [-h] --Y Y --ls-means LS_MEANS --contrast CONTRAST
                [--model-matrix MODEL_MATRIX] [--model-full MODEL_FULL]
                [--model-reduced MODEL_REDUCED]
                [--rrpp-permutations RRPP_PERMUTATIONS] [--out-json OUT_JSON]
                [--out-observed OUT_OBSERVED]

options:
  --Y Y                      Outcome matrix CSV (latent space coordinates)
  --ls-means LS_MEANS        Least-squares means CSV
  --contrast CONTRAST        JSON file with groups (list of index lists)
  --model-matrix MODEL_MATRIX
                             Model matrix CSV (with intercept) for estimate_difference
  --model-full MODEL_FULL    Full model matrix CSV (with intercept) for RRPP
  --model-reduced MODEL_REDUCED
                             Reduced model matrix CSV (with intercept) for RRPP
  --rrpp-permutations RRPP_PERMUTATIONS
                             Number of permutations for RRPP
  --out-json OUT_JSON        Output JSON file
  --out-observed OUT_OBSERVED
                             Save predicted LS-mean vectors as CSV

Example — estimate only:

motco de \
  --Y latent.csv --model-matrix model_full.csv \
  --ls-means ls_means.csv --contrast contrast.json \
  --out-json results/de.json \
  --out-observed results/ls_mean_vectors.csv

Example — RRPP:

motco de \
  --Y latent.csv \
  --model-full model_full.csv --model-reduced model_reduced.csv \
  --ls-means ls_means.csv --contrast contrast.json \
  --rrpp-permutations 999 \
  --out-json results/rrpp.json