Skip to content

File Operations

This guide covers uploading, downloading, and browsing files using the CLI.

Prerequisites

  • CLI installed and authenticated (iflow login)
  • Default project selected (iflow config select-project)
  • Cloud credentials configured for your project

Browsing Files

List Files

# List root directory
iflow files ls

# List subdirectory
iflow files ls data/samples

# List with different project
iflow files ls -p OTHER_PROJECT_ID outputs/

Output:

PATH                          SIZE        MODIFIED
------------------------------------------------------------
data/                         -           2026-01-10T10:00:00Z
outputs/                      -           2026-01-12T15:30:00Z
config.yaml                   1.2 KB      2026-01-08T09:00:00Z

Downloading Files

Download Single File

# Download to current directory (keeps original name)
iflow files download data/sample.vcf

# Download with custom name
iflow files download data/sample.vcf -o my_sample.vcf

# Download from different project
iflow files download -p OTHER_PROJECT_ID results/report.pdf

Download Directory Contents

# List files first
iflow files ls outputs/run-001/

# Download each file
iflow files download outputs/run-001/report.pdf
iflow files download outputs/run-001/variants.vcf

Uploading Files

Upload Single File

# Upload to specific path
iflow files upload local_sample.vcf data/sample.vcf

# Upload to different project
iflow files upload -p OTHER_PROJECT_ID sample.vcf data/sample.vcf

Upload Multiple Files

# Upload each file separately
iflow files upload R1.fastq.gz data/R1.fastq.gz
iflow files upload R2.fastq.gz data/R2.fastq.gz

Project Bucket Structure

Each project has a dedicated cloud storage bucket:

gs://iflow-org-{org}-proj-{project}/
├── data/                    # Input data
│   ├── fastq/              # Raw sequencing files
│   └── vcf/                # VCF files for analysis
├── outputs/                 # Pipeline outputs
│   └── run-{timestamp}/    # Output per run
└── config/                  # Configuration files

File paths in CLI commands are relative to this bucket root.


Working with Analysis Outputs

After a pipeline analysis completes, outputs are available in the outputs/ directory:

# Check analysis output location
iflow analyses status ANALYSIS_ID
# Output: analyses/hereditary-mock-20260113-100000/

# List analysis outputs
iflow files ls outputs/hereditary-mock-20260113-100000/

# Download specific outputs
iflow files download outputs/hereditary-mock-20260113-100000/report.pdf
iflow files download outputs/hereditary-mock-20260113-100000/variants.vcf

Command Reference

files ls

iflow files ls [PATH] [OPTIONS]
Option Description
PATH Path within bucket (default: root)
-p, --project Project ID (uses default if not specified)
--curl Output curl command

files download

iflow files download <PATH> [OPTIONS]
Option Description
PATH Remote file path (required)
-o, --output Local output path
-p, --project Project ID

files upload

iflow files upload <LOCAL_PATH> <REMOTE_PATH> [OPTIONS]
Option Description
LOCAL_PATH Local file to upload (required)
REMOTE_PATH Destination path in bucket (required)
-p, --project Project ID

Next Steps