<p>Okay well, because you're using HYPHY, you're going to need a gene tree of every gene you intend to analyze. This requires you to understand the homology relationships between the genomes at hand. Depending on your project, you might already have a list of homologs you're trying to analyze, or you can start from scratch. </p>

<p>If starting from scratch, you will need the proteomes of the species you're interested in (that is, the translation of the coding sequences of each gene, or to put it another way, the concatenated exons). Genome releases should typically have a proteome available for download, along with its corresponding coding sequence. </p>

<p>Next, you need some way to get the homolog groups for the genes in your genomes. You can use a pipeline like <a href="https://github.com/davidemms/OrthoFinder" rel="nofollow noreferrer">OrthoFinder</a>, or <a href="https://academic.oup.com/mbe/article/31/11/3081/2925722" rel="nofollow noreferrer">iterative tree building and trimming</a>, to infer homolog clusters (OrthoFinder calls them orthogroups but they're the same thing - homologous genes for the species of interest including both single copy orthologs and paralogs). </p>

<ul>
<li>For this step, if you already have a set of genes and you know the copy numbers, or know that they're single copy orthologs, then it is more easy - you can just pull the sequence from each proteome and go from there. </li>
</ul>

<p>Once you have your homologs, you need to align the amino acids using a tool like <a href="https://mafft.cbrc.jp/alignment/software/" rel="nofollow noreferrer">MAFFT</a>, and then align the coding sequences to the amino acid alignment to attain a coding sequence alignment. For this you can use a tool like <a href="http://www.bork.embl.de/pal2nal/" rel="nofollow noreferrer">pal2nal</a>, or check out <code>pxaa2cdn</code> from the <a href="https://github.com/FePhyFoFum/phyx" rel="nofollow noreferrer"><code>phyx</code></a> package written by some of my collaborators. </p>

<ul>
<li>If the sequences aren't too divergent, and intron-exon structure is conserved, you could possibly also include alignments of the introns to provide more phylogenetic information. If you do use this approach however, you'd need to align the exons and introns separately. Also, the introns would not be included in the selection analysis. </li>
</ul>

<p>Next, I would typically reinfer the gene tree of each gene using nucleotide models, which depending on the time, level of selective constraint, etc. can give more signal for the phylogenetic relationships. For this you can use a tree inference program like <a href="https://cme.h-its.org/exelixis/software.html" rel="nofollow noreferrer">RAxML</a>. With this tree and your coding sequence alignment, you'll be ready to run analyses in HYPHY (aBS-REL, MEME, FUBAR, etc., depending on your requirements).</p>

<ul>
<li>Note that if you want, you can also do this in a Bayesian framework to integrate over uncertainty in the model parameters, tree topology, etc. Several Bayesian phylogenetic inference tools (e.g. <a href="http://nbisweden.github.io/MrBayes/" rel="nofollow noreferrer">MrBayes</a>, <a href="http://www.atgc-montpellier.fr/phylobayes/" rel="nofollow noreferrer">PhyloBayes</a>), allow you to infer putatively positively selected sites at the same time as tree inference.</li>
</ul>

CC BY-SA 4.0
2019-03-20T12:34:38.923Z
Thank you, NatWH! Your answer seems perfect - comprehensive and easy to follow! I will try to follow this pipeline.
PollardMD
CC BY-SA 4.0
2019-03-20T13:10:53.857Z
@PollardMD no problem, feel free to comment here if you run into any problems.
NatWH
CC BY-SA 4.0
2019-03-20T10:42:13.263Z
2019-03-20T10:42:13.263Z
NatWH
<p>I have been trying to obtain some preliminary data from <a href="http://hyphy.org/" rel="nofollow noreferrer">HyPhy</a> selection analyses to inform a larger project. I have obtained a number of assembled mammalian genomes from NCBI with the initial goal of extracting from each of them their corresponding sequence for a specific gene. I wanted to use HyPhy to determine if there are signatures of positive selection in any of the mammalian lineages for that specific gene. However, I have been struggling to make headway with this for some time and am realizing that I may be out of my depth.</p>

<p>I was hoping that people could suggest, or at least point me in the direction of, a pipeline/guide/best practices for how one would go about achieving what I am trying to do. I would like to start from scratch and make sure I am performing my analyses in a proper way, using advice from other users.</p>

<p>As I mentioned, I currently have a collection of assembled genomes from NCBI which I would like to pull specific genes from. My understanding is that I will then need to extract the exons (I imagine there is a way to do this without having to extract the entire gene first), align the sequences from each species while preserving reading frames, and then use that alignment as input in HyPhy's codon models. It is very possible that I am missing out some fundamental steps in the process.</p>

<p>If anybody could offer direction/advice, I would be very appreciative.</p>

CC BY-SA 4.0
2019-03-20T12:04:09.853Z
Very interesting, personally I'd use PAML. @NatWH is good advice. Keep us posted.
M__
CC BY-SA 4.0
2019-03-20T12:37:33.667Z
That is interesting. I believe that others in my lab have more experience with HyPhy, hence why that is the goal at the moment. I will look into PAML as well. Thank you!
PollardMD
<phylogenetics><genome><codon><exon><positive-selection>
Pipeline for extracting gene from multiple genomes for use in HyPhy selection analyses?
# Pipeline for extracting gene from multiple genomes for use in HyPhy selection analyses?

(Asked by: username_0 on 2019-03-20)

I have been trying to obtain some preliminary data from [HyPhy](http://hyphy.org/) selection analyses to inform a larger project. I have obtained a number of assembled mammalian genomes from NCBI with the initial goal of extracting from each of them their corresponding sequence for a specific gene. I wanted to use HyPhy to determine if there are signatures of positive selection in any of the mammalian lineages for that specific gene. However, I have been struggling to make headway with this for some time and am realizing that I may be out of my depth.

I was hoping that people could suggest, or at least point me in the direction of, a pipeline/guide/best practices for how one would go about achieving what I am trying to do. I would like to start from scratch and make sure I am performing my analyses in a proper way, using advice from other users.

As I mentioned, I currently have a collection of assembled genomes from NCBI which I would like to pull specific genes from. My understanding is that I will then need to extract the exons (I imagine there is a way to do this without having to extract the entire gene first), align the sequences from each species while preserving reading frames, and then use that alignment as input in HyPhy's codon models. It is very possible that I am missing out some fundamental steps in the process.

If anybody could offer direction/advice, I would be very appreciative.

**Tags:** phylogenetics, genome, codon, exon, positive-selection
> **Comments:**
> **username_1**: Very interesting, personally I'd use PAML. @NatWH is good advice. Keep us posted.  
> **username_0**: That is interesting. I believe that others in my lab have more experience with HyPhy, hence why that is the goal at the moment. I will look into PAML as well. Thank you!  

---

## 1 answers

### Answer by username_2 on 2019-03-20. Score: 2

Okay well, because you're using HYPHY, you're going to need a gene tree of every gene you intend to analyze. This requires you to understand the homology relationships between the genomes at hand. Depending on your project, you might already have a list of homologs you're trying to analyze, or you can start from scratch.

If starting from scratch, you will need the proteomes of the species you're interested in (that is, the translation of the coding sequences of each gene, or to put it another way, the concatenated exons). Genome releases should typically have a proteome available for download, along with its corresponding coding sequence.

Next, you need some way to get the homolog groups for the genes in your genomes. You can use a pipeline like [OrthoFinder](https://github.com/davidemms/OrthoFinder), or [iterative tree building and trimming](https://academic.oup.com/mbe/article/31/11/3081/2925722), to infer homolog clusters (OrthoFinder calls them orthogroups but they're the same thing - homologous genes for the species of interest including both single copy orthologs and paralogs).

* For this step, if you already have a set of genes and you know the copy numbers, or know that they're single copy orthologs, then it is more easy - you can just pull the sequence from each proteome and go from there.

Once you have your homologs, you need to align the amino acids using a tool like [MAFFT](https://mafft.cbrc.jp/alignment/software/), and then align the coding sequences to the amino acid alignment to attain a coding sequence alignment. For this you can use a tool like [pal2nal](http://www.bork.embl.de/pal2nal/), or check out `pxaa2cdn` from the [`phyx`](https://github.com/FePhyFoFum/phyx) package written by some of my collaborators.

* If the sequences aren't too divergent, and intron-exon structure is conserved, you could possibly also include alignments of the introns to provide more phylogenetic information. If you do use this approach however, you'd need to align the exons and introns separately. Also, the introns would not be included in the selection analysis.

Next, I would typically reinfer the gene tree of each gene using nucleotide models, which depending on the time, level of selective constraint, etc. can give more signal for the phylogenetic relationships. For this you can use a tree inference program like [RAxML](https://cme.h-its.org/exelixis/software.html). With this tree and your coding sequence alignment, you'll be ready to run analyses in HYPHY (aBS-REL, MEME, FUBAR, etc., depending on your requirements).

* Note that if you want, you can also do this in a Bayesian framework to integrate over uncertainty in the model parameters, tree topology, etc. Several Bayesian phylogenetic inference tools (e.g. [MrBayes](http://nbisweden.github.io/MrBayes/), [PhyloBayes](http://www.atgc-montpellier.fr/phylobayes/)), allow you to infer putatively positively selected sites at the same time as tree inference.

> **Comments:**
> **username_0**: Thank you, NatWH! Your answer seems perfect - comprehensive and easy to follow! I will try to follow this pipeline.  
> **username_2**: @PollardMD no problem, feel free to comment here if you run into any problems.  

---

