<p>The main difference is in the way the chromosomes are named - UCSC uses the "chr" prefix (so chromosome 1 is "chr1") while in gencode the "chr" isn't used (so chromosome 1 is just "1"). Depending on your use case, this can obviously cause problems - if you're trying to match a locus (e.g. from gencode 1:1000002) between them, whatever tool you use is going to be looking in your aligned data for "1:1000002", but in your aligned data, it'll be named "chr1:1000002", so it won't match the two up. </p>

CC BY-SA 4.0
2019-06-13T07:48:27.323Z
Both use the `chr` prefix for the most recent human and mouse releases.
Devon Ryan
CC BY-SA 4.0
2019-06-13T07:59:55.437Z
so its with the annotation file my results would vary  but not much with the references?
kcm
CC BY-SA 4.0
2019-06-13T07:46:45.880Z
2019-06-13T07:46:45.880Z
JenG
<p><strong>Never use genomes or annotations from UCSC</strong>, they're poorly versioned and only recently with mouse and human have they even included all of the contigs. For fasta/GTF files from early in the GRCh38 release, you can tell whether you're using UCSC or Gencode by the presence/absence of <code>_random</code> contigs, which will only exist for UCSC. These were mostly later split into the actual contigs, so recent download from UCSC should more closely match what you find at Gencode/Ensembl. Further, that time predated UCSC beginning to adopt Gencode's vastly superior annotations, so if your GTF file has instances where the same gene ID is on either multiple strands or multiple chromosomes (this is obviously biologically impossible) then you have a UCSC GTF file.</p>

<p>In general, with early GRCh38 releases your only real issues will be with _random contigs, which are a minority of the genome and don't have all that many genes. But really, you should be keeping track of the sources of your files and ensuring that they're compatible.</p>

<p><strong>Update</strong>: I should expand a bit on my "Never use genomes or annotations from UCSC" comment. In point of fact the genomes themselves aren't so terrible. Early on UCSC had the bad habit of concatenating contigs together into <code>_random</code> "chromosomes", but they seem to have mostly kicked that habit as of late. Note, however, that there are no versions for their genomes. Since reference genomes continue to get updates over time (mostly through the addition of patches) the lack of actual versions means you have to manually check if a recently downloaded file matches what may have been downloaded either previously or by someone else. This has obvious consequences when it comes to reproducibility. The same issue occurs for annotations from UCSC, but they have the additional problem of historically having biologically incoherent concepts of genes. That is, they will contain the same gene in multiple places with multiple orientations, which will break many tools in both obvious and completely unclear ways. For example, DEXSeq will simply break with an error message if given a UCSC annotation, since they break biological plausibility. If you were to use these annotations files with deepTools, you wouldn't get an error message, but the resulting output would be only partial, due to the biologically impossible annotation effectively corrupting most obvious ways of storing annotation data in a data structure (i.e., you can no longer treat IDs as unique). This could have downstream ramifications on biological interpretation of results.</p>

CC BY-SA 4.0
2019-06-13T08:13:33.403Z
to make sure if im have gencode so i used this "cat gencode.v21.annotation.gtf | grep "_random" no instance of that word .
kcm
CC BY-SA 4.0
2019-06-13T08:15:10.050Z
You could also just `head` the file. Gencode files tend to start with a few comment lines (granted, given what the file is named, the odds of it being from Gencode were very high to begin with).
Devon Ryan
CC BY-SA 4.0
2019-06-13T08:16:10.880Z
##description: evidence-based annotation of the human genome (GRCh38), version 21 (Ensembl 77)
##provider: GENCODE
##contact: gencode@sanger.ac.uk
##format: gtf
##date: 2014-09-29   im sure now im in right path
kcm
CC BY-SA 4.0
2019-06-13T08:43:11.947Z
@krushnachChandra not really relevant, but just so you know, `grep` can read files. You don't need `cat file | grep foo`, you can always do `grep foo file`.
terdon
CC BY-SA 4.0
2019-06-13T08:46:03.140Z
sure i was just trying to see if i haven;t messed up my annotation file .I will surely keep that in my mind. "grep"
kcm
CC BY-SA 4.0
2019-06-13T08:49:22.487Z
Devon, could you elaborate on your advice never to use UCSC genomes. _Never_ seems a bit extreme. Can you explain what they're missing in a bit more detail?Is there any reason not to use them for human reference? Yes, they may have `*random` in them, but is that such a problem?
terdon
CC BY-SA 4.0
2019-06-13T08:50:11.950Z
`*random` is the least of the problems. I'll elaborate more in my answer.
Devon Ryan
CC BY-SA 4.0
2019-06-13T09:36:53.070Z
Thanks, that makes sense. I have used the (human) UCSC genome sequences extensively and haven't had any issue with them although I admit that the lack of versioning is a real pain. I was afraid you were suggesting the actual sequences were somehow of lesser quality.
terdon
CC BY-SA 4.0
2019-06-13T08:08:54.850Z
2019-06-13T09:00:04.287Z
2019-06-13T09:00:04.287Z
Devon Ryan
<p>There are difference annotation file for UCSC and gencode.</p>

<p>But if I use the reference assembly from UCSC and the GTF from Genocode or vice versa would my downstream results would be wrong? </p>

