Skip to content

Command Line Interface

The iflow CLI provides command-line access to all iFlow platform features.

Features

  • Authentication - Login with email/password, SSO, or PAT tokens
  • File Management - Browse, upload, and download files
  • Subject Management - Create and manage patients with clinical metadata
  • Sample Management - Create samples, generate sampleinfo for pipelines
  • Order Management - Create and track clinical orders with samplesheets
  • Pipeline Execution - Submit and monitor Nextflow/WDL workflows
  • Configuration - Manage endpoints and settings
  • API Debugging - Generate curl commands with --curl flag

Architecture

The CLI interacts with multiple services:

┌─────────────────────────────────────────────────────────────────┐
│                         iflow CLI                                 │
└─────────────────────────────────────────────────────────────────┘
         │              │              │              │
         ▼              ▼              ▼              ▼
    ┌─────────┐   ┌─────────┐   ┌─────────┐   ┌─────────┐
    │  admin  │   │  files  │   │  miner  │   │ compute │
    │ service │   │ service │   │ service │   │ service │
    └─────────┘   └─────────┘   └─────────┘   └─────────┘
         │              │              │              │
         ▼              ▼              ▼              ▼
      Users &        Cloud         Orders &       Pipelines
      Projects       Storage       Samples        & Analyses

Order-Analysis Workflow: Orders (clinical cases) are created in miner-service. Pipeline analyses are executed in compute-service and can be associated with orders via --order-id.

Quick Start

# Install
pip install intelliseq-iflow

# Login with PAT token (recommended)
iflow login --token YOUR_PAT_TOKEN

# Check status
iflow status

# Select default project (one-time setup)
iflow config select-project

# Now all commands work without -p flag
iflow files ls
iflow orders list
iflow analyses list

Typical Workflow

# 1. Create a clinical order
iflow orders create -n "Patient Case 001"

# 2. Upload data files
iflow files upload sample_R1.fastq.gz data/sample_R1.fastq.gz
iflow files upload sample_R2.fastq.gz data/sample_R2.fastq.gz

# 3. Run a pipeline associated with the order
#    File paths are relative to your project bucket
iflow analyses submit --pipeline hereditary-mock \
  --order-id ORDER_ID \
  -P case_id=case-001 \
  -P child_fastq=data/sample_R1.fastq.gz \
  -P child_fastq=data/sample_R2.fastq.gz \
  --watch

# 4. Check run status
iflow analyses list --order-id ORDER_ID

# 5. Download results
iflow files ls outputs/
iflow files download outputs/report.html

Documentation

Guide Description
Installation Setup and authentication
Quick Reference All commands at a glance
File Operations Upload, download, browse files
Managing Analyses Submit and monitor pipeline analyses
Pipeline Workflows Pipeline versioning and execution
Managing Subjects Create patients with clinical metadata
Managing Samples Create samples, generate sampleinfo
Order Management Clinical order workflow