Answers.Body: <p>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:</p>
  
  <ol>
  <li><p><strong>PSI-BLAST</strong>: 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. </p>
  
  <p>For this, go to the NCBI <a href="https://blast.ncbi.nlm.nih.gov/Blast.cgi?PROGRAM=blastp&amp;PAGE_TYPE=BlastSearch&amp;LINK_LOC=blasthome" rel="nofollow noreferrer">protein blast page</a> and select PSI-BLAST:</p>
  
  <p><a href="https://i.sstatic.net/q4yAK.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/q4yAK.png" alt="psi-blast option at ncbi"></a></p></li>
  <li><p><strong>BLASTp</strong>: 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. </p>
  
  <p>As above, go to the NCBI <a href="https://blast.ncbi.nlm.nih.gov/Blast.cgi?PROGRAM=blastp&amp;PAGE_TYPE=BlastSearch&amp;LINK_LOC=blasthome" rel="nofollow noreferrer">protein blast page</a>, but this time use the defaults.</p></li>
  <li><p><strong>tBLASTn</strong>: 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. </p>
  
  <p><a href="https://blast.ncbi.nlm.nih.gov/Blast.cgi?PROGRAM=tblastn&amp;PAGE_TYPE=BlastSearch&amp;BLAST_SPEC=&amp;LINK_LOC=blasttab&amp;LAST_PAGE=blastp" rel="nofollow noreferrer">NCBI's tBLASTn page</a>.</p></li>
  </ol>
  
  <p>All of these can be run online through the <a href="https://blast.ncbi.nlm.nih.gov/Blast.cgi" rel="nofollow noreferrer">NCBI's BLAST page</a>. 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. </p>
  
  <p>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. </p>
  
  <p>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. </p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-06-08T17:22:59.527Z
Answers.Text: 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?
Answers.UserDisplayName: bluescholar1212
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-06-08T18:35:22.833Z
Answers.Text: @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.
Answers.UserDisplayName: terdon
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-06-07T22:51:54.867Z
Answers.LastActivityDate: 2017-06-07T23:04:27.220Z
Answers.LastEditDate: 2017-06-07T23:04:27.220Z
Answers.UserDisplayName: terdon
Body: <p>I'm a newcomer to the world of bioinformatics, and in need of help solving a problem.</p>
  
  <p>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.</p>
  
  <p>Are there existing tools or software that I should be aware of that will make my life easier?</p>
  
  <p>Thanks in advance.</p>
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-06-07T22:42:03.910Z
Comments.Text: 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?
Comments.UserDisplayName: terdon
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-06-07T22:44:16.197Z
Comments.Text: 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?
Comments.UserDisplayName: gringer
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-06-08T04:55:57.443Z
Comments.Text: 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!
Comments.UserDisplayName: Daniel Standage
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-06-08T08:15:48.020Z
Comments.Text: 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"?
Comments.UserDisplayName: Leo Martins
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-06-08T08:50:16.440Z
Comments.Text: @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
Comments.UserDisplayName: Chris_Rands
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-06-08T13:51:01.280Z
Comments.Text: @Chris_Rands True enough. :-)
Comments.UserDisplayName: Daniel Standage
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-06-08T17:19:06.140Z
Comments.Text: @DanielStandage Duly noted! That is a good and important point. I am interested in regions with a high percentage of sequence similarity, which does not necessarily entail homology as you pointed out.
Comments.UserDisplayName: bluescholar1212
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-06-10T13:05:01.103Z
Comments.Text: @bluescholar1212 I have then edited the question. Please feel free to revert back or modify as you wish if you think I misrepresented your question.
Comments.UserDisplayName: Leo Martins
Tags: <fasta><sequence-homology>
Title: Detecting portions of human proteins with high degree of microbial similarity
ThreadText: # Detecting portions of human proteins with high degree of microbial similarity
  
  (Asked by: username_0 on 2017-06-07)
  
  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.
  
  **Tags:** fasta, sequence-homology
  
  > **Comments:**
  > **username_1**: 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?  
  > **username_2**: Hi username_0, 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?  
  > **username_3**: 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!  
  > **username_4**: I agree with @username_3-username_3, 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"?  
  > **username_5**: @username_3 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  
  > **username_3**: @username_5 True enough. :-)  
  > **username_0**: @username_3 Duly noted! That is a good and important point. I am interested in regions with a high percentage of sequence similarity, which does not necessarily entail homology as you pointed out.  
  > **username_4**: @username_0 I have then edited the question. Please feel free to revert back or modify as you wish if you think I misrepresented your question.  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2017-06-07. Score: 4 | Accepted answer
  
  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](https://blast.ncbi.nlm.nih.gov/Blast.cgi?PROGRAM=blastp&PAGE_TYPE=BlastSearch&LINK_LOC=blasthome) and select PSI-BLAST:
  
     [![psi-blast option at ncbi](https://i.sstatic.net/q4yAK.png)](https://i.sstatic.net/q4yAK.png)
  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](https://blast.ncbi.nlm.nih.gov/Blast.cgi?PROGRAM=blastp&PAGE_TYPE=BlastSearch&LINK_LOC=blasthome), 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](https://blast.ncbi.nlm.nih.gov/Blast.cgi?PROGRAM=tblastn&PAGE_TYPE=BlastSearch&BLAST_SPEC=&LINK_LOC=blasttab&LAST_PAGE=blastp).
  
  All of these can be run online through the [NCBI's BLAST page](https://blast.ncbi.nlm.nih.gov/Blast.cgi). 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.
  
  > **Comments:**
  > **username_0**: 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?  
  > **username_1**: @username_0 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.  
  
  ---
  
  