Converter UI
Url
- https://translate.bioviz.org/
Get Requests
- There are 3 get requests with different file paths /hub.txt, /genomes.txt, trackDb.txt. The logic for each get request is explained below.
/hub.txt
/genomes.txt
Url
- https://translate.bioviz.org/api/igbTrackHubs?quickLoadUrl=https://api.bitbucket.org/2.0/repositories/lorainelab_udaya/testquickload/src/main/quickload2&filePath=/genomes.txt
Logic
- This URL returns the following fields: genome, trackDb, organism, defaultPos, and twoBitPath.
- genome – Generated from quickLoadUrl + /contents.txt. The genome name is validated against UCSC genome names by checking ucsc_synonyms.txt (see the section Generate UCSC Synonyms.txt). If the genome name matches a UCSC genome name, only genome and trackDb are returned. Otherwise, organism, defaultPos, and twoBitPath are also included.
- trackDb – Constructed as genome_name + /trackDb.txt.
- organism – Required only when the genome name is not a UCSC genome name. The value is fetched from species.txt in the integrated-genome-browser repository. The first two words of the genome name (separated by _) are used to search in species.txt. If a match is found, the organism name from the first column of that row is used.
- defaultPos – Fetched from quickLoadUrl + "/" + genome_name + "/genome.txt". The genome.txt file contains chromosome lengths and assembly information. defaultPos is set as <first_chromosome_name>:0-<length_of_first_chromosome>.
- twoBitPath – If a 2bit file exists at quickLoadUrl + "/" + genome_name + "/" + genome_name + ".2bit", that path is used. Otherwise, it is retrieved from annots.xml within the same directory by selecting the <file> tag whose reference attribute is true.
trackDb.txt
Url
- https://translate.bioviz.org/api/igbTrackHubs?quickLoadUrl=https://api.bitbucket.org/2.0/repositories/lorainelab_udaya/testquickload/src/main/quickload2&filePath=/A_thaliana_Jun_2009/trackDb.txt
Logic
- This URL returns the following fields: track, bigDataUrl, shortLabel, longLabel, type, and visibility.
- The field values are generated from quickLoadUrl + "/" + genome_name + "/annots.xml".
- Consider only <file> tags where reference="none".
- 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.
- 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