<!DOCTYPE html>
<!-- Generated by pkgdown: do not edit by hand --><html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Creates phylogenetic trees from a VDJ dataframe — VDJ_phylogenetic_trees • Platypus</title><!-- favicons --><link rel="icon" type="image/png" sizes="16x16" href="../favicon-16x16.png"><link rel="icon" type="image/png" sizes="32x32" href="../favicon-32x32.png"><link rel="apple-touch-icon" type="image/png" sizes="180x180" href="../apple-touch-icon.png"><link rel="apple-touch-icon" type="image/png" sizes="120x120" href="../apple-touch-icon-120x120.png"><link rel="apple-touch-icon" type="image/png" sizes="76x76" href="../apple-touch-icon-76x76.png"><link rel="apple-touch-icon" type="image/png" sizes="60x60" href="../apple-touch-icon-60x60.png"><!-- jquery --><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script><!-- Bootstrap --><link href="https://cdnjs.cloudflare.com/ajax/libs/bootswatch/3.4.0/yeti/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous"><script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js" integrity="sha256-nuL8/2cJ5NDSSwnKD8VqreErSWHtnEP9E7AySL+1ev4=" crossorigin="anonymous"></script><!-- bootstrap-toc --><link rel="stylesheet" href="../bootstrap-toc.css"><script src="../bootstrap-toc.js"></script><!-- Font Awesome icons --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/all.min.css" integrity="sha256-mmgLkCYLUQbXn0B1SRqzHar6dCnv9oZFPEC1g1cwlkk=" crossorigin="anonymous"><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/v4-shims.min.css" integrity="sha256-wZjR52fzng1pJHwx4aV2AO3yyTOXrcDW7jBpJtTwVxw=" crossorigin="anonymous"><!-- clipboard.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.6/clipboard.min.js" integrity="sha256-inc5kl9MA1hkeYUt+EC3BhlIgyp/2jDIyBLS6k3UxPI=" crossorigin="anonymous"></script><!-- headroom.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/headroom.min.js" integrity="sha256-AsUX4SJE1+yuDu5+mAVzJbuYNPHj/WroHuZ8Ir/CkE0=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script><!-- pkgdown --><link href="../pkgdown.css" rel="stylesheet"><script src="../pkgdown.js"></script><meta property="og:title" content="Creates phylogenetic trees from a VDJ dataframe — VDJ_phylogenetic_trees"><meta property="og:description" content="Creates phylogenetic trees as tidytree dataframes from an input VDJ dataframe. The resulting phylogenetic trees can be plotted using VDJ_phylogenetic_trees_plot. Both of these functions require the tidytree and ggtree packages."><!-- mathjax --><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script><!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]--></head><body data-spy="scroll" data-target="#toc">
    

    <div class="container template-reference-topic">
      <header><div class="navbar navbar-default navbar-fixed-top" role="navigation">
  <div class="container">
    <div class="navbar-header">
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <span class="navbar-brand">
        <a class="navbar-link" href="../index.html">Platypus</a>
        <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">3.4.1</span>
      </span>
    </div>

    <div id="navbar" class="navbar-collapse collapse">
      <ul class="nav navbar-nav"><li>
  <a href="../index.html">
    <span class="fa fa-home fa-lg"></span>
     
  </a>
</li>
<li>
  <a href="../articles/quickstart.html">Get started</a>
</li>
<li>
  <a href="../vignette_index.html">Vignettes</a>
</li>
<li>
  <a href="../PlatypusDB_index.html">PlatypusDB</a>
</li>
<li>
  <a href="../reference/index.html">Functions</a>
</li>
<li>
  <a href="../news/index.html">News</a>
</li>
<li class="dropdown">
  <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
    Other Packages
     
    <span class="caret"></span>
  </a>
  <ul class="dropdown-menu" role="menu"><li>
      <a href="https://immunesim.readthedocs.io/en/latest/" class="external-link">ImmuneSIM</a>
    </li>
  </ul></li>
<li>
  <a href="../cute_monotremes.html">Cute Monotremes</a>
</li>
      </ul><ul class="nav navbar-nav navbar-right"><li>
  <a href="https://twitter.com/alexyermanos" class="external-link">
    <span class="fa fa-twitter"></span>
     
  </a>
