Skip to content

Commit

Permalink
Updated Docs and README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
aaronge-2020 committed Dec 28, 2024
1 parent 0e62a2d commit 32c50f2
Show file tree
Hide file tree
Showing 14 changed files with 117 additions and 34 deletions.
58 changes: 56 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,58 @@
# [mSigSDK](https://episphere.github.io/msig)
# mSigSDK: In-Browser Mutational Signature Analysis

Mutational Signature SDK integrating the NCI [mSigPortal](https://analysistools-dev.cancer.gov/mutational-signatures/#/apiaccess) with the [ICGC Data Portal](https://dcc.icgc.org/)
## Overview

**mSigSDK** is a JavaScript Software Development Kit (SDK) designed to facilitate mutational signature analysis entirely within a web browser. Built to support research workflows involving mutational data, it interacts with APIs from [mSigPortal](https://analysistools.cancer.gov/mutational-signatures/) and adheres to modern web standards, ensuring compatibility, scalability, and privacy.

This SDK allows researchers to analyze patient-specific genomic data without downloading sensitive information, providing a secure and private computational environment. With **mSigSDK**, researchers can:
- Visualize and compare mutational signatures.
- Perform dimensionality reduction, hierarchical clustering, and more.
- Extend functionality to other mutation signature ecosystems such as SIGNAL or COSMIC.

---

## Features

- **In-Browser Computation**: All analyses are performed client-side using the user's computational resources.
- **Modular Design**: Adheres to ECMAScript ES6 standards, enabling easy integration and extension.
- **Visualizations**: Supports multiple interactive visualizations via Plotly and AMCharts.
- **APIs**: Seamlessly integrates with mSigPortal's REST APIs to fetch mutational signature data and metadata.
- **Data Privacy**: No data is sent to external servers; all operations are secure and local.
- **Extensibility**: Designed for interoperability with future APIs and datasets.

---

## Quick Start

This is all you need to do to run mSigSDK. You don't need to install anything:

1. Navigate to any website that has not blocked module loading (e.g., [https://dceg.cancer.gov/](https://dceg.cancer.gov/)).
2. Use `Fn + F12` to open your browser's developer console.
3. Fetch the SDK by typing the following code into the console:
```javascript
mSigSDK = (await import("https://episphere.github.io/msig/main.js")).mSigSDK
```
4. Fetch some data from mSigPortal by typing the following code into the console:
```javascript
data = await mSigSDK.mSigPortal.mSigPortalData.getMutationalSpectrumData()
```

---

## Development and Contributions

### Source Code
The source code is hosted on GitHub: [mSigSDK Repository](https://github.com/episphere/msig).

### Observable Notebooks
Explore interactive examples: [Observable Notebooks](https://observablehq.com/@aaronge-2020/signatures).

### Contact
**Aaron Ge**
Division of Cancer Epidemiology and Genetics, National Cancer Institute.
Email: [[email protected]](mailto:[email protected]).

---

## License
This project is open-source and available under the MIT license.
2 changes: 1 addition & 1 deletion index.html
Original file line number Diff line number Diff line change
Expand Up @@ -456,7 +456,7 @@ <h1 class="home-text01 Section-Heading">Try It Out</h1>
<li class="list-item">
<span>
<span>3) Fetch the SDK by typing the following code into the console</span>
<pre><code>mSigSDK = (await import("https://episphere.github.io/msig/bundle.js")).mSigSDK</code></pre>
<pre><code>mSigSDK = (await import("https://episphere.github.io/msig/main.js")).mSigSDK</code></pre>

</span>
</span>
Expand Down
69 changes: 49 additions & 20 deletions out/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -17,30 +17,59 @@

<div id="main">

<h1 class="page-title">Home</h1>








<h3> </h3>









<h1 class="page-title">mSigSDK: In-Browser Mutational Signature Analysis</h1>





<section>
<article><h1></h1>
<h2>Overview</h2>
<p><strong>mSigSDK</strong> is a JavaScript Software Development Kit (SDK) designed to facilitate mutational signature analysis entirely within a web browser. Built to support research workflows involving mutational data, it interacts with APIs from <a href="https://analysistools.cancer.gov/mutational-signatures/">mSigPortal</a> and adheres to modern web standards, ensuring compatibility, scalability, and privacy.</p>
<p>This SDK allows researchers to analyze patient-specific genomic data without downloading sensitive information, providing a secure and private computational environment. With <strong>mSigSDK</strong>, researchers can:</p>
<ul>
<li>Visualize and compare mutational signatures.</li>
<li>Perform dimensionality reduction, hierarchical clustering, and more.</li>
<li>Extend functionality to other mutation signature ecosystems such as SIGNAL or COSMIC.</li>
</ul>
<hr>
<h2>Features</h2>
<ul>
<li><strong>In-Browser Computation</strong>: All analyses are performed client-side using the user's computational resources.</li>
<li><strong>Modular Design</strong>: Adheres to ECMAScript ES6 standards, enabling easy integration and extension.</li>
<li><strong>Visualizations</strong>: Supports multiple interactive visualizations via Plotly and AMCharts.</li>
<li><strong>APIs</strong>: Seamlessly integrates with mSigPortal's REST APIs to fetch mutational signature data and metadata.</li>
<li><strong>Data Privacy</strong>: No data is sent to external servers; all operations are secure and local.</li>
<li><strong>Extensibility</strong>: Designed for interoperability with future APIs and datasets.</li>
</ul>
<hr>
<h2>Quick Start</h2>
<p>This is all you need to do to run mSigSDK. You don't need to install anything:</p>
<ol>
<li>Navigate to any website that has not blocked module loading (e.g., <a href="https://dceg.cancer.gov/">https://dceg.cancer.gov/</a>).</li>
<li>Use <code>Fn + F12</code> to open your browser's developer console.</li>
<li>Fetch the SDK by typing the following code into the console:<pre class="prettyprint source lang-javascript"><code>mSigSDK = (await import(&quot;https://episphere.github.io/msig/main.js&quot;)).mSigSDK
</code></pre>
</li>
<li>Fetch some data from mSigPortal by typing the following code into the console:<pre class="prettyprint source lang-javascript"><code>data = await mSigSDK.mSigPortal.mSigPortalData.getMutationalSpectrumData()
</code></pre>
</li>
</ol>
<hr>
<h2>Development and Contributions</h2>
<h3>Source Code</h3>
<p>The source code is hosted on GitHub: <a href="https://github.com/episphere/msig">mSigSDK Repository</a>.</p>
<h3>Observable Notebooks</h3>
<p>Explore interactive examples: <a href="https://observablehq.com/@aaronge-2020/signatures">Observable Notebooks</a>.</p>
<h3>Contact</h3>
<p><strong>Aaron Ge</strong><br>
Division of Cancer Epidemiology and Genetics, National Cancer Institute.<br>
Email: <a href="mailto:[email protected]">[email protected]</a>.</p>
<hr>
<h2>License</h2>
<p>This project is open-source and available under the MIT license.</p></article>
</section>



Expand All @@ -56,7 +85,7 @@ <h2><a href="index.html">Home</a></h2><h3>Namespaces</h3><ul><li><a href="mSigPo
<br class="clear">

<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Fri Dec 27 2024 20:28:48 GMT-0500 (Eastern Standard Time)
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Fri Dec 27 2024 20:41:26 GMT-0500 (Eastern Standard Time)
</footer>

<script> prettyPrint(); </script>
Expand Down
2 changes: 1 addition & 1 deletion out/mSigPortalData.html
Original file line number Diff line number Diff line change
Expand Up @@ -4547,7 +4547,7 @@ <h2><a href="index.html">Home</a></h2><h3>Namespaces</h3><ul><li><a href="mSigPo
<br class="clear">

<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Fri Dec 27 2024 20:28:48 GMT-0500 (Eastern Standard Time)
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Fri Dec 27 2024 20:41:26 GMT-0500 (Eastern Standard Time)
</footer>

<script> prettyPrint(); </script>
Expand Down
2 changes: 1 addition & 1 deletion out/mSigPortalPlots.html
Original file line number Diff line number Diff line change
Expand Up @@ -3127,7 +3127,7 @@ <h2><a href="index.html">Home</a></h2><h3>Namespaces</h3><ul><li><a href="mSigPo
<br class="clear">

<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Fri Dec 27 2024 20:28:48 GMT-0500 (Eastern Standard Time)
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Fri Dec 27 2024 20:41:26 GMT-0500 (Eastern Standard Time)
</footer>

<script> prettyPrint(); </script>
Expand Down
2 changes: 1 addition & 1 deletion out/mSigSDKScripts_mSigPortalAPIs.js.html
Original file line number Diff line number Diff line change
Expand Up @@ -488,7 +488,7 @@ <h2><a href="index.html">Home</a></h2><h3>Namespaces</h3><ul><li><a href="mSigPo
<br class="clear">

<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Fri Dec 27 2024 20:28:48 GMT-0500 (Eastern Standard Time)
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Fri Dec 27 2024 20:41:26 GMT-0500 (Eastern Standard Time)
</footer>

<script> prettyPrint(); </script>
Expand Down
2 changes: 1 addition & 1 deletion out/mSigSDKScripts_machineLearning.js.html
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,7 @@ <h2><a href="index.html">Home</a></h2><h3>Namespaces</h3><ul><li><a href="mSigPo
<br class="clear">

<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Fri Dec 27 2024 20:28:48 GMT-0500 (Eastern Standard Time)
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Fri Dec 27 2024 20:41:26 GMT-0500 (Eastern Standard Time)
</footer>

<script> prettyPrint(); </script>
Expand Down
2 changes: 1 addition & 1 deletion out/mSigSDKScripts_tcga.js.html
Original file line number Diff line number Diff line change
Expand Up @@ -566,7 +566,7 @@ <h2><a href="index.html">Home</a></h2><h3>Namespaces</h3><ul><li><a href="mSigPo
<br class="clear">

<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Fri Dec 27 2024 20:28:48 GMT-0500 (Eastern Standard Time)
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Fri Dec 27 2024 20:41:26 GMT-0500 (Eastern Standard Time)
</footer>

<script> prettyPrint(); </script>
Expand Down
2 changes: 1 addition & 1 deletion out/mSigSDKScripts_userData.js.html
Original file line number Diff line number Diff line change
Expand Up @@ -260,7 +260,7 @@ <h2><a href="index.html">Home</a></h2><h3>Namespaces</h3><ul><li><a href="mSigPo
<br class="clear">

<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Fri Dec 27 2024 20:28:48 GMT-0500 (Eastern Standard Time)
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Fri Dec 27 2024 20:41:26 GMT-0500 (Eastern Standard Time)
</footer>

<script> prettyPrint(); </script>
Expand Down
2 changes: 1 addition & 1 deletion out/mSigSDKScripts_utils.js.html
Original file line number Diff line number Diff line change
Expand Up @@ -538,7 +538,7 @@ <h2><a href="index.html">Home</a></h2><h3>Namespaces</h3><ul><li><a href="mSigPo
<br class="clear">

<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Fri Dec 27 2024 20:28:48 GMT-0500 (Eastern Standard Time)
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Fri Dec 27 2024 20:41:26 GMT-0500 (Eastern Standard Time)
</footer>

<script> prettyPrint(); </script>
Expand Down
2 changes: 1 addition & 1 deletion out/machineLearning.html
Original file line number Diff line number Diff line change
Expand Up @@ -1737,7 +1737,7 @@ <h2><a href="index.html">Home</a></h2><h3>Namespaces</h3><ul><li><a href="mSigPo
<br class="clear">

<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Fri Dec 27 2024 20:28:48 GMT-0500 (Eastern Standard Time)
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Fri Dec 27 2024 20:41:26 GMT-0500 (Eastern Standard Time)
</footer>

<script> prettyPrint(); </script>
Expand Down
2 changes: 1 addition & 1 deletion out/main.js.html
Original file line number Diff line number Diff line change
Expand Up @@ -1465,7 +1465,7 @@ <h2><a href="index.html">Home</a></h2><h3>Namespaces</h3><ul><li><a href="mSigPo
<br class="clear">

<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Fri Dec 27 2024 20:28:48 GMT-0500 (Eastern Standard Time)
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Fri Dec 27 2024 20:41:26 GMT-0500 (Eastern Standard Time)
</footer>

<script> prettyPrint(); </script>
Expand Down
2 changes: 1 addition & 1 deletion out/tcga.html
Original file line number Diff line number Diff line change
Expand Up @@ -991,7 +991,7 @@ <h2><a href="index.html">Home</a></h2><h3>Namespaces</h3><ul><li><a href="mSigPo
<br class="clear">

<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Fri Dec 27 2024 20:28:48 GMT-0500 (Eastern Standard Time)
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Fri Dec 27 2024 20:41:26 GMT-0500 (Eastern Standard Time)
</footer>

<script> prettyPrint(); </script>
Expand Down
2 changes: 1 addition & 1 deletion out/userData.html
Original file line number Diff line number Diff line change
Expand Up @@ -635,7 +635,7 @@ <h2><a href="index.html">Home</a></h2><h3>Namespaces</h3><ul><li><a href="mSigPo
<br class="clear">

<footer>
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Fri Dec 27 2024 20:28:48 GMT-0500 (Eastern Standard Time)
Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Fri Dec 27 2024 20:41:26 GMT-0500 (Eastern Standard Time)
</footer>

<script> prettyPrint(); </script>
Expand Down

0 comments on commit 32c50f2

Please sign in to comment.