Developer Resources

Documentation

Your comprehensive guide to the Pango.Network platform, tools, and API. Learn how to analyze sequences, integrate with your pipelines, and get the most out of our tools.

Getting Started

Welcome to the Pango.Network analysis platform. Our goal is to provide a powerful, accessible interface for SARS-CoV-2 genomic analysis. You can interact with our platform in three primary ways:

Web Interface

GUI

The easiest way to analyze sequences. Drag, drop, and get results.

Command Line

CLI

In-browser CLI for quick job management and status checks.

REST API

Programmatic

Integrate analysis into your automated pipelines.


Using the Graphical Interface

The GUI is the easiest way to get started with your analysis. Follow these steps:

Step 1

Navigate to the Analyze Page

Click the "Analyze" button in the header navigation.

Step 2

Upload Your Data

Drag and drop a sequence file onto the upload area, or click to browse your local files. The file should contain one or more SARS-CoV-2 genome sequences.

Supported formats: FASTA (.fasta, .fa, .fna), GenBank (.gb, .gbk), FASTQ (.fastq, .fq)

Compression: .gz and .zip files are automatically decompressed

Step 3

Select Tools

By default, both Pangolin and Nextclade are selected for analysis. In the future, you will be able to select or deselect specific tools.

Step 4

Start Analysis

Click the "Start Analysis" button. Your file will be uploaded, and the analysis job will be submitted.

Step 5

Monitor Progress

You will see real-time status updates as your job is processed. Once complete, a link to the results page will appear.


Using the Command Line

For users who prefer a command-line environment, our in-browser CLI provides direct access to job management.

Available Commands

help

Displays a list of all available commands.

status <job-id>

Checks the current status of a submitted analysis job.

results <job-id>

Fetches and displays the results for a completed job.

clear

Clears the terminal screen.

Pro Tip

The CLI is ideal for quickly checking on jobs you have submitted via the GUI or API without leaving the browser.

API Reference

Our REST API allows for programmatic submission and retrieval of analysis jobs. This is ideal for integration into automated bioinformatics pipelines.

Base URL

All API endpoints are prefixed with https://pango.network/api/v1

Supported File Formats

Sequence Formats

FASTA

.fasta, .fa, .fna

GenBank

.gb, .gbk, .genbank

FASTQ

.fastq, .fq (with quality filtering)

Compression

GZIP

.gz (auto-decompressed)

ZIP

.zip (auto-extracted)

Endpoints

POST /analyze

Submit Analysis Job

Submits a new analysis job. The request must be a multipart/form-data request. Supports FASTA, GenBank, FASTQ formats and compressed files (.gz, .zip).

Parameters

requiredfile

Sequence file (FASTA, GenBank, or FASTQ format).

optionaltools

Comma-separated tools. Default: "pangolin,nextclade,scorpio"

optionaloptions

JSON string with additional options (see below).

Options Object

analysis_mode

"fast" | "accurate" | "comprehensive"

include_phylogenetic

boolean - Include UShER tree placement

min_length

number - Minimum sequence length

fastq_min_quality

number - Min quality score for FASTQ (default: 20)

Response

json
1{
2 "job_id": "uuid-string",
3 "status": "queued",
4 "sequence_count": 10,
5 "status_url": "/v1/jobs/{job_id}",
6 "results_url": "/v1/results/{job_id}"
7}

Example cURL Request

bash
1# Basic request
2curl -X POST "https://pango.network/api/v1/analyze" \
3 -F "file=@sequences.fasta"
4
5# With options
6curl -X POST "https://pango.network/api/v1/analyze" \
7 -F "file=@sequences.fasta.gz" \
8 -F "tools=pangolin,nextclade" \
9 -F 'options={"analysis_mode":"fast","min_length":25000}'

GET /jobs/{job_id}

Get Job Status

Retrieves the current status and progress of an analysis job.

Response

json
1{
2 "job_id": "uuid-string",
3 "status": "processing", // queued | processing | completed | failed | cancelled
4 "progress": 45.5,
5 "current_tool": "pangolin",
6 "sequence_count": 100,
7 "processed_count": 45,
8 "created_at": "2024-01-15T10:30:00Z",
9 "started_at": "2024-01-15T10:30:05Z",
10 "completed_at": null,
11 "error_message": null
12}

Example cURL Request

bash
1curl "https://pango.network/api/v1/jobs/your-job-id-here"

GET /jobs

List All Jobs

Retrieves a list of all submitted jobs, ordered by creation date (newest first).

Example cURL Request

bash
1curl "https://pango.network/api/v1/jobs"

GET /results/{job_id}

Retrieve Results

Retrieves the full analysis results for a completed job.

Response (Completed Job)

json
1{
2 "summary": {
3 "count": 10,
4 "tools_used": ["pangolin", "nextclade", "usher"],
5 "parallel_execution": true
6 },
7 "results": [
8 {
9 "sequence_name": "seq1",
10 "pangolin": {
11 "lineage": "XBB.1.5",
12 "confidence": 0.98
13 },
14 "nextclade": {
15 "clade": "23A",
16 "qc.overallStatus": "good"
17 }
18 }
19 ],
20 "tree": "newick-tree-string"
21}

Example cURL Request

bash
1curl "https://pango.network/api/v1/results/your-job-id-here"

DELETE /jobs/{job_id}

Cancel Job

Cancels a queued or processing job. Completed or failed jobs cannot be cancelled.

Example cURL Request

bash
1curl -X DELETE "https://pango.network/api/v1/jobs/your-job-id-here"

POST /files/upload

Upload File

Upload a file to temporary storage and receive a handle for later use with the analyze endpoint.

Response

json
1{
2 "filename": "sequences.fasta",
3 "file_handle": "temp/uuid/sequences.fasta"
4}

Example cURL Request

bash
1curl -X POST "https://pango.network/api/v1/files/upload" \
2 -F "file=@sequences.fasta"

Interactive API Documentation

Full interactive API documentation with request/response schemas is available at /api/docs (Swagger UI) or /api/redoc (ReDoc).

Tool Guides

Pangolin

Lineage Assignment Tool

Pangolin (Phylogenetic Assignment of Named Global Outbreak LINeages) is the core tool for assigning Pango lineages. It takes a FASTA file of SARS-CoV-2 sequences and, using a machine learning model, assigns the most likely lineage to each sequence.

Interpreting Results

Lineage

The assigned Pango lineage (e.g., B.1.1.7, XBB.1.5).

Conflict

Level of conflict in phylogenetic placement. Lower is better.

Ambiguity

Uncertainty score. Higher scores mean more uncertainty.

Nextclade

Sequence Analysis Tool

Nextclade is a powerful tool for in-depth sequence analysis. It performs clade assignment, mutation calling, and quality control checks.

Interpreting Results

Clade

The assigned Nextstrain clade (e.g., 21L, 22B).

QC Status

Quality control assessment (good, mediocre, bad).

Substitutions

Number of nucleotide substitutions vs reference.