Skip to content

Commit

Permalink
Deploying to gh-pages from @ 76a37da 🚀
Browse files Browse the repository at this point in the history
  • Loading branch information
ubyndr committed May 20, 2024
1 parent bb6836f commit dcec879
Show file tree
Hide file tree
Showing 6 changed files with 87 additions and 5 deletions.
4 changes: 2 additions & 2 deletions _modules/pandasaurus_cxg/anndata_analyzer.html
Original file line number Diff line number Diff line change
Expand Up @@ -222,9 +222,9 @@ <h1>Source code for pandasaurus_cxg.anndata_analyzer</h1><div class="highlight">
<span class="p">[</span><span class="n">item</span> <span class="k">for</span> <span class="n">sublist</span> <span class="ow">in</span> <span class="p">[[</span><span class="n">k</span><span class="p">,</span> <span class="n">v</span><span class="p">]</span> <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">record</span><span class="o">.</span><span class="n">items</span><span class="p">()]</span> <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">sublist</span><span class="p">]</span>
<span class="k">for</span> <span class="n">record</span> <span class="ow">in</span> <span class="n">temp_result</span>
<span class="p">]</span>
<span class="n">unique_result</span> <span class="o">=</span> <span class="n">AnndataAnalyzer</span><span class="o">.</span><span class="n">_remove_duplicates</span><span class="p">(</span><span class="n">result</span><span class="p">)</span>
<span class="c1"># unique_result = AnndataAnalyzer._remove_duplicates(result)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">report_df</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">(</span>
<span class="p">[</span><span class="n">inner_list</span><span class="p">[:</span><span class="mi">2</span><span class="p">]</span> <span class="o">+</span> <span class="n">inner_list</span><span class="p">[</span><span class="mi">5</span><span class="p">:</span><span class="mi">6</span><span class="p">]</span> <span class="o">+</span> <span class="n">inner_list</span><span class="p">[</span><span class="mi">2</span><span class="p">:</span><span class="mi">4</span><span class="p">]</span> <span class="k">for</span> <span class="n">inner_list</span> <span class="ow">in</span> <span class="n">unique_result</span><span class="p">],</span>
<span class="p">[</span><span class="n">inner_list</span><span class="p">[:</span><span class="mi">2</span><span class="p">]</span> <span class="o">+</span> <span class="n">inner_list</span><span class="p">[</span><span class="mi">5</span><span class="p">:</span><span class="mi">6</span><span class="p">]</span> <span class="o">+</span> <span class="n">inner_list</span><span class="p">[</span><span class="mi">2</span><span class="p">:</span><span class="mi">4</span><span class="p">]</span> <span class="k">for</span> <span class="n">inner_list</span> <span class="ow">in</span> <span class="n">result</span><span class="p">],</span>
<span class="n">columns</span><span class="o">=</span><span class="p">[</span><span class="s2">&quot;field_name1&quot;</span><span class="p">,</span> <span class="s2">&quot;value1&quot;</span><span class="p">,</span> <span class="s2">&quot;predicate&quot;</span><span class="p">,</span> <span class="s2">&quot;field_name2&quot;</span><span class="p">,</span> <span class="s2">&quot;value2&quot;</span><span class="p">],</span>
<span class="p">)</span>
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">report_df</span></div>
Expand Down
64 changes: 64 additions & 0 deletions _modules/pandasaurus_cxg/graph_generator/graph_generator.html
Original file line number Diff line number Diff line change
Expand Up @@ -274,6 +274,70 @@ <h1>Source code for pandasaurus_cxg.graph_generator.graph_generator</h1><div cla
<span class="bp">self</span><span class="o">.</span><span class="n">graph</span> <span class="o">+=</span> <span class="bp">self</span><span class="o">.</span><span class="n">ea</span><span class="o">.</span><span class="n">enricher_manager</span><span class="o">.</span><span class="n">enricher</span><span class="o">.</span><span class="n">graph</span></div>


