
Introduction
This page documents the various endpoints used to convert IGB Quickloads to a UCSC track hub.
Converter UI
Get Requests
There are 3 get requests with different file paths /hub.txt, /genomes.txt, trackDb.txt.
/hub.txt
Logic
This URL returns the following fields as a response: hub, shortLabel, longLabel, genomesFile, and email.
- hub – Generated from quickLoadUrl + /contents.txt. The contents.txt file contains the available genome assemblies and their titles. The first genome name in contents.txt is considered the hub name and is prefixed with "IGB" to make it unique.
- shortLabel – Same as hub. It is displayed as the Hub name when a track hub URL is added in Connected Hubs in UCSC Track Data Hubs.
- longLabel – Displays the first genome name and the count of the other available genomes. It appears as the description in UCSC Track Data Hubs.
- genomesFile – Always set to genomes.txt.
- email – Always set to igbhelper@gmail.com.
/genomes.txt
/trackDb.txt
Logic
- The field values are generated from quickLoadUrl + "/" + genome_name + "/annots.xml".
- Consider only <file> tags where reference="none".
- This URL returns the following fields: track, bigDataUrl, shortLabel, longLabel, type, and visibility.
- track – The first word in the title attribute.
- bigDataUrl – The name field of the <file> tag if it is already a URL. Otherwise, it is constructed as quickLoadUrl + "/" + genome_name + "/" + name.
- shortLabel – The last word of the title attribute.
- longLabel – The description field of the <file> tag.
- type – Determined based on the file extension of bigDataUrl.
- genomic_extensions = {
'bigWig': ['bw', 'bigwig'],
'bigBed 12': ['bb', 'bigbed'],
'bigGenePred': ['bb'],
'bigChain': ['bigchain'],
'bigNarrowPeak': ['bb'],
'bigBarChart': ['bb'],
'bigInteract': ['bb'],
'bigPsl': ['bb'],
'bigMaf': ['bb'],
'hic': ['hic'],
'bam': ['bam', 'cram'],
'HAL': ['hal'],
'vcfTabix': ['vcf', 'vcf.gz']
} - Get the extension of bigDataUrl.
- If the extension is present in genomic_extensions and equals "bb", check whether the word before .bb matches a key in genomic_extensions. If yes, return that key (e.g., bigGenePred).
- Example: GSE63189_Catalog_of_lncRNAs_in_MCF-7cells.bigGenePred.bb → bigGenePred
- Otherwise, if the extension matches a value in genomic_extensions, return the corresponding key.
- If the extension is just .bb, return bigBed 12.
- visibility – Always set to "dense".
Head Request
Logic
- Returns headers and status_code. The status_code is determined by verifying all GET calls.
Purpose
- UCSC makes a HEAD request to validate the URL when it is added to Connected Hubs.
- To test:
- Go to UCSC Track Data Hubs → Connected Hubs tab.
- When the URL is pasted, UCSC sends a HEAD request to verify the status code.
Generate UCSC Synonyms.txt