enter image description here

[Update] Thanks @terdon. To clarify my question:

I have a bunch of protein isoforms sequences (produced by the transcripts in the figure) and I want to align protein products (e.g., proteins produced by the first 3 protein-coding transcripts against each other). See there are 3 blocks missing in 5' region in BRCA2-204 compared against BRCA2-206.

This case might be very easy with any MSA softwares such as clustal omega, but there are complicated cases which may trick software into aligning single amino acids instead of being splicing aware. Instead of manually adjusting the alignments, I want to know whether I can directly download, or "translate", this figure into alignment results (e.g., fasta format or clustal format)

This figure should be visible with https://www.ensembl.org/Homo_sapiens/Gene/Summary?db=core;g=ENSG00000139618;r=13:32315086-32400268 in the gene summary tab

[Original] Is there a way to directly download the sequence alignment result from Ensembl? If not, what will be the best way to align exons and introns without parameter-tuning

  • 1
    $\begingroup$ Please edit your question and clarify what you need. You mention protein isoforms in the title, but show transcript sequences in the body. Do you want the alignment of the proteins produced by each transcripts against each other? The alignment of each transcript against a reference genome? The alignment of the transcripts against each other? Ideally, give us an example we can look up, a link that we can click on to see what you are using (is that human BRCA2 or something else?) and then explain what you would like to get from that. $\endgroup$
    – terdon
    Jan 9 at 15:20
  • 1
    $\begingroup$ @terdon Thanks! $\endgroup$ Jan 9 at 15:50
  • $\begingroup$ Interesting question (upvoted). This might be naive, but if these are transcripts surely they have already been spliced? That aside from eukaryotic genomics its easy, but must have been solved years ago, I suspect a de novo pipeline is simply "reinventing the wheel". $\endgroup$
    – M__
    Jan 9 at 16:20
  • $\begingroup$ @M__♦ I am not sure I followed. You mean aligning these spliced exons is easy? $\endgroup$ Jan 9 at 21:52
  • $\begingroup$ I've undeleted the question ... it's a perfectly good question - it has an answer by an expert which is upvoted. My justification is that I had trouble logging in over the last 24 hours - I had to escalate to SE login HQ to get in, hence I couldn't take part in the discussion before the question was deleted. @terdon is an expert on human genetics and I'll defer to their answer. $\endgroup$
    – M__
    Jan 10 at 19:40

1 Answer 1


Here is a manual (or semi-manual, at best) approach. If you need to do this for very many sequences it won't be practical, but if dealing with one or two genes, it might be enough. The idea is to:

  1. Get the protein coding transcripts
  2. Get the proteins they code for
  3. Align

In the page you gave, there is a "Show transcript table" button near the top:

Screenshot of the EnsEmbl page showing the relevant button

If you click on that, you get the list of transcripts and their corresponding proteins:

Screenshot of the Ensembl page showing the expanded transcript table

You can then click on the "Show/hide columns" and select "Translation ID" so you can get the Ensembl protein corresponding to each transcript:

Screenshot of the Ensembl page with "Translation ID" selected

If you now deselct everything and only leave "Translation ID" selected:

Screenshot of the Ensembl page with only "Translation ID" selected

You are left with a nice list of Ensembl proteins. Copy/paste those into a text file:


Now, go to BioMart and retrieve the sequences. Select "Ensembl Genes" as the database and then "Human Genes":

biomart screenshot

Then, click on "Filters" (1) and then "Gene" (2), select "Input external references ID list [Max 500 advised]" (3), set the ID to "Protein stable ID(s) with version" (4) and paste the protein list (5):

biomart screenshot

Next, go to "Attributes" (1) and select "Sequences" (2):

biomart screenshot

Now, finally, click on "Results" (1) and you will get the sequences in fasta format (2):

biomart screenshot

I'm afraid they are too long to fit in this answer, but I posted them here: https://pastebin.com/NZycAmgD.

You can now paste these sequences into your favorite aligner and get the alignment you were after. Here, I used the online clustalΩ (the image only shows the first few lines):

clustalΩ alignment of the BRCA2 proteins

You can find the whole alignment in clustal format (text) here.

  • $\begingroup$ Thanks @terdon. This is exactly my question. In your clustal omega result screenshot (last figure of your answer) there are a bunch of misalignments for ENST00000700201 compared with others (starting from loc ~105 to the end). I assume the software is forcing different exons aligned together to reduce number of gaps. I mean those gaps should be inserted before loc ~105 on ENST00000700201, not after. But somehow the software prefer before (due to parameters, misalignments outperformed gaps). I can manually adjust it. Easy for one gene, but not for hundreds of genes. That's why I want to downloa $\endgroup$ Jan 9 at 21:45
  • $\begingroup$ although ENST00000700201 is NMD, not a perfect example. But the question stays for other protein coding transcripts. $\endgroup$ Jan 9 at 21:48
  • $\begingroup$ @JenMarylin I don't quite understand what you mean. What exons? We're aligning simple protein sequences here, the aligner has no knowledge of the exonic structure of the transcripts that were translated to make these proteins. And this is a multiple sequence alignment, it is positioning the gaps so as to maximize the score of the entire alignment. What is it you want to download? Are you looking for an alignment of the translated exons instead of the actual protein product? $\endgroup$
    – terdon
    Jan 10 at 0:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.