Added basic automatic documentation generation
Some checks reported errors
ydeng/bmlsa/pipeline/head Something is wrong with the build of this commit

This commit is contained in:
Harrison Deng 2023-04-28 13:28:12 -05:00
parent 7e3f43434e
commit 47cdd8bc28
10 changed files with 181 additions and 7 deletions

2
.gitignore vendored
View File

@ -213,3 +213,5 @@ pyrightconfig.json
# Custom rules (everything added below won't be overriden by 'Generate .gitignore File' if you use 'Update' option) # Custom rules (everything added below won't be overriden by 'Generate .gitignore File' if you use 'Update' option)
output output
!docs
docs/build

5
Jenkinsfile vendored
View File

@ -21,13 +21,16 @@ pipeline {
stage("build") { stage("build") {
steps { steps {
sh "python -m build" sh "python -m build"
sh 'sphinx-apidoc -o docs/source/ src/bmlsa'
sh 'make -C docs html'
publishHTML([allowMissing: false, alwaysLinkToLastBuild: false, keepAll: false, reportDir: 'docs/build/html', reportFiles: 'index.html', reportName: 'BMLSA Docs', reportTitles: ''])
} }
} }
stage("test installation") { stage("test installation") {
steps { steps {
sh "pip install dist/*.whl --force-reinstall" sh "pip install dist/*.whl --force-reinstall"
sh "bmlsa -h" sh "bmlsa -h"
sh "bmlsa -I id -S sequence -B BLASTp tests/resources/SARS_CoV-2_genes.csv tests/resources/NC_045512_coding.fasta /output/" sh "bmlsa -I id -S sequence -B BLASTp tests/resources/SARS_CoV-2_genes.csv tests/resources/NC_045512_coding.fasta ./output/"
} }
} }
stage("archive") { stage("archive") {

20
docs/Makefile Normal file
View File

@ -0,0 +1,20 @@
# Minimal makefile for Sphinx documentation
#
# You can set these variables from the command line, and also
# from the environment for the first two.
SPHINXOPTS ?=
SPHINXBUILD ?= sphinx-build
SOURCEDIR = source
BUILDDIR = build
# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
.PHONY: help Makefile
# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

35
docs/make.bat Normal file
View File

@ -0,0 +1,35 @@
@ECHO OFF
pushd %~dp0
REM Command file for Sphinx documentation
if "%SPHINXBUILD%" == "" (
set SPHINXBUILD=sphinx-build
)
set SOURCEDIR=source
set BUILDDIR=build
%SPHINXBUILD% >NUL 2>NUL
if errorlevel 9009 (
echo.
echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
echo.installed, then set the SPHINXBUILD environment variable to point
echo.to the full path of the 'sphinx-build' executable. Alternatively you
echo.may add the Sphinx directory to PATH.
echo.
echo.If you don't have Sphinx installed, grab it from
echo.https://www.sphinx-doc.org/
exit /b 1
)
if "%1" == "" goto help
%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
goto end
:help
%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
:end
popd

53
docs/source/bmlsa.rst Normal file
View File

@ -0,0 +1,53 @@
bmlsa package
=============
Submodules
----------
bmlsa.aligner module
--------------------
.. automodule:: bmlsa.aligner
:members:
:undoc-members:
:show-inheritance:
bmlsa.cli module
----------------
.. automodule:: bmlsa.cli
:members:
:undoc-members:
:show-inheritance:
bmlsa.datatypes module
----------------------
.. automodule:: bmlsa.datatypes
:members:
:undoc-members:
:show-inheritance:
bmlsa.exceptions module
-----------------------
.. automodule:: bmlsa.exceptions
:members:
:undoc-members:
:show-inheritance:
bmlsa.io module
---------------
.. automodule:: bmlsa.io
:members:
:undoc-members:
:show-inheritance:
Module contents
---------------
.. automodule:: bmlsa
:members:
:undoc-members:
:show-inheritance:

33
docs/source/conf.py Normal file
View File

@ -0,0 +1,33 @@
import os
import sys
# Configure system path
sys.path.insert(0, os.path.abspath("../src/"))
# Configuration file for the Sphinx documentation builder.
#
# For the full list of built-in configuration values, see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html
# -- Project information -----------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
project = "BMLSA"
copyright = "2023, Harrison"
author = "Harrison"
# -- General configuration ---------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
extensions = ["sphinx.ext.autodoc"]
templates_path = ["_templates"]
exclude_patterns = []
# -- Options for HTML output -------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output
html_theme = "alabaster"
html_static_path = ["_static"]

21
docs/source/index.rst Normal file
View File

@ -0,0 +1,21 @@
.. BMLSA documentation master file, created by
sphinx-quickstart on Fri Apr 28 13:04:16 2023.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
Welcome to BMLSA's documentation!
=================================
.. toctree::
:maxdepth: 2
:caption: Contents:
modules
Indices and tables
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`

7
docs/source/modules.rst Normal file
View File

@ -0,0 +1,7 @@
bmlsa
=====
.. toctree::
:maxdepth: 4
bmlsa

View File

@ -27,10 +27,10 @@ def align_many_to_one_ssw(
:param alignment_mode: The alignment mode to use. Either "local" or "global". :param alignment_mode: The alignment mode to use. Either "local" or "global".
:type alignment_mode: str :type alignment_mode: str
:param substitution_matrix: The name of the substitution matrix available :param substitution_matrix: The name of the substitution matrix available
in :module:`Bio.Align`, defaults to "BLOSUM62" in :mod:`Bio.Align`, defaults to "BLOSUM62"
:type substitution_matrix: str, optional :type substitution_matrix: str, optional
:yield: Pairs of :obj:`bmlsa.datatypes.QuerySequence` objects where the first is :yield: Pairs of :obj:`bmlsa.datatypes.QuerySequence` objects where the first is
the original, and the second is the aligned version the original, and the second is the aligned version
:rtype: a generator of :obj:`bmlsa.datatypes.QuerySequence` objects :rtype: a generator of :obj:`bmlsa.datatypes.QuerySequence` objects
""" """
# TODO Consider using the built in "scoring" parameter # TODO Consider using the built in "scoring" parameter

View File

@ -24,13 +24,13 @@ def queries_from_csv(
:param name_header: The column title for the name of the sequence, defaults to None :param name_header: The column title for the name of the sequence, defaults to None
:type name_header: str, optional :type name_header: str, optional
:param desc_header: The column title for the description of the sequence, :param desc_header: The column title for the description of the sequence,
defaults to None defaults to None
:type desc_header: str, optional :type desc_header: str, optional
:param start_header: The column title for the start position of the sequence, :param start_header: The column title for the start position of the sequence,
defaults to None defaults to None
:type start_header: str, optional :type start_header: str, optional
:param end_header: The column title for the end position of the sequence, :param end_header: The column title for the end position of the sequence,
defaults to None defaults to None
:type end_header: str, optional :type end_header: str, optional
:yield: One :obj:`bmlsa.datatypes.QuerySequence` for each row :yield: One :obj:`bmlsa.datatypes.QuerySequence` for each row
:rtype: A generator that yields objects of :class:`bmlsa.datatypes.QuerySequence` :rtype: A generator that yields objects of :class:`bmlsa.datatypes.QuerySequence`