I have two genome assemblies of the same non-model species, call them Assembly 1 (generated from Illumina data) and Assembly 2 (generated from PacBio data).

For Assembly 1, I also have predicted proteome data, generated with EVM. Say there is a protein, call it Protein X, for which I have the fasta sequence from predictions, but suspect an error in Assembly 1 (because the Protein X has a long segment of auto-identity). For this reason, I would like to verify the assembly of the locus coding for Protein X in Assembly 2 and/or verify the presence of Protein X in the Assembly 2.

Data in my possession:

  • both genome assemblies (fasta)
  • raw rna-seq data
  • reference-based transcriptome assembly for each genome assembly (fasta/gtf)
  • set of predicted protein sequence based on Assembly 1 (fasta)

Things I was thinking of:

  • build the EVM predictions on the Assembly 2 and verify the identity of Protein X by simple fasta identity check
  • look for the protein sequence in the Assembly 2. I could use something similar to Reverse Translate to get the most likely nucleotide sequence from the input amino-acid sequence of Protein X, then align it to the Assembly 2 to check the coordinates of the locus it originates from - but I am not very sure of the relevance and/or correctness of this procedure
  • something allowing 'blast' of the protein sequence in the Assembly 2 (but I am not aware of any software that could do that)

Any ideas on how I could do that?


This should be very easy to do. Here are some options:

  1. Use a tool like Exonerate or GeneWise that can align protein sequences to genomic DNA while attempting to model splice sites etc.

  2. As you said, blast. There's nothing special in what you describe, really, this is what tBLASTn is for. Just use your protein as the query sequence and tBLASTn as the blast flavor which will take a protein query and match it against all 6 possible reading frames of a DNA database. Set up your assembly as the blast DB, and then blast as you would normally.

Of the two, using the first approach is much better since it will try to build a valid gene model for you instead of simply finding the regions of high homology as blast will do.

Finally, just for completeness, you can go old school and run a full de-novo gene prediction tool on your assembly. Something like GeneID for instance. But that's certainly overkill if you're just looking for a single gene.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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