<!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>Utility for VDJ GEX matrix to integrated VDJ and GEX objects after addition of data to either — VGM_integrate • 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="Utility for VDJ GEX matrix to integrated VDJ and GEX objects after addition of data to either — VGM_integrate"><meta property="og:description" content='(Re)-intergrated VDJ and GEX of one or two separate VGM objects. This can be used as a simple "updating" utility function, if metadata has been added to the VDJ dataframe and is also needed in the GEX matrix or the reverse. Entries are integrated by barcode. If barcodes have been altered (barcode column in VDJ and cell names in GEX), the function will not yield results'><!-- 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>Utility for VDJ GEX matrix to integrated VDJ and GEX objects after addition of data to either</h1>
    <small class="dont-index">Source: <a href="https://github.com/alexyermanos/Platypus/tree/masterR/VGM_integrate.R" class="external-link"><code>R/VGM_integrate.R</code></a></small>
    <div class="hidden name"><code>VGM_integrate.Rd</code></div>
    </div>

    <div class="ref-description">
    <p>(Re)-intergrated VDJ and GEX of one or two separate VGM objects. This can be used as a simple "updating" utility function, if metadata has been added to the VDJ dataframe and is also needed in the GEX matrix or the reverse. Entries are integrated by barcode. If barcodes have been altered (barcode column in VDJ and cell names in GEX), the function will not yield results</p>
    </div>

    <div id="ref-usage">
    <div class="sourceCode"><pre class="sourceCode r"><code><span><span class="fu">VGM_integrate</span><span class="op">(</span><span class="va">VGM</span>, <span class="va">columns.to.transfer</span>, <span class="va">genes.to.VDJ</span>, <span class="va">seurat.slot</span><span class="op">)</span></span></code></pre></div>
    </div>

    <div id="arguments">
    <h2>Arguments</h2>
    <dl><dt>VGM</dt>
<dd><p>Output object from the VDJ_GEX_matrix function (VDJ_GEX_matrix.output)</p></dd>


<dt>columns.to.transfer</dt>
<dd><p>Optional. Character Vector. Column names of either the VDJ matrix or GEX meta.data that should be transferred to the corresponding other matrix. if not provided all columns missing from one will be integrated into the other matrix</p></dd>


<dt>genes.to.VDJ</dt>
<dd><p>Character vector of gene names in GEX. In many cases it is useful to extract expression values for a gene to metadata. This is done via SeuratObject::FetchData(vars  = genes,slot = seurat.slot) function. The VGM integrate takes gene ids, extracts these and adds them to the VDJ dataframe. If provided, no other columns are integrated between VDJ and GEX and columns.to.transfer is ignored.</p></dd>


<dt>seurat.slot</dt>
<dd><p>GEX object data slot to pull from. Can be 'counts', 'data', or 'scale.data'</p></dd>

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

<p>An output object from the VDJ_GEX_matrix function with added columns in VDJ or GEX</p>
    </div>

    <div id="ref-examples">
    <h2>Examples</h2>
    <div class="sourceCode"><pre class="sourceCode r"><code><span class="r-in"><span></span></span>
<span class="r-in"><span><span class="co">#Adding a new clonotyping method to VDJ</span></span></span>
<span class="r-in"><span><span class="va">small_vgm</span><span class="op">[[</span><span class="fl">1</span><span class="op">]</span><span class="op">]</span> <span class="op">&lt;-</span> <span class="fu"><a href="VDJ_clonotype.html">VDJ_clonotype</a></span><span class="op">(</span>VDJ<span class="op">=</span><span class="fu">Platypus</span><span class="fu">::</span><span class="va"><a href="small_vgm.html">small_vgm</a></span><span class="op">[[</span><span class="fl">1</span><span class="op">]</span><span class="op">]</span>,</span></span>
<span class="r-in"><span>clone.strategy<span class="op">=</span><span class="st">"cdr3.nt"</span>,</span></span>
<span class="r-in"><span>hierarchical <span class="op">=</span> <span class="st">"single.chains"</span>, global.clonotype <span class="op">=</span> <span class="cn">TRUE</span><span class="op">)</span></span></span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> Clonotyping strategy: cdr3.nt</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> Hierarchical clonotyping is specifically designed to incorporate cells with abberand numbers of chains. Filtering for 1VDJ 1VJ chain thereby defeats its purpose. Function will continue without filtering.</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> Filtered out 1 cells containing more than one VDJ AND VJ chain or two VDJ chains, as these likely correspond to doublets</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> Processing sample 1 of 1</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> Attempting to merge in 17 aberrant cells</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> Backing up 10x default clonotyping in columns clonotype_id_10x and clonotype_frequency_10x before updating clonotype_id and clonotype_frequency columns</span>
<span class="r-in"><span></span></span>
<span class="r-in"><span><span class="va">small_vgm</span> <span class="op">&lt;-</span> <span class="fu">VGM_integrate</span><span class="op">(</span></span></span>
<span class="r-in"><span>VGM <span class="op">=</span> <span class="va">small_vgm</span>,</span></span>
<span class="r-in"><span>columns.to.transfer <span class="op">=</span> <span class="cn">NULL</span><span class="op">)</span> <span class="co">#transfer all new columns</span></span></span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> Cells in GEX: 21; cells in VDJ: 49</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span>  Overlap: 20 </span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> Integrating all VDJ columns which are not in GEX to GEX</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> Added columns to GEX: clonotype_id; global_clonotype_frequency_cdr3.nt; global_clonotype_id_cdr3.nt; global_clonal_feature_cdr3.nt; clonotype_frequency_10x; clonotype_id; clonotype_frequency</span>
<span class="r-in"><span><span class="co">#and update clonotype_id and clonotype_frequency column</span></span></span>
<span class="r-in"><span><span class="co">#(as does VDJ_clonotype_v3 in VDJ)</span></span></span>
<span class="r-in"><span></span></span>
<span class="r-in"><span><span class="va">small_vgm</span> <span class="op">&lt;-</span> <span class="fu">VGM_integrate</span><span class="op">(</span></span></span>
<span class="r-in"><span>VGM <span class="op">=</span> <span class="va">small_vgm</span>,</span></span>
<span class="r-in"><span>columns.to.transfer <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span><span class="st">"global_clonotype_id_cdr3.nt"</span><span class="op">)</span><span class="op">)</span></span></span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> Cells in GEX: 21; cells in VDJ: 49</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span>  Overlap: 20 </span>
<span class="r-in"><span><span class="co">#transfer only selected columns</span></span></span>
<span class="r-in"><span></span></span>
<span class="r-in"><span><span class="co">#Pull genes from GEX and add as metadata column to VDJ</span></span></span>
<span class="r-in"><span></span></span>
<span class="r-in"><span><span class="va">small_vgm</span> <span class="op">&lt;-</span> <span class="fu">VGM_integrate</span><span class="op">(</span></span></span>
<span class="r-in"><span><span class="va">small_vgm</span>, genes.to.VDJ <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span><span class="st">"CD19"</span>,<span class="st">"CD24A"</span><span class="op">)</span>,seurat.slot <span class="op">=</span> <span class="st">"counts"</span><span class="op">)</span></span></span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> Cells in GEX: 21; cells in VDJ: 49</span>
<span class="r-msg co"><span class="r-pr">#&gt;</span>  Overlap: 20 </span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> Added columns to VDJ: CD19; CD24A</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>

