- Genome Browser
- My Data
- About Us
Sequence and annotation data downloads are usually made available within the first week of the release of a new assembly. The download directories are automatically updated nightly to incorporate additions and modifications to the data.
You can download sequence and annotation data using our FTP server, but we recommend using rsync, which has the advantage of starting up where it left off after a failure, when run again. Please see the previous link for examples.
You can also download data from our Downloads page or our DAS server. To download a specific subset of the data or to configure the output format of the data, use the Table Browser. For information on extracting a large set of sequences from an assembly, see Extracting sequence in batch from an assembly.
For more information on using the UCSC DAS server, see Downloading data from the UCSC DAS server.
Another option for querying sequence and annotation data is the REST API. This interface allows for extraction of sequence and annotations from both UCSC assemblies and from hubs.
To quickly download large volumes of data you can use UDR (UDT Enabled Rysnc): UDR provides users much faster download rates. Here is an example using UDR, once installed, to download all the mouse mm9 ENCODE information that amounts to several terabytes:
$ udr rsync -avP hgdownload.soe.ucsc.edu::goldenPath/mm9/encodeDCC/ /my/local/mm9/
$ udr rsync -avP hgdownload-euro.soe.ucsc.edu::goldenPath/mm9/encodeDCC/ /my/local/mm9/
Optional: download from our secondary download server.
Please read more about the new UDR method here.
$ udr rsync -avP hgdownload2.soe.ucsc.edu::goldenPath/mm9/encodeDCC/ /my/local/mm9/
As of June 2016, the location of metadata tables that support the GenBank and RefSeq tracks (RefSeq, Other RefSeq, mRNA, EST, etc.) have been moved from directories of individual assemblies to one global database, hgFixed.
The tables below (previously found per assembly) can now be downloaded from the hgFixed database:
These tables are also accessible from:
There are two ways to extract genomic sequence in batch from an assembly:
A. Download the appropriate fasta files from our ftp server and extract sequence data using your own tools or the tools from our source tree. This is the recommended method when you have very large sequence datasets or will be extracting data frequently. Sequence data for most assemblies is located in the assembly's "chromosomes" subdirectory on the downloads server. For example, the sequence for human assembly hg17 can be found in ftp://hgdownload.soe.ucsc.edu/goldenPath/hg17/chromosomes/. You'll find instructions for obtaining our source programs and utilities here. Some programs that you may find useful are nibFrag and twoBitToFa, as well as other fa* programs. To obtain usage information about most programs, execute it without arguments.
B. Use the Table browser to extract sequence. This is a convenient way to obtain small amounts of sequence.
The UCSC DAS server provides access to genome annotation data for all current assemblies featured in the Genome Browser. To view a list of the assemblies available from the DAS server and their base URLs, see http://genome.ucsc.edu/cgi-bin/das/dsn.
To construct a DAS query, combine an assembly's base URL with the sequence entry point and type specifiers available for that assembly. The entry point specifies chromosome position, and the type indicates the annotation table requested. You can view the lists of entry points and types available for an assembly with requests of the form:
where [db_name] is the UCSC name for the assembly, e.g. hg16, mm4.
For example, here is a query that returns all the records in the refGene table for the chromosome position chr1:1-100000 on the hg16 assembly:
A more recent alternative to the DAS server is the REST API.
The Genome Browser source code and executables are freely available for academic, nonprofit, and personal use (see Licensing the Genome Browser or Blat for commercial licensing requirements). The latest version of the source code may be downloaded here.
See Downloading Blat source and documentation for information on Blat downloads.
Generally, we'd prefer that you not hit our interactive site with programs, unless they are themselves front ends for interactive sites. We can handle the traffic from all the clicks that biologists are likely to generate, but not from programs. Program-driven use is limited to a maximum of one hit every 15 seconds and no more than 5,000 hits per day.
If you need to run batch Blat jobs, see Downloading Blat source and documentation for a copy of Blat you can run locally.
Microsoft Word or any program that can handle large text files will do. Some of the chromosomes begin with long blocks of Ns. You may want to search for an A to get past them.
Unless you have a particular need to view or use the raw data files, you might find it more interesting to look at the data using the Genome Browser. Type the name of a gene in which you're interested into the position box (or use the default position), then click the submit button. In the resulting Genome Browser display, click the DNA link on the menu bar at the top of the page. Select the Extended case/color options button at the bottom of the next page. Now you can color the DNA sequence to display which portions are repeats, known genes, genetic markers, etc.
Yes. The Genome Browser and Table Browser are both driven by the same underlying MariaDB database. Check that your downloaded tables are from the same assembly version as the one you are viewing in the Genome Browser. If the assembly dates don't match, the coordinates of the data within the tables may differ. In a very rare instance, you could also be affected by the brief lag time between the update of the live databases underlying the Genome Browser and the time it takes for text dumps of these databases to become available in the downloads directory.
The characters most commonly seen in sequence are A, C, G, T, and N, but there are several other valid characters that are used in clones to indicate ambiguity about the identity of certain bases in the sequence. It's not uncommon to see these "wobble" codes at polymorphic positions in DNA sequences. The following chart (IUPAC-IUB Symbols for Nucleotide Nomenclature: Cornish-Bowden (1985). Nucl. Acids Res. 13:3021-3030) lists nucleotide symbols, including those used for ambiguity:
-------------------------------------- Symbol Meaning Nucleic Acid -------------------------------------- A A Adenine C C Cytosine G G Guanine T T Thymine U U Uracil M A or C R A or G Purine W A or T S C or G Y C or T Pyrimidine K G or T V A or C or G H A or C or T D A or G or T B C or G or T X G or A or T or C N G or A or T or C
All ESTs in GenBank on the date of the track data freeze for the given organism are used - none are discarded. When two ESTs have identical sequences, both are retained because this can be significant corroboration of a splice site.
ESTs are aligned against the genome using the Blat program. When a single EST aligns in multiple places, the alignment having the highest base identity is found. Only alignments that have a base identity level within a selected percentage of the best are kept. Alignments must also have a minimum base identity to be kept. For more information on the selection criteria specific to each organism, consult the description page accompanying the EST track for that organism.
The maximum intron length allowed by Blat is 500,000 bases, which may eliminate some ESTs with very long introns that might otherwise align. If an EST aligns non-contiguously (i.e. an intron has been spliced out), it is also a candidate for the Spliced EST track, provided it meets various quality controls for intron and exon length and match quality. Start and stop coordinates of each alignment block are available from the appropriate table within the Table Browser.
Note that only 250 EST tracks can be viewed at a time within the browser. If more than 250 tracks exist for the selected region, the display defaults to a denser display mode to prevent the user's web browser from being overloaded. You can restore the EST track display to a fuller display mode by zooming in on the chromosomal range or by using the EST track filter to restrict the number of tracks displayed.
For tracks such as Non[Organism] ESTs and Non[Organism] mRNAs, some selection is done on the full set at GenBank. If a sequence is too divergent from the organism's genome to generate a significant Blat hit, it is not included in the track.
From the examples above, it can be seen that the strand to which an EST aligns is not necessarily reflected in the direction of transcription shown by the arrows in the display. When UCSC downloads mRNAs and ESTs from GenBank and aligns them to a genome assembly using Blat, each EST aligns to the + or - strand (forward or reverse direction) of the genome, which we record as + or - in the strand field of the corresponding database table, e.g. all_ests or chrN_est. The strand information (+/-) therefore indicates the direction of the match between the EST and the matching genomic sequence. It bears no relationship to the direction of transcription of the RNA with which it might be associated. Determining the direction of transcription for ESTs is not an easy task so we do some calculations to make the best guess for the transcription direction.
ESTs are sequenced from either the 5' or the 3' end. When sequenced from the 5' end, the resulting sequence is the same as that of the mRNA which it represents. With a 3' end read, the resulting sequence matches the opposite strand of the cDNA clone. Therefore, it is the reverse complement of the actual mRNA sequence. A problem occurs if the EST contributor reverse-complements the 3'-read sequence before depositing it into GenBank, with the idea that people will want the mRNA (transcription-direction) sequence. It is not always possible to determine if this has been done. Therefore, we do some calculations to try to determine the correct direction of transcription for the EST sequence.
If an EST alignment produces canonical introns (with gt-ag splice-site pairs), this is used to determine the transcription direction. For example when an EST is aligned to the genome, a canonical intron would look like this:
Here, the two nucleotides on either end of the intron show the canonical gt-ag splice site pairs. To find transcription direction, we use a method that relies on finding gt-ag canonical pairs in one direction more often than in the opposite direction. The calculation is:
gt/ag introns minus ct/ac introns = intronOrientation
The sign of this calculated intronOrientation field (stored in the estOrientInfo table) shows the orientation of the transcript relative to the EST. Therefore, if intronOrientation is positive, then the EST appears in the display with the arrows pointing in the same direction as the EST.
It may have been added after we last downloaded data from GenBank, or it may have been replaced or removed. You can check the submission date and status of an accession on the NCBI Entrez Nucleotide site.
Yes, these tables contain both finished and draft segments. Use the corresponding chrN_gold table to look them up. The quality of the draft varies. In general, the larger the contig it is in, the better the quality. The quality of the last 500 bases on either end of a contig tends to be lower than that of the rest of the contig.
How do you determine the accuracy? The base-calling program Phred analyzes the traces from the sequencing machines and assigns a quality score to these. These quality scores are used by the Phrap assembly program, which gives quality scores for the bases on the assembly as well.
The chr_alt chromosomes, such as chr5_KI270794v1_alt, are alternative sequences that differ from the reference genome currently available for a few assemblies including danRer11, mm10, hg19, and hg38. These are regions of the genome that exhibit sufficient variability to prevent adequate representation by a single sequence. UCSC labels these haplotype sequences by appending "_alt" to their names. These alternative loci scaffolds (such as KI270794.1 in the hg38 assembly, referenced as chr5_KI270794v1_alt in the browser), are mapped to the genome and provide supplemental genomic information on these variable locations. To find the regions these alternate sequences correspond to in the genome you may use the Alt Haplotypes track if one is available.
The chr_fix chromosomes, such as chr1_KN538361v1_fix, are fix patches currently available for the mm10, hg19, and hg38 assemblies that represent changes to the existing sequence. These are generally error corrections (such as base changes, component replacements/updates, switch point updates or tiling path changes) or assembly improvements (such as extension of sequence into gaps). These fix patch scaffold sequences are given chromosome context through alignments to the corresponding chromosome regions. A list of all chromosomes including chr_fix sequences can be found in the mm10, hg19, or hg38 assembly sequences pages.
In the past, these tables contained data related to sequence that is known to be in a particular chromosome, but could not be reliably ordered within the current sequence.
Starting with the Apr. 2003 human assembly, these tables also include data for sequence that is not in a finished state, but whose location in the chromosome is known, in addition to the unordered sequence. Because this sequence is not quite finished, it could not be included in the main "finished" ordered and oriented section of the chromosome.
Also, in a very few cases in the Apr. 2003 assembly, the random files contain data related to sequence for alternative haplotypes. This is present primarily in chr6, where we have included two alternative versions of the MHC region in chr6_random. There are a few clones in other chromosomes that also correspond to a different haplotype. Because the primary reference sequence can only display a single haplotype, these alternatives were included in random files. In subsequent assemblies, these regions have been moved into separate files (e.g. chr6_hla_hap1).
ChrUn contains clone contigs that cannot be confidently placed on a specific chromosome. For the chrN_random and chrUn_random files, we essentially just concatenate together all the contigs into short pseudo-chromosomes. The coordinates of these are fairly arbitrary, although the relative positions of the coordinates are good within a contig. You can find more information about the data organization and format on the Data Organization and Format page.
There is a large block of Ns at the beginning and end of chr22. Search for an A to bypass the initial group of Ns.
On the mm6 assembly, chrY_random erroneously contains a region duplicated from chrY. Because NCBI discovered this assembly problem after the UCSC Genome Browser was processed, we were not able to remove it from mm6 prior to the browser's release. The duplicated section occupies chrY:1-696,521 and chrY_random:29,615,053-30,311,573 (the end of the chromosome) and includes the following repeated fragments:
The fragments are assembled into the contig NT_111995 for chrY_random and also appear (under different names) as regions on contigs MmY_110865_34, MmY_78990_34 and NT_078925.
The following table shows the mapping of chromosomes in the chimp draft assemblies to human chromosomes. Starting with the panTro2 assembly, the numbering scheme was changed to reflect a new standard that preserves orthology with human chromosomes. Initially proposed by E.H. McConkey in 2004, the new numbering convention was subsequently endorsed by the International Chimpanzee Sequencing and Analysis Consortium. This standard assigns the identifiers "2a" and "2b" to the two chimp chromosomes that fused in the human genome to form chromosome 2 and renumbers the other chromosomes to more closely match their human counterparts. As a result, chromosomes 2 and 23 (present in the panTro1 assembly) do not exist in later versions.
|Human Chr||Chimp Chr (panTro1)||Chimp Chr (panTro2)|
You can migrate sequences from one assembly to another by using the Blat alignment tool or by converting assembly coordinates. There are two conversion tools available on the Genome Browser web site: the Convert utility and the LiftOver tool. The Convert utility, which is accessed from the View menu on the Genome Browser annotation tracks page, supports forward, reverse, and cross-species conversions, but does not accept batch input. The LiftOver tool, accessed via the Tools link on the Genome Browser home page, also supports forward, reverse, and cross-species conversions, as well as batch conversions.
Note: It is not recommeneded to use LiftOver to convert SNPs between assemblies, and more information about how to convert SNPs between assemblies can be found on the following FAQ entry.
If you wish to update a large number of coordinates to a different assembly and have access to a Linux platform, you may find it useful to try the command-line version of the LiftOver tool. The executable file for this utility can be downloaded here. LiftOver requires a pre-generated over.chain file as input, available for selected assemblies from the Downloads page. If the desired file is not available, send a request to the genome mailing list and we may be able to provide you with one.
Here is an example on how to set up and run LiftOver from the command line:
chmod +x liftOver
liftOver - Move annotations from one assembly to another usage: liftOver oldFile map.chain newFile unMapped ...
chr1 11166587 11191615 MTOR chr9 136130562 136150630 ABO chr12 25358179 25403854 KRAS chrX 151335633 151619831 GABRA3
./liftOver preLift.bed hg19ToHg38.over.chain.gz conversions.bed unMapped
If you are looking at the RefSeq Genes, the refFlat table contains both the gene name (usually a HUGO Gene Nomenclature Committee ID) and its accession number. For the Known Genes, use the kgAlias table.
To obtain a complete copy of the entire Known Genes data set for an organism, open the Genome Browser Downloads page, jump to the section specific to the organism, click the Annotation database link in that section, then click the link for the knownGene.txt.gz table.
Data for a specific region or chromosome may be obtained from the Table Browser by selecting the "Genes and Gene Prediction Tracks" group, the "UCSC Genes" track and the "knownGene" table. Set the position to the region of interest, then click the "get output" button.
UCSC uses the latest versions of RepeatMasker and repeat libraries available on the date when the assembly data is processed. RepeatMasker version information can usually be found in the README text for the assembly's bigZips downloads directory.
Masking is done using the RepeatMasker -s flag. For mouse repeats, we also use -m. In addition to RepeatMasker, we use the Tandem Repeat Finder (trf) program, masking out repeats of period 12 or less. The repeats are just "soft" masked. Alignments are allowed to extend through repeats, but not initiate in them.
Yes, you can obtain the repeat-masked files via the Table Browser or from the organism's annotation database downloads directory. The RepeatMasker annotation tables are named chrN_rmsk (where N represents the chromosome number) and the Tandem Repeat Finder (TRF) tables are named simpleRepeat.
UCSC occasionally uses updated versions of the RepeatMasker software and repeat libraries that are not yet available on the RepeatMasker website (see Repeat-masking data for more information).
The UCSC Genome Browser offers several ways to obtain this information, depending on your requirements.
The Genome Browser downloads site provides prepackaged downloads of 1000 bp, 2000 bp, and 5000 bp upstream sequence for RefSeq genes that have a coding portion and annotated 5' and 3' UTRs. You can obtain these from the bigZips downloads directory for the assembly of interest.
To fetch the upstream sequence for a specific gene, use the Table Browser. Enter the genome, assembly, and select the knownGene table. Paste the gene name or accession number in the identifier field. Choose sequence for the output format type, then click the get output button. On the next page, select genomic. On the final page, you will have the opportunity to configure the amount of upstream promoter sequence to fetch, along with several other options. Click Get Sequence when you've finished configuring the output.
You can also use the Genome Browser to obtain sequence for a specific gene. Open the Genome Browser window to display the gene in which you're interested. Click the entry for the gene in the RefSeq or Known Genes track, then click the Genomic Sequence link. Alternatively, you can click the DNA link in the top menu bar of the Genome Browser tracks window to access options for displaying the sequence.
The Stanford Human Promoters track on the UCSC Custom Annotation Tracks page shows promoters for some of the human assemblies.
The conservation score data are stored in a group of tables in the annotation database downloads directory. The naming conventions of the tables vary among releases. In earlier assemblies, table names are of the form chrN_humMusL, chrN_zoom1_humMusL, and or chrN_zoom2500_humMusL. In later releases, the tables are named using specific release numbers, such as chrN_hg16Mm3. The tables within a given set differ by the number of bases/score interval and are used to generate the browser displays at different zooming levels.
Is this alignment on the minus strand? Minus strand coordinates in axt files are handled differently from how they are handled in the Genome Browser. To convert axt minus strand coordinates to Genome Browser coordinates, use:
start = chromSize + 1 - axtEnd end = chromSize + 1 - axtStart
See an explanation of coordinate transforms in the genomeWiki.
We assign our own IDs to each of the STS markers, but we also track the UniSTS IDs for each marker in the downloadable stsInfo2 table. To determine the location of a specific marker, look up the marker's name in the stsAlias table to determine the UCSC ID assigned to the marker, and then use this ID to look it up in the stsMap table where the marker is located. For example, D10S249 has UCSC ID 2880 and is located at chr10:240791-241019.
You can obtain this information from the combination of a couple of tables. The stsMap table contains the physical position of all STS markers, including those on the deCODE map. This file also contains information about the position on the genome-wide maps, including the deCODE map. A second file, stsInfo2, contains additional information about each marker, including aliases, primer sequence information, etc. This table is related to the first table by an ID (the identNo field in both files).
Yes. See our documentation on Downloading Data using MariaDB (MySQL).
Connect to the US MariaDB server using the command:
mysql --user=genome --host=genome-mysql.soe.ucsc.edu -A
Or to the European MariaDB server using the command:
mysql --user=genome --host=genome-euro-mysql.soe.ucsc.edu -A
The fourth column of the BED output contains a lot of information separated by underscores. For example:
This information is represented as follows:
The raw data underlying a track can be explored interactively with the Table Browser, Data Integrator, or Variant Annotation Integrator. For automated analysis, the genome annotation can be downloaded from the downloads server, one of our two public MariaDB servers, or using our REST API.
bigBed data: For bigBed files, individual regions or the whole genome annotation can be obtained using our tool bigBedToBed which can be compiled from the source code or downloaded as a precompiled binary for your system. Instructions for downloading source code and binaries can be found here. The tool can also be used to obtain only features within a given range using one of the hgdownload servers, example:
bigBedToBed http://hgdownload.soe.ucsc.edu/gbdb/path/to/file/bigBedfile.bb -chrom=chr21 -start=0 -end=1000000 stdout
bigBedToBed http://hgdownload-euro.soe.ucsc.edu/gbdb/path/to/file/bigBedfile.bb -chrom=chr21 -start=0 -end=1000000 stdout
For versions dbSNP153 and above, the data is formatted in bigBed files. Previous versions are MySQL tables. For help with versions before dbSNP153, see accessing MySQL data. This FAQ entry pertains to versions dbSNP153 and above.
Since dbSNP has grown to include over 700 million variants, the size of the All dbSNP (153+) subtrack can cause the Table Browser and Data Integrator to time out, leading to a blank page or truncated output, unless queries are restricted to a chromosomal region or to a specific set of rs# IDs (which can be pasted/uploaded into the Table Browser), or to one of the subset tracks such as Common or ClinVar.
For automated analysis, the track data files can be downloaded from the downloads server for hg19 and hg38. Below are specific examples for dbSNP153, however, the same methods and directories will work by substituting a more recent dbSNP release.
|dbSnp153.bb||hg19||hg38||bigDbSnp (bigBed4+13)||All dbSNP (153)|
|dbSnp153ClinVar.bb||hg19||hg38||bigDbSnp (bigBed4+13)||ClinVar dbSNP (153)|
|dbSnp153Common.bb||hg19||hg38||bigDbSnp (bigBed4+13)||Common dbSNP (153)|
|dbSnp153Mult.bb||hg19||hg38||bigDbSnp (bigBed4+13)||Mult. dbSNP (153)|
|dbSnp153BadCoords.bb||hg19||hg38||bigBed4||Map Err (153)|
|dbSnp153Details.tab.gz||gzip-compressed tab-separated text||Detailed variant properties, independent of genome assembly version|
Several utilities for working with bigBed-formatted binary files can be downloaded here. Run a utility with no arguments in order to see a brief description of the utility and its options.
Example: retrieve all variants in the region chr1:200001-200400
bigBedToBed http://hgdownload.soe.ucsc.edu/gbdb/hg38/snp/dbSnp153.bb -chrom=chr1 -start=200000 -end=200400 stdout
Example: retrieve variant rs6657048
bigBedNamedItems dbSnp153.bb rs6657048 stdout
Example: retrieve all variants with rs# IDs in file myIds.txt
bigBedNamedItems -nameFile dbSnp153.bb myIds.txt dbSnp153.myIds.bed
UCSC has an API that can be used to retrieve values from a particular chromosome range. A list of rs# IDs can also be pasted/uploaded in the Variant Annotation Integrator tool in order to find out which genes (if any) the variants are located in, as well as functional effect such as intron, coding-synonymous, missense, frameshift, etc.
When using the SNP tracks, some records may contain information about one or more alleles instead of the usual two alleles for the SNP. The following information should explain how this is possible.
Currently, the Table Browser option return data in
GTF format is limited as explained below.
To convert custom GenePred format data into GTF, the best method is to use the
command-line format conversion utility,
genePredToGtf. This can optionally be set up
to automatically connect to the UCSC public SQL database and return GTF files in a few minutes using
this short guide.
For simplicity, GTF files have been generated using the
described above and are available on our download server for the main gene transcript sets.
These can be found at the following download server address:
where $db is the assembly of interest. For example, the hg38 GTF files.
Summary of Table Browser limitations:
GenePred (short for Gene Predictions) is a table
format commonly used for gene tracks in the UCSC Genome Browser where each transcript has a single
row. Tables are not stored in GTF as it would require many rows to describe a single transcript
since each gene feature (i.e., exon) requires a separate line. The
utility can be used to convert genePred to GTF. Download the
system-specific command-line utility from the
Please see the Genes in GTF
or GFF Format wiki page for examples and various methods for conversion. The
utility can convert files from several sources, such as Table Browser output from a genePred table,
a local downloaded gene set table like refGene.txt, or from querying
public MariaDB tables.
Most of our tables have a special first column called "bin" that helps with quickly displaying data on the Genome Browser. This (chrom,bin) index causes query results to be ordered first by bin, then by chromStart. This allows us to query and return results more quickly than if they were sorted by chromStart.
A quick way to sort an output BED file by position is to use the following UNIX command on our Table Browser output BED file:
sort -k1,1 -k2n,2n example.bed > example.sorted.bed
In order for your computer to run a freshly downloaded utility, you will need to update the file
system permissions to allow your operating system to run the program.
To make utilities usable, turn on its 'executable' bit:
$ chmod +x ./filePath
See also: http://en.wikipedia.org/wiki/Chmod
$ chmod +x /home/user/liftover/liftOver
Some data is provided by external groups and is not available for download or mirroring by any third party without the permission of the owners, such as the OMIM track data, which is the property of Johns Hopkins University. For some tools, such as attempting a getData fetch with our API of restricted tracks, a 403 'Forbidden' error will be returned. Please email our private internal firstname.lastname@example.org mailing list if you have any questions.
For certain genomes (GRCm38/mm10, GRCh37/hg19, GRCh38/hg38), NCBI provides an analysis set in addition to the standard genome files. These are FASTA files with modified sequence identifiers and index files convenient for analysis with Next Generation Sequencing tools. These files are particularly helpful for NGS pipelines including variant calling and RNA-Seq analysis.
Though not all analysis sets contain the same information, features include:
For more information on analysis sets, see the NCBI FAQ. Information on what is contained in each specific assembly analysis set can be found in the README by clicking the Genome sequence files link for the assembly of interest in our Downloads page.