Skip to content

Commit

Permalink
Merge pull request #40 from segrelab/landing-page
Browse files Browse the repository at this point in the history
Add a descriptive landing page to the docs
  • Loading branch information
hgscott authored Aug 28, 2023
2 parents 5d38510 + 86e3f7b commit 440dc8f
Show file tree
Hide file tree
Showing 61 changed files with 6,571 additions and 1,043 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/publish_docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:

- name: Install Dependencies
run: |
pip install sphinx sphinx-autodoc-typehints pandas cobra
pip install sphinx sphinx-autodoc-typehints sphinx_rtd_theme pandas cobra
- name: Generate Documentation
run: |
Expand Down
2 changes: 1 addition & 1 deletion docs/build/.buildinfo
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: e02b0dfd2659bc3356d6c1e30e269d53
config: 683ed239e83aeb31a6d829fb79ba53e5
tags: 645f666f9bcd5a90fca523b33c5a78b7
Binary file added docs/build/.doctrees/cometspy.doctree
Binary file not shown.
Binary file modified docs/build/.doctrees/environment.pickle
Binary file not shown.
Binary file modified docs/build/.doctrees/index.doctree
Binary file not shown.
Binary file added docs/build/.doctrees/install.doctree
Binary file not shown.
Binary file added docs/build/.doctrees/modules.doctree
Binary file not shown.
Binary file added docs/build/_images/comets_results.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/build/_images/cometspy_workflow.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
53 changes: 53 additions & 0 deletions docs/build/_sources/cometspy.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
cometspy package
================

Submodules
----------

cometspy.comets module
----------------------

.. automodule:: cometspy.comets
:members:
:undoc-members:
:show-inheritance:

cometspy.layout module
----------------------

.. automodule:: cometspy.layout
:members:
:undoc-members:
:show-inheritance:

cometspy.model module
---------------------

.. automodule:: cometspy.model
:members:
:undoc-members:
:show-inheritance:

cometspy.params module
----------------------

.. automodule:: cometspy.params
:members:
:undoc-members:
:show-inheritance:

cometspy.utils module
---------------------

.. automodule:: cometspy.utils
:members:
:undoc-members:
:show-inheritance:

Module contents
---------------

.. automodule:: cometspy
:members:
:undoc-members:
:show-inheritance:
95 changes: 84 additions & 11 deletions docs/build/_sources/index.rst.txt
Original file line number Diff line number Diff line change
@@ -1,20 +1,93 @@
.. COMETSpy documentation master file, created by
sphinx-quickstart on Wed Aug 16 14:46:05 2023.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
.. COMETSpy documentation master file, written by Helen Scott, last
updated on 2023-08-21.
You can adapt this file completely to your liking, but it should at
least contain the root `toctree` directive.
Welcome to COMETSpy's documentation!
====================================
.. The toctree directive controls what links are in the "Navigation" bar
at the top of each page. The "maxdepth" argument determines how many
levels deep the links are shown. The "caption" argument determines the
title of the "Navigation" bar.
.. toctree::
:caption: Package Documentation
:maxdepth: 2
:caption: Contents:
:hidden:

install
cometspy


Indices and tables
==================
.. toctree::
:maxdepth: 2
:numbered:
:caption: Tutorials
:hidden:


Introduction
============

What is COMETSpy?
----------------------------
COMETS is a software platform for performing **computer simulations of
metabolism in spatially structured microbial communities**. It is based on
stoichiometric modeling of the genome-scale metabolic network of
individual microbial species (using dynamic flux balance analysis), and
on a discrete approximation of convection-diffusion equations.

.. Images from COMETS imulations here, i.e. colony morpologies
.. image:: images/comets_results.png
:width: 800
:alt: Results from COMETS simulations

COMETSpy is a Python package that provides a user-friendly interface to
COMETS. It allows users to easily set up and run simulations, and to
analyze the results. COMETSpy is designed to be used in conjunction with
COMETS. It is not a standalone package, and requires COMETS to be
installed on the user's computer.

.. Graphic showing the relationship between COMETS and COMETSpy
.. image:: images/cometspy_workflow.png
:width: 800
:alt: The COMETSpy/COMETS workflow

How to use this Documentation:
------------------------------

This documentation is meant to aide users in installing COMETSpy and
using COMETSpy to run simulations and analyze the results. If you need
help and do not easily find an answer in this documentation, ask your question
in a `new issue on GitHub <https://github.com/segrelab/cometspy/issues/new>`_.
**Any question that you have likely indicates a shortcoming in the documentation,
which we will want to fix!**

Find the module/class/function that you are interested in using in the
table of contents on the left or in the following indices, click on the link to
go to the appropriate documentation:

* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
* :ref:`genindex`

For a class, the documentation will include a brief description of the class,
the parameters that the class takes, and a list of all attributes, and examples
of how to use the class. The documentation will also include a list of all
the methods that are available for that class.