</li>
<li>
  <a href="https://twitter.com/KreineVic" class="external-link">
    <span class="fa fa-twitter"></span>
     
  </a>
</li>
<li>
  <a href="https://github.com/alexyermanos/Platypus" class="external-link">
    <span class="fa fa-github"></span>
     
  </a>
</li>
      </ul></div><!--/.nav-collapse -->
  </div><!--/.container -->
</div><!--/.navbar -->

      

      </header><div class="row">
  <div class="col-md-9 contents">
    <div class="page-header">
    <h1>Creates phylogenetic trees from a VDJ dataframe</h1>
    <small class="dont-index">Source: <a href="https://github.com/alexyermanos/Platypus/tree/masterR/VDJ_phylogenetic_trees.R" class="external-link"><code>R/VDJ_phylogenetic_trees.R</code></a></small>
    <div class="hidden name"><code>VDJ_phylogenetic_trees.Rd</code></div>
    </div>

    <div class="ref-description">
    <p>Creates phylogenetic trees as tidytree dataframes from an input VDJ dataframe. The resulting phylogenetic trees can be plotted using VDJ_phylogenetic_trees_plot. Both of these functions require the tidytree and ggtree packages.</p>
    </div>

    <div id="ref-usage">
    <div class="sourceCode"><pre class="sourceCode r"><code><span><span class="fu">VDJ_phylogenetic_trees</span><span class="op">(</span></span>
<span>  <span class="va">VDJ</span>,</span>
<span>  <span class="va">sequence.type</span>,</span>
<span>  <span class="va">as.nucleotide</span>,</span>
<span>  <span class="va">trimmed</span>,</span>
<span>  <span class="va">include.germline</span>,</span>
<span>  <span class="va">global.clonotype</span>,</span>
<span>  <span class="va">VDJ.VJ.1chain</span>,</span>
<span>  <span class="va">additional.feature.columns</span>,</span>
<span>  <span class="va">filter.na.columns</span>,</span>
<span>  <span class="va">maximum.lineages</span>,</span>
<span>  <span class="va">minimum.sequences</span>,</span>
<span>  <span class="va">maximum.sequences</span>,</span>
<span>  <span class="va">tree.algorithm</span>,</span>
<span>  <span class="va">tree.level</span>,</span>
<span>  <span class="va">n.trees.combined</span>,</span>
<span>  <span class="va">germline.scale.factor</span>,</span>
<span>  <span class="va">output.format</span>,</span>
<span>  <span class="va">parallel</span></span>
<span><span class="op">)</span></span></code></pre></div>
    </div>

    <div id="arguments">
    <h2>Arguments</h2>
    <dl><dt>VDJ</dt>
<dd><p>VDJ or VDJ.GEX.matrix[[1]] object, as obtained from the VDJ_GEX_matrix function in Platypus.</p></dd>


<dt>sequence.type</dt>
<dd><p>string - sequences which will be used when creating the phylogenetic trees. 'cdr3' for CDR3s of both VDJs and VJs, 'cdrh3' for VDJ CDR3s, 'VDJ.VJ' for pasted full sequences of both VDJ and VJ, 'VDJ' for full VDJ sequences, 'VJ' for full VJ.</p></dd>


<dt>as.nucleotide</dt>
<dd><p>boolean - if T, will only consider the DNA sequences specified by sequence.type, else it will consider the amino acid ones.</p></dd>


<dt>trimmed</dt>
<dd><p>boolean - in the case of full VDJ or VJ nt sequences, if the trimmed sequences should be consider (trimmed=T), or raw ones. You need to call MIXCR first on the VDJ dataframe using VDJ_call_MIXCR().</p></dd>


<dt>include.germline</dt>
<dd><p>boolean - if T, a germline sequence will be included in the trees (root), obtained by pasting the VDJ_trimmed_ref and VJ_trimmed_ref sequences. You need to call MIXCR first on the VDJ dataframe using VDJ_call_MIXCR().</p></dd>


<dt>global.clonotype</dt>
<dd><p>boolean - if T, will ignore samples from the sample_id column, creating global clonotypes.</p></dd>


<dt>VDJ.VJ.1chain</dt>
<dd><p>boolean - if T, will remove aberrant cells from the VDJ matrix.</p></dd>


