I'm a newcomer to the world of bioinformatics, and in need of help solving a problem.

My goal is to take a list of human proteins, and identify segments (13-17aa in length) with a high degree of similarity to microbial sequences. Ideally, I would like to start with list of FASTA sequences, and have an easy way to generate an output of the corresponding high similarity segments of each protein.

Are there existing tools or software that I should be aware of that will make my life easier?

Thanks in advance.

  • 1
    $\begingroup$ Loads :) Could you please edit your question and tell us i) how many sequences you are talking about; ii) whether or not you already have the human protein sequences or just their names; iii) if you are just looking for simple sequence homology or if you will use the homology to infer a functional homology (in which case protein domains should be taken into account); iv) why 13-17aa specifically? v) what microbial species? Any? Specific ones? $\endgroup$
    – terdon
    Jun 7, 2017 at 22:42
  • $\begingroup$ Hi bluescholar1212, thanks for your question and welcome to the Bioinformatics Stack Exchange. Bioinformatics is a large area, and can include a number of different programs that could make your life easier, almost all of which are unrelated to microbial homology. Being more specific in the questions that you ask can be a great help to answerers, as it allows them to answer without going down the wrong path. What sort of output are you interested in? You've mentioned a problem exists, but haven't stated what that problem is. What is your story around the problem that you are trying to solve? $\endgroup$
    – gringer
    Jun 7, 2017 at 22:44
  • 1
    $\begingroup$ Welcome to Bioinformatics.SE! Just to split some hairs :)…you'll want to be careful about using terms like high homology. Sequences are either homologous (share ancestry) or not. Sequence similarity is a commonly-used proxy for homology, & it is appropriate to say high similarity. But there is no sliding scale of homology. Some pairs of sequences are so similar that the only feasible explanation is shared ancestry. Some are so different that it's clear there is no homology. There is some grey area in the middle, but this refers only to our uncertainty. Hope this makes sense! $\endgroup$ Jun 8, 2017 at 4:55
  • $\begingroup$ I agree with @daniel-standage, there is no high degree of homology, or high homology segments. The segments are homologous or not. It is like saying high degree of pregnancy. Maybe you can replace the terms by something like "high probability of homology"? $\endgroup$ Jun 8, 2017 at 8:15
  • 1
    $\begingroup$ @DanielStandage Since we are splitting hairs, all sequences have a shared ancestry if you go back far enough, if you accept that there was a single origin of life $\endgroup$ Jun 8, 2017 at 8:50

1 Answer 1


Sounds like precisely the job BLAST was developed for. Now, which flavor will depend on what you want to do and what data you have available. Some options:

  1. PSI-BLAST: this is usually the best choice if you are trying to find protein homologs. It works by building a hidden markov model describing your query sequence and using that model to query a database of proteins. The advantage is that it is run in multiple iterations, giving you the chance to add or remove results (so you add the ones that are true positives and remove false ones), eventually building a pretty good model of your protein. This is far moer powerful than a simple homology-based approach since proteins work via protein domains and simple homology is not as important as specific conserved functional residues.

    For this, go to the NCBI protein blast page and select PSI-BLAST:

    psi-blast option at ncbi

  2. BLASTp: Simple protein-protein blast. It will identify homologous proteins based on sequence similarity. Whether or not that also implies functional homology is not that simple and will depend on each case you investigate.

    As above, go to the NCBI protein blast page, but this time use the defaults.

  3. tBLASTn: this is a tool that takes protein sequences as input and compares them to a database of DNA which is dynamically translated in all 6 possible reading frames. Very good for finding homologous sequences when you don't have well annotated protein information for the target species. It has the benefit of being more sensitive and able to find more distant homologies than basic nucleotide BLASTn and the go-to approach when your target species is distant and not well annotated.

    NCBI's tBLASTn page.

All of these can be run online through the NCBI's BLAST page. If you want to investigate hundreds of proteins, I suggest you install blast locally. You can then either download the relevant target sequences from NCBI and rebuild the blast database locally (if so, I suggest you ask a new question about how to do that) or, use NCBI's remote blast client which lets you use a locally stored query file and will run blast on the NCBI's servers.

Now, these programs will return what are known as High Scoring Pairs (HSPs), the regions of your query sequence(s) that align well to the target. There are various options you can play with to improve the sensitivity or the specificity but a discussion of those would require far more details about what you're doing and would be best in a new question as well.

Once you have your HSPs, you can relatively easily parse them to select regions with a given range of sequence similarity values and of a specific length. Once again, that would be better discussed in a separate question once you have your results and can show an example.

  • $\begingroup$ thank you for your helpful answer! BLAST is one of the tools that I was considering. I hadn't looked into the PSI-BLAST algorithm as an option and it sounds like exactly what I am looking. In addition to running the search, which I will plan on doing with blast locally, I would like to automate the curation of the results. Would my best bet for doing this be to write a basic script around blast specifying which results to keep and filtering the rest? $\endgroup$ Jun 8, 2017 at 17:22
  • $\begingroup$ @bluescholar1212 yes, probably. That would also be on topic here, by the way. Once you have your results, ask another question and we'll be happy to help you parse them. You might also want to ask a new question once you decide which of these tools you use, explaining what output you want to eventually keep and asking about what output format top use. Blast can return various output formats depending on the options you use it with and some are easier to parse than others. $\endgroup$
    – terdon
    Jun 8, 2017 at 18:35

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.