Skip to content

Commit

Permalink
deploy: 8b1d810
Browse files Browse the repository at this point in the history
  • Loading branch information
AndreRico committed Dec 3, 2024
1 parent 6c06eea commit 95d9708
Show file tree
Hide file tree
Showing 22 changed files with 1,494 additions and 181 deletions.
2 changes: 1 addition & 1 deletion .buildinfo
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file records the configuration used when building these files. When it is not found, a full rebuild will be done.
config: df155090b35a77ab1121f730e76e5d0d
config: 82b6cc535abaa73c2054d07239db1835
tags: 645f666f9bcd5a90fca523b33c5a78b7
163 changes: 139 additions & 24 deletions _sources/index.rst.txt
Original file line number Diff line number Diff line change
@@ -1,33 +1,148 @@
.. Biofilter-dev documentation master file, created by
sphinx-quickstart on Tue Dec 3 10:39:44 2024.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
Biofilter Project Documentation
===============================

Biofilter Developer Documentation
=================================
Welcome to the **Biofilter** project documentation! This guide provides an overview of the project, its structure, and resources to help both power users and developers get started.

Add content using ``reStructuredText`` syntax. See the
`reStructuredText <https://www.sphinx-doc.org/en/master/usage/restructuredtext/index.html>`_
documentation for details.

Overview
--------

The **Biofilter** project is a Python-based tool designed for efficient data processing and analysis using SQLite as its core data storage. The project is organized into two main modules:

.. toctree::
:maxdepth: 2
:caption: Contents:
1. **Biofilter Module**: Responsible for managing and running the functionalities specific to the Biofilter system, such as filtering genes, groups, and annotations based on user-defined criteria.

2. **LOKI Module**: Manages functionalities related to the LOKI database, including data transformations and preparation for Biofilter analysis.

Both modules work with a SQLite database file, which must be provided as an input argument. This database stores all the necessary data for Biofilter and LOKI functionalities, ensuring a consistent and centralized data source.


Documentation for Users
-----------------------
For more detailed instructions and usage examples, refer to the user documentation:

- Biofilter User Guide
- LOKI User Guide


Key Features
------------

- **Python-Based**:

The entire project is developed in Python, leveraging modern tools and libraries to ensure maintainability, scalability, and ease of use.

- **Integrated SQLite Database**:

All data required by Biofilter and LOKI is stored in a single SQLite file. The path to this database must be provided as an argument when running either module.

- **Modular Design**:

- The Biofilter module focuses on filtering and querying functionalities.
- The LOKI module handles data preparation and transformations.

- **Development Tools**:

- **Poetry**: Used for dependency management and virtual environment creation.
- **Tox**: Ensures testing across multiple Python versions.
- **Black**: Enforces consistent code formatting.
- **Sphinx**: Generates project documentation.
- **Coverage**: Measures code coverage during testing.


Development Resources
---------------------

As a new contributor, here are some key points to help you navigate and contribute to the project:

- **Code Organization:**

- biofilter_modules: Contains core functionalities for Biofilter.
- loki_modules: Handles LOKI-specific operations.
- tests: Includes unit and functional tests for both modules.

- **Development Workflow:** Follow these guidelines to maintain consistency and quality in your contributions:

- Use Poetry as the central tool for managing dependencies and virtual environments.
- Run tests with Tox to ensure compatibility across supported Python versions.
- Follow code formatting standards enforced by Black.

- **Environment Setup:** Ensure your environment is consistent with the project’s requirements:

- Python >= 3.10
- Dependencies managed through poetry install

usage-of-tox
usage-of-sphinx
usage-of-poetry
usage-of-coverage
usage-of-black
usage-of-branching
usage-of-testing
- **Tips for New Developers:**

- Start by reviewing the README and this documentation to understand the project's goals and architecture.
- Use the provided tools (e.g., Black, Tox) to maintain consistency and quality in your contributions.
- Always run tests before submitting changes.

Indices and tables
==================

* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
Getting Started
---------------

Follow these steps to set up the **Biofilter** project for development or testing:

1. **Clone the Repository**:

.. code-block:: bash
git clone https://github.com/RitchieLab/biofilter.git
cd biofilter
2. **Switch to the development Branch.** Ensure you are working with the latest code:**

.. code-block:: bash
git checkout development
3. **Set Up Python Environment:**

If you are using pyenv, set the desired Python version for the project

.. code-block:: bash
pyenv install 3.11.9 # Example version
pyenv local 3.11.9
Ensure the Python version matches the project requirements (Python >= 3.10).

4. **Install Poetry.** Install Poetry, the dependency and environment manager:

