Skip to content

Commit

Permalink
migrate from BasicPart.concentration() to BasicPart.clip_mass()
Browse files Browse the repository at this point in the history
  • Loading branch information
hainesm6 committed Nov 1, 2021
1 parent 766f56e commit d5384ca
Show file tree
Hide file tree
Showing 27 changed files with 224 additions and 847 deletions.
8 changes: 3 additions & 5 deletions basicsynbio/cam/csv_export.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,7 @@ def export_csvs(
"Prefix ID",
"Part ID",
"Part Name",
"Part suggested stock concentration (ng/µL)",
"Part stock per 30 µL clip (µL)",
"Part mass for 30 μL clip reaction (ng)",
"Suffix ID",
"Total assemblies",
"Assembly indexes",
Expand All @@ -59,10 +58,9 @@ def export_csvs(
"Prefix ID": clip_data[0]._prefix.prefix_id,
"Part ID": clip_data[0]._part.id,
"Part Name": clip_data[0]._part.name,
"Part suggested stock concentration (ng/µL)": clip_data[
"Part mass for 30 μL clip reaction (ng)": clip_data[
0
]._part.concentration(),
"Part stock per 30 µL clip (µL)": 1,
]._part.clip_mass(),
"Suffix ID": clip_data[0]._suffix.suffix_id,
"Total assemblies": len(clip_data[1]),
"Assembly indexes": [
Expand Down
3 changes: 1 addition & 2 deletions basicsynbio/cam/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -238,8 +238,7 @@ def unique_parts_json(obj):
"id": value["part"].id,
"name": value["part"].name,
"description": value["part"].description,
"suggested stock concentration (ng/µL)": value["part"].concentration(),
"stock per 30 µL clip (µL)": 1,
"Part mass for 30 μL clip reaction (ng)": value["part"].clip_mass(),
"clip reactions": [
"CR" + str(list(obj.clips_data.keys()).index(clip_reaction))
for clip_reaction in value["clip reactions"]
Expand Down
12 changes: 3 additions & 9 deletions basicsynbio/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -102,19 +102,15 @@ def basic_slice(self) -> SeqRecord:
else:
raise ValueError("incorrect sequence used.")

def concentration(
def clip_mass(
self,
stock: bool = True,
clip_vol: float = 30,
circular: bool = True,
ndigit: int = None,
) -> Union[float, int]:
"""Obtain the recommended concentration of part in ng/µL.
This can either be the recommended stock concentration of part or the final concentration of part in clip reactions.
"""Obtain the recommended mass of part (ng) for a clip reaction.
Args:
stock: If true, method returns the stock concentration required for adding 1 µL part to each clip reaction with volume = clip_vol. Else returns the suggested final concentration of part in a clip reaction (ng/µL).
clip_vol: volume of the clip reaction (µL).
circular: The part is circular or linear if False.
ndigit: Refer to built-in round function documentation.
Expand All @@ -126,9 +122,7 @@ def concentration(
)
/ 1e6
)
if stock:
return round(final_concentration * clip_vol, ndigit)
return round(final_concentration, ndigit)
return round(final_concentration * clip_vol, ndigit)

def domesticating_primers(
self,
Expand Down
3 changes: 1 addition & 2 deletions docs/_modules/basicsynbio/cam/main.html
Original file line number Diff line number Diff line change
Expand Up @@ -272,8 +272,7 @@ <h1>Source code for basicsynbio.cam.main</h1><div class="highlight"><pre>
<span class="s2">&quot;id&quot;</span><span class="p">:</span> <span class="n">value</span><span class="p">[</span><span class="s2">&quot;part&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">id</span><span class="p">,</span>
<span class="s2">&quot;name&quot;</span><span class="p">:</span> <span class="n">value</span><span class="p">[</span><span class="s2">&quot;part&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">name</span><span class="p">,</span>
<span class="s2">&quot;description&quot;</span><span class="p">:</span> <span class="n">value</span><span class="p">[</span><span class="s2">&quot;part&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">description</span><span class="p">,</span>
<span class="s2">&quot;suggested stock concentration (ng/µL)&quot;</span><span class="p">:</span> <span class="n">value</span><span class="p">[</span><span class="s2">&quot;part&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">concentration</span><span class="p">(),</span>
<span class="s2">&quot;stock per 30 µL clip (µL)&quot;</span><span class="p">:</span> <span class="mi">1</span><span class="p">,</span>
<span class="s2">&quot;Part mass for 30 μL clip reaction (ng)&quot;</span><span class="p">:</span> <span class="n">value</span><span class="p">[</span><span class="s2">&quot;part&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">clip_mass</span><span class="p">(),</span>
<span class="s2">&quot;clip reactions&quot;</span><span class="p">:</span> <span class="p">[</span>
<span class="s2">&quot;CR&quot;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="nb">list</span><span class="p">(</span><span class="n">obj</span><span class="o">.</span><span class="n">clips_data</span><span class="o">.</span><span class="n">keys</span><span class="p">())</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="n">clip_reaction</span><span class="p">))</span>
<span class="k">for</span> <span class="n">clip_reaction</span> <span class="ow">in</span> <span class="n">value</span><span class="p">[</span><span class="s2">&quot;clip reactions&quot;</span><span class="p">]</span>
Expand Down
12 changes: 3 additions & 9 deletions docs/_modules/basicsynbio/main.html
Original file line number Diff line number Diff line change
Expand Up @@ -136,19 +136,15 @@ <h1>Source code for basicsynbio.main</h1><div class="highlight"><pre>
<span class="k">else</span><span class="p">:</span>
<span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;incorrect sequence used.&quot;</span><span class="p">)</span></div>

<div class="viewcode-block" id="BasicPart.concentration"><a class="viewcode-back" href="../../api.html#basicsynbio.main.BasicPart.concentration">[docs]</a> <span class="k">def</span> <span class="nf">concentration</span><span class="p">(</span>
<div class="viewcode-block" id="BasicPart.clip_mass"><a class="viewcode-back" href="../../api.html#basicsynbio.main.BasicPart.clip_mass">[docs]</a> <span class="k">def</span> <span class="nf">clip_mass</span><span class="p">(</span>
<span class="bp">self</span><span class="p">,</span>
<span class="n">stock</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span>
<span class="n">clip_vol</span><span class="p">:</span> <span class="nb">float</span> <span class="o">=</span> <span class="mi">30</span><span class="p">,</span>
<span class="n">circular</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span>
<span class="n">ndigit</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
<span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Union</span><span class="p">[</span><span class="nb">float</span><span class="p">,</span> <span class="nb">int</span><span class="p">]:</span>
<span class="sd">&quot;&quot;&quot;Obtain the recommended concentration of part in ng/µL.</span>

<span class="sd"> This can either be the recommended stock concentration of part or the final concentration of part in clip reactions.</span>
<span class="sd">&quot;&quot;&quot;Obtain the recommended mass of part (ng) for a clip reaction.</span>

<span class="sd"> Args:</span>
<span class="sd"> stock: If true, method returns the stock concentration required for adding 1 µL part to each clip reaction with volume = clip_vol. Else returns the suggested final concentration of part in a clip reaction (ng/µL).</span>
<span class="sd"> clip_vol: volume of the clip reaction (µL).</span>
<span class="sd"> circular: The part is circular or linear if False.</span>
<span class="sd"> ndigit: Refer to built-in round function documentation.</span>
Expand All @@ -160,9 +156,7 @@ <h1>Source code for basicsynbio.main</h1><div class="highlight"><pre>
<span class="p">)</span>
<span class="o">/</span> <span class="mf">1e6</span>
<span class="p">)</span>
<span class="k">if</span> <span class="n">stock</span><span class="p">:</span>
<span class="k">return</span> <span class="nb">round</span><span class="p">(</span><span class="n">final_concentration</span> <span class="o">*</span> <span class="n">clip_vol</span><span class="p">,</span> <span class="n">ndigit</span><span class="p">)</span>
<span class="k">return</span> <span class="nb">round</span><span class="p">(</span><span class="n">final_concentration</span><span class="p">,</span> <span class="n">ndigit</span><span class="p">)</span></div>
<span class="k">return</span> <span class="nb">round</span><span class="p">(</span><span class="n">final_concentration</span> <span class="o">*</span> <span class="n">clip_vol</span><span class="p">,</span> <span class="n">ndigit</span><span class="p">)</span></div>

<div class="viewcode-block" id="BasicPart.domesticating_primers"><a class="viewcode-back" href="../../api.html#basicsynbio.main.BasicPart.domesticating_primers">[docs]</a> <span class="k">def</span> <span class="nf">domesticating_primers</span><span class="p">(</span>
<span class="bp">self</span><span class="p">,</span>
Expand Down
2 changes: 1 addition & 1 deletion docs/_sources/echo_clips_1_csv.rst.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
echo_clips_1.csv
==========
================

.. csv-table::
:file: ./literal_includes/echo_clips_1.csv
Expand Down
2 changes: 1 addition & 1 deletion docs/_sources/echo_water_buffer_1_csv.rst.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
echo_water_buffer_1.csv
==========
=======================

.. csv-table::
:file: ./literal_includes/echo_water_buffer_1.csv
Expand Down
8 changes: 3 additions & 5 deletions docs/api.html
Original file line number Diff line number Diff line change
Expand Up @@ -245,14 +245,12 @@ <h1>API reference<a class="headerlink" href="#api-reference" title="Permalink to
</dd></dl>

<dl class="py method">
<dt id="basicsynbio.main.BasicPart.concentration">
<code class="sig-name descname">concentration</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">stock</span><span class="p">:</span> <span class="n">bool</span> <span class="o">=</span> <span class="default_value">True</span></em>, <em class="sig-param"><span class="n">clip_vol</span><span class="p">:</span> <span class="n">float</span> <span class="o">=</span> <span class="default_value">30</span></em>, <em class="sig-param"><span class="n">circular</span><span class="p">:</span> <span class="n">bool</span> <span class="o">=</span> <span class="default_value">True</span></em>, <em class="sig-param"><span class="n">ndigit</span><span class="p">:</span> <span class="n">int</span> <span class="o">=</span> <span class="default_value">None</span></em><span class="sig-paren">)</span> &#x2192; Union<span class="p">[</span>float<span class="p">, </span>int<span class="p">]</span><a class="reference internal" href="_modules/basicsynbio/main.html#BasicPart.concentration"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#basicsynbio.main.BasicPart.concentration" title="Permalink to this definition"></a></dt>
<dd><p>Obtain the recommended concentration of part in ng/µL.</p>
<p>This can either be the recommended stock concentration of part or the final concentration of part in clip reactions.</p>
<dt id="basicsynbio.main.BasicPart.clip_mass">
<code class="sig-name descname">clip_mass</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">clip_vol</span><span class="p">:</span> <span class="n">float</span> <span class="o">=</span> <span class="default_value">30</span></em>, <em class="sig-param"><span class="n">circular</span><span class="p">:</span> <span class="n">bool</span> <span class="o">=</span> <span class="default_value">True</span></em>, <em class="sig-param"><span class="n">ndigit</span><span class="p">:</span> <span class="n">int</span> <span class="o">=</span> <span class="default_value">None</span></em><span class="sig-paren">)</span> &#x2192; Union<span class="p">[</span>float<span class="p">, </span>int<span class="p">]</span><a class="reference internal" href="_modules/basicsynbio/main.html#BasicPart.clip_mass"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#basicsynbio.main.BasicPart.clip_mass" title="Permalink to this definition"></a></dt>
<dd><p>Obtain the recommended mass of part (ng) for a clip reaction.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>stock</strong> – If true, method returns the stock concentration required for adding 1 µL part to each clip reaction with volume = clip_vol. Else returns the suggested final concentration of part in a clip reaction (ng/µL).</p></li>
<li><p><strong>clip_vol</strong> – volume of the clip reaction (µL).</p></li>
<li><p><strong>circular</strong> – The part is circular or linear if False.</p></li>
<li><p><strong>ndigit</strong> – Refer to built-in round function documentation.</p></li>
Expand Down
Loading

0 comments on commit d5384ca

Please sign in to comment.