mirror of
https://github.com/chanzuckerberg/cellxgene.git
synced 2026-09-15 20:57:56 +08:00
191 lines
9.7 KiB
HTML
191 lines
9.7 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en-US">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||
|
||
<!-- Begin Jekyll SEO tag v2.6.1 -->
|
||
<title>Code of conduct | cellxgene</title>
|
||
<meta name="generator" content="Jekyll v3.8.7" />
|
||
<meta property="og:title" content="Code of conduct" />
|
||
<meta property="og:locale" content="en_US" />
|
||
<meta name="description" content="An interactive explorer for single-cell transcriptomics data" />
|
||
<meta property="og:description" content="An interactive explorer for single-cell transcriptomics data" />
|
||
<link rel="canonical" href="https://chanzuckerberg.github.io/cellxgene/posts/contribute.html" />
|
||
<meta property="og:url" content="https://chanzuckerberg.github.io/cellxgene/posts/contribute.html" />
|
||
<meta property="og:site_name" content="cellxgene" />
|
||
<script type="application/ld+json">
|
||
{"publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"https://chanzuckerberg.github.io/cellxgene/cellxgene-logo.png"}},"url":"https://chanzuckerberg.github.io/cellxgene/posts/contribute.html","headline":"Code of conduct","description":"An interactive explorer for single-cell transcriptomics data","@type":"WebPage","@context":"https://schema.org"}</script>
|
||
<!-- End Jekyll SEO tag -->
|
||
|
||
<link rel="stylesheet" href="/cellxgene/assets/css/style.css?v=bbef27b8c9c0dc97e0fb70506c783e93683dae95">
|
||
<!--[if lt IE 9]>
|
||
<script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
|
||
<![endif]-->
|
||
</head>
|
||
<body>
|
||
<div class="wrapper">
|
||
<header>
|
||
<img src="/cellxgene/cellxgene-logo.png" alt="cellxgene" />
|
||
|
||
<p>An interactive explorer for single-cell transcriptomics data</p>
|
||
<p>
|
||
|
||
|
||
<a href="/cellxgene/" class="btn">Quick start</a><br>
|
||
|
||
|
||
|
||
|
||
<a href="/cellxgene/posts/install" class="btn">Installation</a><br>
|
||
|
||
|
||
|
||
<a href="/cellxgene/posts/gallery" class="btn">Gallery</a><br>
|
||
|
||
|
||
|
||
<a href="/cellxgene/posts/demo-data" class="btn">Demo datasets</a><br>
|
||
|
||
|
||
|
||
<a href="/cellxgene/posts/prepare" class="btn">Preparing your data</a><br>
|
||
|
||
|
||
|
||
<a href="/cellxgene/posts/launch" class="btn">Launching cellxgene</a><br>
|
||
|
||
|
||
|
||
<a href="/cellxgene/posts/hosted" class="btn">Hosting cellxgene</a><br>
|
||
|
||
|
||
|
||
<a href="/cellxgene/posts/annotations" class="btn">Annotating data</a><br>
|
||
|
||
|
||
|
||
<a href="/cellxgene/posts/methods" class="btn">Methods</a><br>
|
||
|
||
|
||
|
||
<a href="/cellxgene/posts/troubleshooting" class="btn">Troubleshooting</a><br>
|
||
|
||
|
||
|
||
<a href="/cellxgene/posts/roadmap" class="btn">Roadmap</a><br>
|
||
|
||
|
||
|
||
<a href="/cellxgene/posts/contribute" class="btn"><b>Contributing (ideas or code)</b></a><br>
|
||
|
||
|
||
|
||
<a href="/cellxgene/posts/contact" class="btn">Contact & finding help</a><br>
|
||
|
||
|
||
|
||
<a href="/cellxgene/posts/cellxgene_cziscience_com" class="btn">cellxgene.cziscience.com</a><br>
|
||
|
||
|
||
|
||
<a href="https://github.com/chanzuckerberg/cellxgene" class="btn" target="_blank">Code</a>
|
||
</p>
|
||
</header>
|
||
|
||
<section>
|
||
<h1 id="code-of-conduct">Code of conduct</h1>
|
||
|
||
<p>We warmly welcome contributions from the community!</p>
|
||
|
||
<p>To ensure a welcoming experience for our entire community, this project adheres to the Contributor Covenant
|
||
<a href="https://github.com/chanzuckerberg/.github/tree/master/CODE_OF_CONDUCT.md">code of conduct</a>.
|
||
By participating, you are expected to uphold this code. Please report unacceptable behavior
|
||
to opensource@chanzuckerberg.com.</p>
|
||
|
||
<p>If you have any questions about any of this stuff, just ask! :)</p>
|
||
|
||
<h1 id="contributing-ideas-and-issues">Contributing ideas and issues</h1>
|
||
|
||
<p>We’d love to hear from you! Please submit any bug reports and feature requests through <a href="https://github.com/chanzuckerberg/cellxgene/issues">Github issues</a>.</p>
|
||
|
||
<h1 id="direct-contributions">Direct contributions</h1>
|
||
|
||
<h2 id="getting-started">Getting started</h2>
|
||
|
||
<p>If you are interested in working on <code class="language-plaintext highlighter-rouge">cellxgene</code> development, you’ll need to use git to make a copy of the <a href="https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/working-with-forks">project repository</a> and share your changes.</p>
|
||
|
||
<p>We have several “rules” (strong suggestions really) for contributions:</p>
|
||
|
||
<ol>
|
||
<li>
|
||
<p>If your contribution is complex, adds new features, new UI design or otherwise warrants discussion, we highly recommend that you submit a github issue, and engage other contributors in a discussion about the details of your proposed PR. This will save you time in the long run, as many details and decisions can be hashed out ahead-of-time.</p>
|
||
</li>
|
||
<li>
|
||
<p>Please submit any direct contributions by <a href="https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/working-with-forks">forking the repository</a>, creating a feature branch, and <a href="https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request">submitting a Pull Request</a>.</p>
|
||
</li>
|
||
</ol>
|
||
|
||
<p>First, you’ll need the following installed on your machine</p>
|
||
|
||
<ul>
|
||
<li>python 3.6+</li>
|
||
<li>node and npm (we recommend using <a href="https://github.com/creationix/nvm">nvm</a> if this is your first time with node)</li>
|
||
</ul>
|
||
|
||
<p>Then clone the project</p>
|
||
|
||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>git clone https://github.com/chanzuckerberg/cellxgene.git
|
||
</code></pre></div></div>
|
||
|
||
<p>This is enough to get you started with editing documentation. If you’d like to contribute code:</p>
|
||
|
||
<p>Build the client web assets from inside the <code class="language-plaintext highlighter-rouge">cellxgene</code> folder</p>
|
||
|
||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>make build-for-server-dev
|
||
</code></pre></div></div>
|
||
|
||
<p>Install all requirements (we recommend doing this inside a <a href="https://docs.python.org/3/tutorial/venv.html">virtual environment</a>)</p>
|
||
|
||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>pip install -e .
|
||
</code></pre></div></div>
|
||
|
||
<p>You can start the app while developing either by calling <code class="language-plaintext highlighter-rouge">cellxgene</code> or by calling <code class="language-plaintext highlighter-rouge">python -m server</code>. We recommend using the <code class="language-plaintext highlighter-rouge">--debug</code> flag to see more output, which you can include when reporting bugs.</p>
|
||
|
||
<p>If you have any questions about developing or contributing, come hang out with us by joining the <a href="https://join-cellxgene-users.herokuapp.com/">CZI Science Slack</a> and posting in the <code class="language-plaintext highlighter-rouge">#cellxgene-dev</code> channel.</p>
|
||
|
||
<h2 id="contributing-code">Contributing code</h2>
|
||
|
||
<p>This project has made a few key design choices:</p>
|
||
|
||
<ul>
|
||
<li>The front-end is built with <a href="https://github.com/regl-project/regl"><code class="language-plaintext highlighter-rouge">regl</code></a> (a webgl library), <a href="https://reactjs.org/"><code class="language-plaintext highlighter-rouge">react</code></a>, <a href="https://redux.js.org/"><code class="language-plaintext highlighter-rouge">redux</code></a>, <a href="https://github.com/d3/d3"><code class="language-plaintext highlighter-rouge">d3</code></a>, and <a href="https://blueprintjs.com/docs/#core"><code class="language-plaintext highlighter-rouge">blueprint</code></a> to handle rendering large numbers of cells with lots of complex interactivity</li>
|
||
<li>The app is designed with a client-server model that can support a range of existing analysis packages for Python-based backend computational tasks (currently built for <a href="https://github.com/theislab/scanpy">scanpy</a>)</li>
|
||
<li>The client uses fast cross-filtering to handle selections and comparisons across subsets of data</li>
|
||
</ul>
|
||
|
||
<p>Depending on your background and interests, you might want to contribute to the frontend, or backend, or both!</p>
|
||
|
||
<p>Please submit any direct contributions via a Pull Request. It’d be great for PRs to include test cases and documentation updates where relevant, though we know the core test suite is itself still a work in progress.</p>
|
||
|
||
<h2 id="contributing-documentation">Contributing documentation</h2>
|
||
|
||
<p>The documentation is written in <a href="https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet">markdown</a>, and lives in the directory <code class="language-plaintext highlighter-rouge">cellxgene/docs/posts</code>. You can directly edit or add to these files and submit a Pull Request as described above.</p>
|
||
|
||
<p>To preview your changes on your local machine, you’ll need to install Jekyll and Ruby using <a href="https://jekyllrb.com/docs/installation/">these instructions</a> (you don’t have to know how to program in Ruby, just install it).</p>
|
||
|
||
<p>You can then preview your changes by running <code class="language-plaintext highlighter-rouge">cellxgene/docs$ bundle exec jekyll serve</code> and navigating to the url indicated in the terminal.</p>
|
||
|
||
</section>
|
||
<footer>
|
||
|
||
<p>This project is maintained by <a href="https://github.com/chanzuckerberg">chanzuckerberg</a></p>
|
||
|
||
</footer>
|
||
</div>
|
||
<script src="/cellxgene/assets/js/scale.fix.js"></script>
|
||
|
||
</body>
|
||
</html>
|