For a function, including the methods for a class, the documentation will
include a description of what the function does, a list of the parameters that
the function takes and the objects that the function returns, and examples of
how to use the function.

Cite Us:
--------

The newest version of COMETS, which was developed as a partnership between
researchers at `Boston University <https://www.bu.edu/segrelab/>`_,
`Yale University <https://eeb.yale.edu/people/alvaro-sanchez>`_ and the
`University of Minnesota <http://www.wrharcombe.org/>`_ is fully described
in the following paper:

`Dukovski, Bajić, Chacón, Quintin, et al.: A metabolic modeling platform for
the computation of microbial ecosystems in time and space (COMETS), Nature
Protocols (2021) https://doi.org/10.1038/s41596-021-00593-3.
<https://www.nature.com/articles/s41596-021-00593-3>`_
15 changes: 15 additions & 0 deletions docs/build/_sources/install.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
.. Installation documentation page, written by Helen Scott, last
updated on 2023-08-21.
You can adapt this file completely to your liking, but it should at
least contain the root `toctree` directive.
.. The toctree directive controls what links are in the "Navigation" bar
at the top of each page. The "maxdepth" argument determines how many
levels deep the links are shown. The "caption" argument determines the
title of the "Navigation" bar.
Installation
============

How to Install:
----------------------------
pip it
7 changes: 7 additions & 0 deletions docs/build/_sources/modules.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
cometspy
========

.. toctree::
:maxdepth: 4

cometspy
123 changes: 123 additions & 0 deletions docs/build/_static/_sphinx_javascript_frameworks_compat.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
/* Compatability shim for jQuery and underscores.js.
*
* Copyright Sphinx contributors
* Released under the two clause BSD licence
*/

/**
* small helper function to urldecode strings
*
* See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent#Decoding_query_parameters_from_a_URL
*/
jQuery.urldecode = function(x) {
if (!x) {
return x
}
return decodeURIComponent(x.replace(/\+/g, ' '));
};

/**
* small helper function to urlencode strings
*/
jQuery.urlencode = encodeURIComponent;

/**
* This function returns the parsed url parameters of the
* current request. Multiple values per key are supported,
* it will always return arrays of strings for the value parts.
*/
jQuery.getQueryParameters = function(s) {
if (typeof s === 'undefined')
s = document.location.search;
var parts = s.substr(s.indexOf('?') + 1).split('&');
var result = {};
for (var i = 0; i < parts.length; i++) {
var tmp = parts[i].split('=', 2);
var key = jQuery.urldecode(tmp[0]);
var value = jQuery.urldecode(tmp[1]);
if (key in result)
result[key].push(value);
else
result[key] = [value];
}
return result;
};

/**
* highlight a given string on a jquery object by wrapping it in
* span elements with the given class name.
*/
jQuery.fn.highlightText = function(text, className) {
function highlight(node, addItems) {
if (node.nodeType === 3) {
var val = node.nodeValue;
var pos = val.toLowerCase().indexOf(text);
if (pos >= 0 &&
!jQuery(node.parentNode).hasClass(className) &&
!jQuery(node.parentNode).hasClass("nohighlight")) {
var span;
var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg");
if (isInSVG) {
span = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
} else {
span = document.createElement("span");
span.className = className;
}
span.appendChild(document.createTextNode(val.substr(pos, text.length)));
node.parentNode.insertBefore(span, node.parentNode.insertBefore(
document.createTextNode(val.substr(pos + text.length)),
node.nextSibling));
node.nodeValue = val.substr(0, pos);
if (isInSVG) {
var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect");
var bbox = node.parentElement.getBBox();
rect.x.baseVal.value = bbox.x;
rect.y.baseVal.value = bbox.y;
rect.width.baseVal.value = bbox.width;
rect.height.baseVal.value = bbox.height;
rect.setAttribute('class', className);
addItems.push({
"parent": node.parentNode,
"target": rect});
}
}
}
else if (!jQuery(node).is("button, select, textarea")) {
jQuery.each(node.childNodes, function() {
highlight(this, addItems);
});
}
}
var addItems = [];
var result = this.each(function() {
highlight(this, addItems);
});
for (var i = 0; i < addItems.length; ++i) {
jQuery(addItems[i].parent).before(addItems[i].target);
}
return result;
};

/*
* backward compatibility for jQuery.browser
* This will be supported until firefox bug is fixed.
*/
if (!jQuery.browser) {
jQuery.uaMatch = function(ua) {
ua = ua.toLowerCase();

var match = /(chrome)[ \/]([\w.]+)/.exec(ua) ||
/(webkit)[ \/]([\w.]+)/.exec(ua) ||
/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) ||
/(msie) ([\w.]+)/.exec(ua) ||
ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) ||
[];

return {
browser: match[ 1 ] || "",
version: match[ 2 ] || "0"
};
};
jQuery.browser = {};
jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true;
}
Loading

0 comments on commit 440dc8f

Please sign in to comment.