CC BY-SA 4.0
2019-06-13T07:50:30.380Z
Do you want to include older UCSC/gencode releases or only the most recent ones? They should now be fully compatible.
Devon Ryan
CC BY-SA 4.0
2019-06-13T07:58:26.160Z
so i used gencode.v21 as my gtf file and not sure about the reference assembly,where i have used hg38 but im not sure its from gencode or ucsc .Is there a way to find out the what reference assembly im using from the reference assembly ?
kcm
<rna-seq>
How drastic would the result be if I use fasta or reference assembly from ucsc and gtf from gencode?
# How drastic would the result be if I use fasta or reference assembly from ucsc and gtf from gencode?

(Asked by: username_0 on 2019-06-13)

There are difference annotation file for UCSC and gencode.

But if I use the reference assembly from UCSC and the GTF from Genocode or vice versa would my downstream results would be wrong?

**Tags:** rna-seq
> **Comments:**
> **username_1**: Do you want to include older UCSC/gencode releases or only the most recent ones? They should now be fully compatible.  
> **username_0**: so i used gencode.v21 as my gtf file and not sure about the reference assembly,where i have used hg38 but im not sure its from gencode or ucsc .Is there a way to find out the what reference assembly im using from the reference assembly ?  

---

## 2 answers

### Answer by username_1 on 2019-06-13. Score: 5 | Accepted answer

**Never use genomes or annotations from UCSC**, they're poorly versioned and only recently with mouse and human have they even included all of the contigs. For fasta/GTF files from early in the GRCh38 release, you can tell whether you're using UCSC or Gencode by the presence/absence of `_random` contigs, which will only exist for UCSC. These were mostly later split into the actual contigs, so recent download from UCSC should more closely match what you find at Gencode/Ensembl. Further, that time predated UCSC beginning to adopt Gencode's vastly superior annotations, so if your GTF file has instances where the same gene ID is on either multiple strands or multiple chromosomes (this is obviously biologically impossible) then you have a UCSC GTF file.

In general, with early GRCh38 releases your only real issues will be with \_random contigs, which are a minority of the genome and don't have all that many genes. But really, you should be keeping track of the sources of your files and ensuring that they're compatible.

**Update**: I should expand a bit on my "Never use genomes or annotations from UCSC" comment. In point of fact the genomes themselves aren't so terrible. Early on UCSC had the bad habit of concatenating contigs together into `_random` "chromosomes", but they seem to have mostly kicked that habit as of late. Note, however, that there are no versions for their genomes. Since reference genomes continue to get updates over time (mostly through the addition of patches) the lack of actual versions means you have to manually check if a recently downloaded file matches what may have been downloaded either previously or by someone else. This has obvious consequences when it comes to reproducibility. The same issue occurs for annotations from UCSC, but they have the additional problem of historically having biologically incoherent concepts of genes. That is, they will contain the same gene in multiple places with multiple orientations, which will break many tools in both obvious and completely unclear ways. For example, DEXSeq will simply break with an error message if given a UCSC annotation, since they break biological plausibility. If you were to use these annotations files with deepTools, you wouldn't get an error message, but the resulting output would be only partial, due to the biologically impossible annotation effectively corrupting most obvious ways of storing annotation data in a data structure (i.e., you can no longer treat IDs as unique). This could have downstream ramifications on biological interpretation of results.

> **Comments:**
> **username_0**: to make sure if im have gencode so i used this "cat gencode.v21.annotation.gtf | grep "_random" no instance of that word .  
> **username_1**: You could also just `head` the file. Gencode files tend to start with a few comment lines (granted, given what the file is named, the odds of it being from Gencode were very high to begin with).  
> **username_0**: ##description: evidence-based annotation of the human genome (GRCh38), version 21 (Ensembl 77) ##provider: GENCODE ##contact: gencode@sanger.ac.uk ##format: gtf ##date: 2014-09-29   im sure now im in right path  
> **username_3**: @krushnachChandra not really relevant, but just so you know, `grep` can read files. You don't need `cat file | grep foo`, you can always do `grep foo file`.  
> **username_0**: sure i was just trying to see if i haven;t messed up my annotation file .I will surely keep that in my mind. "grep"  
> **username_3**: Devon, could you elaborate on your advice never to use UCSC genomes. _Never_ seems a bit extreme. Can you explain what they're missing in a bit more detail?Is there any reason not to use them for human reference? Yes, they may have `*random` in them, but is that such a problem?  
> **username_1**: `*random` is the least of the problems. I'll elaborate more in my answer.  
> **username_3**: Thanks, that makes sense. I have used the (human) UCSC genome sequences extensively and haven't had any issue with them although I admit that the lack of versioning is a real pain. I was afraid you were suggesting the actual sequences were somehow of lesser quality.  

---

### Answer by username_2 on 2019-06-13. Score: 1

The main difference is in the way the chromosomes are named - UCSC uses the "chr" prefix (so chromosome 1 is "chr1") while in gencode the "chr" isn't used (so chromosome 1 is just "1"). Depending on your use case, this can obviously cause problems - if you're trying to match a locus (e.g. from gencode 1:1000002) between them, whatever tool you use is going to be looking in your aligned data for "1:1000002", but in your aligned data, it'll be named "chr1:1000002", so it won't match the two up.

> **Comments:**
> **username_1**: Both use the `chr` prefix for the most recent human and mouse releases.  
> **username_0**: so its with the annotation file my results would vary  but not much with the references?  

---