<dt>additional.feature.columns</dt>
<dd><p>list of strings or NULL - VDJ column names which will comprise the per-sequence features to be included in the tidytree dataframe, which will be used to label nodes/ determines their color/ size etc. See also the VDJ_phylogenetic_trees_plot function.</p></dd>


<dt>filter.na.columns</dt>
<dd><p>list of strings - VDJ columns names: if a phylogenetic tree/tidytree dataframe has all elements = NA in that feature, that tree will be completely removed.</p></dd>


<dt>maximum.lineages</dt>
<dd><p>integer or 'all' - maximum number of clonotypes to create trees for. If 'all', will create trees for all clonotypes.</p></dd>


<dt>minimum.sequences</dt>
<dd><p>integer - lower bound of sequences for a tree. Defaults to 3. Trees with a lower number will be automatically removed.</p></dd>


<dt>maximum.sequences</dt>
<dd><p>integer - upper bound of sequences for a tree. Additional sequences will be removed, after being ordered by their total frequency.</p></dd>


<dt>tree.algorithm</dt>
<dd><p>string - the algorithm used when constructing the phylogenetic trees. 'nj' for Neighbour-Joining, 'bionj', 'fastme.bal', and 'fastme.ols'</p></dd>


<dt>tree.level</dt>
<dd><p>string - level at which to build phylogenetic trees. 'intraclonal' - tree per clonotype, per sample, 'global.clonotype' - global clonotype trees (include.germline must be F), irrespective of sample, 'combine.first.trees' will combine the trees for the most expanded clonotypes, per sample (include.germline must be F).</p></dd>


<dt>n.trees.combined</dt>
<dd><p>integer - number of trees to combine if tree.level='combine.first.trees'.</p></dd>


<dt>germline.scale.factor</dt>
<dd><p>numeric - as germlines are incredibly distant from their closest neighbours (in the tree), this controls the scale factor for the germline tree branch length for more intelligible downstream plotting.</p></dd>


<dt>output.format</dt>
<dd><p>string - 'tree.df.list' returns a nested list of tidytree dataframes, per clonotype and per sample; 'lineage.df.list' returns a list of lineage dataframes - unique sequences per clonotype,</p></dd>


<dt>parallel</dt>
<dd><p>string - parallelization method to be used to accelerate computations, 'none', 'mclapply', or 'parlapply'.</p></dd>

</dl></div>
    <div id="value">
    <h2>Value</h2>
    

<p>Nested list of tidytree dataframes or lineage dataframes.</p>
    </div>

    <div id="ref-examples">
    <h2>Examples</h2>
    <div class="sourceCode"><pre class="sourceCode r"><code><span class="r-in"><span><span class="kw">if</span> <span class="op">(</span><span class="cn">FALSE</span><span class="op">)</span> <span class="op">{</span></span></span>
<span class="r-in"><span><span class="fu">VDJ_phylogenetic_trees</span><span class="op">(</span>VDJ<span class="op">=</span><span class="va">VDJ</span>, sequence.type<span class="op">=</span><span class="st">'VDJ.VJ'</span>,</span></span>
<span class="r-in"><span>trimmed<span class="op">=</span><span class="cn">TRUE</span>, as.nucleotide<span class="op">=</span><span class="cn">TRUE</span>, include.germline<span class="op">=</span><span class="cn">TRUE</span>,</span></span>
<span class="r-in"><span>additional.feature.columns<span class="op">=</span><span class="cn">NULL</span>, tree.level<span class="op">=</span><span class="st">'intraclonal'</span>,</span></span>
<span class="r-in"><span>output.format<span class="op">=</span><span class="st">'tree.df.list'</span><span class="op">)</span></span></span>
<span class="r-in"><span><span class="op">}</span></span></span>
</code></pre></div>
    </div>
  </div>
  <div class="col-md-3 hidden-xs hidden-sm" id="pkgdown-sidebar">
    <nav id="toc" data-toggle="toc" class="sticky-top"><h2 data-toc-skip>Contents</h2>
    </nav></div>
</div>


      <footer><div class="copyright">
  <p></p><p>Developed by Alexander Yermanos.</p>
</div>

<div class="pkgdown">
  <p></p><p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.6.</p>
</div>

      </footer></div>

  


  

  </body></html>