<div class="viewcode-block" id="GraphGenerator.add_metadata_nodes">
<a class="viewcode-back" href="../../../pandasaurus_cxg/graph_generator/graph_generator.html#pandasaurus_cxg.graph_generator.graph_generator.GraphGenerator.add_metadata_nodes">[docs]</a>
<span class="k">def</span> <span class="nf">add_metadata_nodes</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">metadata_fields</span><span class="p">:</span> <span class="n">List</span><span class="p">[</span><span class="nb">str</span><span class="p">]):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Add metadata nodes to an RDF graph based on the specified metadata fields. Each node represents a metadata</span>
<span class="sd"> attribute, and edges connecting these metadata nodes to cell clusters indicate the percentage contribution</span>
<span class="sd"> of each metadata to the cluster.</span>

<span class="sd"> This function modifies the internal state of the RDF graph by adding new nodes and edges.</span>

<span class="sd"> Args:</span>
<span class="sd"> metadata_fields (List[str]): A list of metadata field names that exist in the schema and should be added</span>
<span class="sd"> to the RDF graph as nodes.</span>

<span class="sd"> Returns:</span>

<span class="sd"> &quot;&quot;&quot;</span>
<span class="n">obs</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">ea</span><span class="o">.</span><span class="n">enricher_manager</span><span class="o">.</span><span class="n">anndata</span><span class="o">.</span><span class="n">obs</span>
<span class="c1"># metadata field validation</span>
<span class="c1"># TODO schema should be involved</span>
<span class="n">missing_fields</span> <span class="o">=</span> <span class="p">[</span><span class="n">field</span> <span class="k">for</span> <span class="n">field</span> <span class="ow">in</span> <span class="n">metadata_fields</span> <span class="k">if</span> <span class="n">field</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">obs</span><span class="o">.</span><span class="n">keys</span><span class="p">()]</span>
<span class="k">if</span> <span class="n">missing_fields</span><span class="p">:</span>
<span class="k">raise</span> <span class="ne">KeyError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Missing metadata fields: </span><span class="si">{</span><span class="s1">&#39;, &#39;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">missing_fields</span><span class="p">)</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>

<span class="n">author_cell_types</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">ea</span><span class="o">.</span><span class="n">analyzer_manager</span><span class="o">.</span><span class="n">all_cell_type_identifiers</span><span class="p">)</span>
<span class="c1"># remove &#39;cell_type&#39; from all_cell_type_identifiers</span>
<span class="n">author_cell_types</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">)</span>
<span class="c1"># add an annotation property for percentage</span>
<span class="n">percentage_annotation_property</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">ns</span><span class="p">[</span><span class="s2">&quot;percentage&quot;</span><span class="p">]</span>
<span class="bp">self</span><span class="o">.</span><span class="n">graph</span><span class="o">.</span><span class="n">add</span><span class="p">((</span><span class="n">percentage_annotation_property</span><span class="p">,</span> <span class="n">RDF</span><span class="o">.</span><span class="n">type</span><span class="p">,</span> <span class="n">OWL</span><span class="o">.</span><span class="n">AnnotationProperty</span><span class="p">))</span>
<span class="k">for</span> <span class="n">metadata</span> <span class="ow">in</span> <span class="n">metadata_fields</span><span class="p">:</span>
<span class="k">for</span> <span class="n">s</span><span class="p">,</span> <span class="n">_</span><span class="p">,</span> <span class="n">_</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">graph</span><span class="o">.</span><span class="n">triples</span><span class="p">((</span><span class="kc">None</span><span class="p">,</span> <span class="n">RDF</span><span class="o">.</span><span class="n">type</span><span class="p">,</span> <span class="n">URIRef</span><span class="p">(</span><span class="n">CLUSTER</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;iri&quot;</span><span class="p">)))):</span>
<span class="k">for</span> <span class="n">a_cell_type</span> <span class="ow">in</span> <span class="n">author_cell_types</span><span class="p">:</span>
<span class="n">literal</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">graph</span><span class="o">.</span><span class="n">value</span><span class="p">(</span><span class="n">subject</span><span class="o">=</span><span class="n">s</span><span class="p">,</span> <span class="n">predicate</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">ns</span><span class="p">[</span><span class="n">a_cell_type</span><span class="p">])</span>
<span class="k">if</span> <span class="n">literal</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
<span class="k">continue</span>
<span class="n">percentages</span> <span class="o">=</span> <span class="p">(</span>
<span class="n">obs</span><span class="p">[</span><span class="n">obs</span><span class="p">[</span><span class="n">a_cell_type</span><span class="p">]</span> <span class="o">==</span> <span class="nb">str</span><span class="p">(</span><span class="n">literal</span><span class="p">)][</span><span class="n">metadata</span><span class="p">]</span><span class="o">.</span><span class="n">value_counts</span><span class="p">(</span><span class="n">normalize</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
<span class="o">*</span> <span class="mi">100</span>
<span class="p">)</span><span class="o">.</span><span class="n">loc</span><span class="p">[</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">x</span> <span class="o">!=</span> <span class="mf">0.0</span><span class="p">]</span>
<span class="k">for</span> <span class="n">label</span><span class="p">,</span> <span class="n">percentage</span> <span class="ow">in</span> <span class="n">percentages</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
<span class="n">annotated_target</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">graph</span><span class="o">.</span><span class="n">value</span><span class="p">(</span>
<span class="n">predicate</span><span class="o">=</span><span class="n">RDFS</span><span class="o">.</span><span class="n">label</span><span class="p">,</span> <span class="nb">object</span><span class="o">=</span><span class="n">Literal</span><span class="p">(</span><span class="n">label</span><span class="p">)</span>
<span class="p">)</span>
<span class="k">if</span> <span class="n">annotated_target</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
<span class="n">annotated_target</span> <span class="o">=</span> <span class="n">URIRef</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">ns</span><span class="p">[</span><span class="nb">str</span><span class="p">(</span><span class="n">uuid</span><span class="o">.</span><span class="n">uuid4</span><span class="p">())])</span>
<span class="bp">self</span><span class="o">.</span><span class="n">graph</span><span class="o">.</span><span class="n">add</span><span class="p">((</span><span class="n">annotated_target</span><span class="p">,</span> <span class="n">RDF</span><span class="o">.</span><span class="n">type</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">ns</span><span class="p">[</span><span class="n">metadata</span><span class="p">]))</span>
<span class="bp">self</span><span class="o">.</span><span class="n">graph</span><span class="o">.</span><span class="n">add</span><span class="p">((</span><span class="n">annotated_target</span><span class="p">,</span> <span class="n">RDFS</span><span class="o">.</span><span class="n">label</span><span class="p">,</span> <span class="n">Literal</span><span class="p">(</span><span class="n">label</span><span class="p">)))</span>
<span class="n">bnode_axiom</span> <span class="o">=</span> <span class="n">BNode</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">graph</span><span class="o">.</span><span class="n">add</span><span class="p">((</span><span class="n">bnode_axiom</span><span class="p">,</span> <span class="n">RDF</span><span class="o">.</span><span class="n">type</span><span class="p">,</span> <span class="n">OWL</span><span class="o">.</span><span class="n">Axiom</span><span class="p">))</span>
<span class="bp">self</span><span class="o">.</span><span class="n">graph</span><span class="o">.</span><span class="n">add</span><span class="p">((</span><span class="n">bnode_axiom</span><span class="p">,</span> <span class="n">OWL</span><span class="o">.</span><span class="n">annotatedSource</span><span class="p">,</span> <span class="n">s</span><span class="p">))</span>
<span class="bp">self</span><span class="o">.</span><span class="n">graph</span><span class="o">.</span><span class="n">add</span><span class="p">(</span>
<span class="p">(</span><span class="n">bnode_axiom</span><span class="p">,</span> <span class="n">OWL</span><span class="o">.</span><span class="n">annotatedProperty</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">ns</span><span class="p">[</span><span class="s2">&quot;has_&quot;</span> <span class="o">+</span> <span class="n">metadata</span><span class="p">])</span>
<span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">graph</span><span class="o">.</span><span class="n">add</span><span class="p">((</span><span class="n">bnode_axiom</span><span class="p">,</span> <span class="n">OWL</span><span class="o">.</span><span class="n">annotatedTarget</span><span class="p">,</span> <span class="n">annotated_target</span><span class="p">))</span>
<span class="bp">self</span><span class="o">.</span><span class="n">graph</span><span class="o">.</span><span class="n">add</span><span class="p">(</span>
<span class="p">(</span>
<span class="n">bnode_axiom</span><span class="p">,</span>
<span class="n">percentage_annotation_property</span><span class="p">,</span>
<span class="n">Literal</span><span class="p">(</span><span class="s2">&quot;</span><span class="si">{:.2f}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">percentage</span><span class="p">)),</span>
<span class="p">)</span>
<span class="p">)</span></div>


<div class="viewcode-block" id="GraphGenerator.save_rdf_graph">
<a class="viewcode-back" href="../../../pandasaurus_cxg/graph_generator/graph_generator.html#pandasaurus_cxg.graph_generator.graph_generator.GraphGenerator.save_rdf_graph">[docs]</a>
<span class="k">def</span> <span class="nf">save_rdf_graph</span><span class="p">(</span>
Expand Down
6 changes: 4 additions & 2 deletions genindex.html
Original file line number Diff line number Diff line change
Expand Up @@ -98,16 +98,18 @@ <h2 id="_">_</h2>
<h2 id="A">A</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="pandasaurus_cxg/graph_generator/graph_generator.html#pandasaurus_cxg.graph_generator.graph_generator.GraphGenerator.add_metadata_nodes">add_metadata_nodes() (pandasaurus_cxg.graph_generator.graph_generator.GraphGenerator method)</a>
</li>
<li><a href="pandasaurus_cxg/graph_generator/graph_generator_utils.html#pandasaurus_cxg.graph_generator.graph_generator_utils.add_outgoing_edges_to_subgraph">add_outgoing_edges_to_subgraph() (in module pandasaurus_cxg.graph_generator.graph_generator_utils)</a>
</li>
<li><a href="pandasaurus_cxg/anndata_analyzer.html#pandasaurus_cxg.anndata_analyzer.AnndataAnalyzer.all_cell_type_identifiers">all_cell_type_identifiers (pandasaurus_cxg.anndata_analyzer.AnndataAnalyzer attribute)</a>
</li>
<li><a href="pandasaurus_cxg/anndata_analyzer.html#pandasaurus_cxg.anndata_analyzer.AnndataAnalyzer">AnndataAnalyzer (class in pandasaurus_cxg.anndata_analyzer)</a>
</li>
<li><a href="pandasaurus_cxg/anndata_enricher.html#pandasaurus_cxg.anndata_enricher.AnndataEnricher">AnndataEnricher (class in pandasaurus_cxg.anndata_enricher)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="pandasaurus_cxg/anndata_enricher.html#pandasaurus_cxg.anndata_enricher.AnndataEnricher">AnndataEnricher (class in pandasaurus_cxg.anndata_enricher)</a>
</li>
<li><a href="pandasaurus_cxg/enrichment_analysis.html#pandasaurus_cxg.enrichment_analysis.AnndataEnrichmentAnalyzer">AnndataEnrichmentAnalyzer (class in pandasaurus_cxg.enrichment_analysis)</a>
</li>
<li><a href="pandasaurus_cxg/utils/anndata_loader.html#pandasaurus_cxg.utils.anndata_loader.AnndataLoader">AnndataLoader (class in pandasaurus_cxg.utils.anndata_loader)</a>
Expand Down
Binary file modified objects.inv
Binary file not shown.
Loading

0 comments on commit dcec879

Please sign in to comment.