I understand the basic principles under which RPS-BLAST operates: search a protein (
rpsblast) or nucleotide (
rpstblastn) query against a database of protein profiles, a "reverse PSI-BLAST" search. My question has to do with the practical application of this tool to annotate conserved protein domains in bacterial assemblies.
Let's assume I have downloaded NCBI's Conserved Domain Database (CDD) and would like to annotate conserved protein domains in a bacterial genome I have just assembled from Illumina reads. I see two potential approaches.
- Run a gene prediction tool on the assembly, translate the predicted gene models, use
rpsblastto search the translated sequences against the CDD profiles, and then transform the matches from local protein coordinates to global genome coordinates.
rpstblastnto search the genome sequences against the profiles directly.
The latter option would be more compute intensive, since it requires computing a 6-frame translation of each genome sequence. But perhaps it is more sensitive in the presence of small misassemblies?
In practice, is either of these approaches preferred over the other? Are there any considerations I'm missing?