.. code-block:: bash
curl -sSL https://install.python-poetry.org | python3 -
poetry --version # Verify the installation
5. **Install Project Dependencies.** Use Poetry to install all required dependencies:

.. code-block:: bash
poetry install
6. **Configure Python Versions in tox.** Update the tox.ini file to include the Python versions available in your environment. For example:

.. code-block:: ini
[tox]
envlist = py310, py311, py312
7. **Run Tests.** Verify your setup by running the test suite:

.. code-block:: bash
poetry run pytest
.. toctree::
:maxdepth: 2
:caption: Contents:

usage-of-branching
usage-of-poetry
usage-of-black
usage-of-coverage
usage-of-tox
usage-of-sphinx
usage-of-git

2 changes: 1 addition & 1 deletion _sources/usage-of-black.rst.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Black Code Formatter Guide
Black Guide
==========================

Black is a code formatter for Python that automatically reformats your code to be more readable and standardized. This guide provides essential information for using Black within this project.
Expand Down
4 changes: 2 additions & 2 deletions _sources/usage-of-coverage.rst.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Running Coverage in the Biofilter Project
=========================================
Coverage Guide
==============

To measure test coverage in the Biofilter project, we use `Coverage.py`. This guide outlines the steps to install and run `coverage` and generate reports.

Expand Down
3 changes: 3 additions & 0 deletions _sources/usage-of-git.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Using git and CI/CD by Actions
==============================

4 changes: 2 additions & 2 deletions _sources/usage-of-poetry.rst.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Using Poetry for Dependency Management and Project Setup
========================================================
Poetry Guider
=============

This document provides a guide to understanding Poetry, setting up the project locally, and creating installation packages for the Biofilter project.

Expand Down
4 changes: 2 additions & 2 deletions _sources/usage-of-sphinx.rst.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Setting Up and Running Sphinx for Biofilter Documentation
=========================================================
Sphinx Guider
=============

This document provides instructions for contributors on how to set up, customize, and run Sphinx to generate documentation for the **Biofilter** project.

Expand Down
3 changes: 0 additions & 3 deletions _sources/usage-of-testing.rst.txt

This file was deleted.

4 changes: 2 additions & 2 deletions _sources/usage-of-tox.rst.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Using Tox in the Biofilter Project
==================================
Tox Guider
==========

Tox is a tool used to automate testing across multiple Python versions and environments. It ensures consistency and compatibility in your project's workflows.

Expand Down
63 changes: 61 additions & 2 deletions genindex.html
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@

<div class="md-flex__cell md-flex__cell--shrink">
<div class="md-header-nav__source">
<a href="https://github.com/your-org/biofilter" title="Go to repository" class="md-source" data-md-source="github">
<a href="https://github.com/RitchieLab/biofilter" title="Go to repository" class="md-source" data-md-source="github">

<div class="md-source__icon">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24" width="28" height="28">
Expand Down Expand Up @@ -183,7 +183,7 @@
title="Biofilter Developer Documentation 2.4.4 documentation">Biofilter Developer Docs</a>
</label>
<div class="md-nav__source">
<a href="https://github.com/your-org/biofilter" title="Go to repository" class="md-source" data-md-source="github">
<a href="https://github.com/RitchieLab/biofilter" title="Go to repository" class="md-source" data-md-source="github">

<div class="md-source__icon">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24" width="28" height="28">
Expand All @@ -199,6 +199,65 @@




<ul class="md-nav__list">
<li class="md-nav__item">

<span class="md-nav__link caption"><span class="caption-text">Contents:</span></span>

</li>
<li class="md-nav__item">


<a href="usage-of-branching.html" class="md-nav__link">Branching Structure Guide</a>


</li>
<li class="md-nav__item">


<a href="usage-of-poetry.html" class="md-nav__link">Poetry Guider</a>


</li>
<li class="md-nav__item">


<a href="usage-of-black.html" class="md-nav__link">Black Guide</a>


</li>
<li class="md-nav__item">


<a href="usage-of-coverage.html" class="md-nav__link">Coverage Guide</a>


</li>
<li class="md-nav__item">


<a href="usage-of-tox.html" class="md-nav__link">Tox Guider</a>


</li>
<li class="md-nav__item">


<a href="usage-of-sphinx.html" class="md-nav__link">Sphinx Guider</a>


</li>
<li class="md-nav__item">


<a href="usage-of-git.html" class="md-nav__link">Using git and CI/CD by Actions</a>


</li>
</ul>


</nav>
</div>
</div>
Expand Down
Loading

0 comments on commit 95d9708

Please sign in to comment.