Skip to content

hosting

Carolina Monzó edited this page Feb 4, 2026 · 3 revisions

Hosting Your Hub

Step-by-step guide to hosting your SQANTI-browser track hub for UCSC Genome Browser.


📦 Hosting Options

Your track hub needs to be publicly accessible via HTTP/HTTPS. You can use:

Option Best For Setup Time
GitHub Repositories Most users, free, easy 5 minutes
Institutional Server Lab/university hosting Varies
Cloud Storage Large files, high traffic 10 minutes
Personal Web Server Full control Varies

All options work equally well with UCSC! Choose what's easiest for you.


Option 1: GitHub (Recommended for Beginners)

Quick Steps

  1. Create public repository on github.com
  2. Upload your hub files (drag & drop or git push)
  3. Get the raw URL to hub.txt
  4. Load in UCSC (My Data → Track Hubs)

Getting the Raw URL

Your hub URL must be the raw GitHub URL:

✅ Correct:
https://raw.githubusercontent.com/username/repo/main/hub.txt

❌ Wrong:
https://github.com/username/repo/blob/main/hub.txt

How to get it:

  • Click on hub.txt in your repo → Click "Raw" button → Copy URL
image

Or construct it:

https://raw.githubusercontent.com/[username]/[repo]/[branch]/hub.txt

Using Git Command Line (Optional)

# In your hub directory
git init
git add .
git commit -m "Add SQANTI hub"
git remote add origin https://github.com/username/my-hub.git
git push -u origin main

Option 2: Institutional/Lab Server

If your institution provides web hosting:

# Upload via SCP
scp -r my_hub/ user@server.edu:/public_html/hubs/

# Your hub URL:
http://server.edu/~user/hubs/my_hub/hub.txt

Requirements:

  • Files must be publicly accessible (no authentication)
  • Web server must allow direct file access

Option 3: Cloud Storage

AWS S3

# Upload and make public
aws s3 cp my_hub/ s3://my-bucket/my_hub/ --recursive --acl public-read

# Your hub URL:
https://my-bucket.s3.amazonaws.com/my_hub/hub.txt

Google Cloud Storage

# Upload and make public
gsutil -m cp -r my_hub/ gs://my-bucket/
gsutil -m acl ch -u AllUsers:R gs://my-bucket/my_hub/**

# Your hub URL:
https://storage.googleapis.com/my-bucket/my_hub/hub.txt

Loading Your Hub in UCSC

Same steps for all hosting options:

  1. Go to genome.ucsc.edu

  2. Click My DataTrack Hubs

image
  1. Paste your hub URL in the Connected Hubs tab (must point to hub.txt)
image
  1. Click Add Hub

  2. Select genome and navigate to view tracks

image

First time? Tracks may load in "hide" mode - change to "full" or "pack" to see them.


Updating Your Hub

After Uploading New Files

  1. Disconnect the hub in UCSC (My Hubs → Disconnect)
  2. Add udcTimeout=5 to force cache refresh:
    https://genome.ucsc.edu/cgi-bin/hgTracks?udcTimeout=5
    
  3. Reconnect your hub

For GitHub

# Regenerate hub locally
python -m sqanti_browser ...

# Push updates
git add .
git commit -m "Update hub"
git push

Then disconnect/reconnect in UCSC as above.


Validation Before Uploading

Always validate your hub locally first:

# Check hub structure
hubCheck hub.txt

# Test inputs before generating hub
python -m sqanti_browser ... --validate-only

This catches errors before you upload!


Common Issues

Problem Solution
Hub not loading • Check URL is public (try in incognito browser)
• Verify hub.txt is at the URL root
• Run hubCheck hub.txt locally
Files not found (404) • Use relative paths in trackDb.txt, not absolute
• Check all .bb files uploaded
Changes not appearing • Disconnect hub
• Add udcTimeout=5 to URL
• Reconnect hub
GitHub: Wrong URL format Must use raw.githubusercontent.com, not regular GitHub URL

More help: See Troubleshooting


⚠️ Not Recommended

Dropbox / Google Drive - Require authentication, don't provide direct file access

Private repositories - UCSC cannot access authentication-protected files


See Also


Clone this wiki locally