Compare commits

...

11 Commits

Author SHA1 Message Date
5e59eb4302 Updated publication credentials
All checks were successful
bmlsa/pipeline/head This commit looks good
2024-11-14 20:19:48 +00:00
884787f31d Fixed package name
Some checks failed
bmlsa/pipeline/head There was a failure building this commit
2024-11-14 20:01:57 +00:00
9d98d5d8d1 Updated CI to new serverside config and added devcontainer config
Some checks failed
bmlsa/pipeline/head There was a failure building this commit
2024-11-14 19:57:55 +00:00
4d2c491733 Merge branch 'develop'
All checks were successful
ydeng/bmlsa/pipeline/head This commit looks good
2023-05-03 08:21:42 -05:00
842458f20c Updated 'Jenkinsfile' to no longer activate environment
All checks were successful
ydeng/bmlsa/pipeline/head This commit looks good
2023-05-03 08:17:34 -05:00
40c8afe68c Updated 'Jenkinsfile' to conform to new build container usage
Some checks failed
ydeng/bmlsa/pipeline/head There was a failure building this commit
2023-05-03 08:13:18 -05:00
a5b7d2773e Pipeline no longer fails build if testing step fails
All checks were successful
ydeng/bmlsa/pipeline/head This commit looks good
2023-04-28 21:47:18 +00:00
1ae59d0a8f Updated system path insertion in 'conf.py'
All checks were successful
ydeng/bmlsa/pipeline/head This commit looks good
2023-04-28 15:54:55 -05:00
d6edc0e317 Changing documentation generation structure
All checks were successful
ydeng/bmlsa/pipeline/head This commit looks good
2023-04-28 15:47:27 -05:00
a8b820523a Merge branch 'develop'
All checks were successful
ydeng/bmlsa/pipeline/head This commit looks good
2023-04-28 14:29:46 -05:00
cf104c859d Added some more help to 'README.md'
All checks were successful
ydeng/bmlsa/pipeline/head This commit looks good
2023-04-28 14:29:34 -05:00
10 changed files with 67 additions and 74 deletions

View File

@@ -0,0 +1,22 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/python
{
"name": "Python 3",
// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
"image": "mcr.microsoft.com/devcontainers/python:1-3.12-bullseye"
// Features to add to the dev container. More info: https://containers.dev/features.
// "features": {},
// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [],
// Use 'postCreateCommand' to run commands after the container is created.
// "postCreateCommand": "pip3 install --user -r requirements.txt",
// Configure tool-specific properties.
// "customizations": {},
// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
// "remoteUser": "root"
}

4
.gitignore vendored
View File

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

22
Jenkinsfile vendored
View File

@@ -1,15 +1,21 @@
pipeline {
agent any
agent {
kubernetes {
cloud 'rsys-devel'
defaultContainer 'pip'
inheritFrom 'pip'
}
}
stages {
stage("install") {
steps {
sh 'mamba env update --file environment.yml || mamba env create --force --file environment.yml'
sh 'echo "mamba activate bmlsa" >> ~/.bashrc'
sh 'pip install -r requirements.txt'
}
}
stage("unit tests") {
steps {
sh "python -m pytest --junitxml=test_results.xml"
sh returnStatus: true, script: "python -m pytest --junitxml=test_results.xml"
xunit checksName: '', tools: [JUnit(excludesPattern: '', pattern: 'test_results.xml', stopProcessingIfError: true)]
}
}
@@ -18,11 +24,13 @@ pipeline {
sh 'rm -rf ./dist/*'
sh 'rm -rf ./docs/build/*'
sh "python -m build"
sh 'sphinx-apidoc -o docs/source/ src/bmlsa --force'
sh 'make -C docs html'
container('sphinx') {
sh 'sphinx-apidoc -o docs/source/autodoc/bmlsa src/bmlsa --force'
sh 'sphinx-build -M html ./docs/source ./docs/build'
publishHTML([allowMissing: false, alwaysLinkToLastBuild: false, keepAll: false, reportDir: 'docs/build/html', reportFiles: 'index.html', reportName: 'Documentation', reportTitles: ''])
}
}
}
stage("test installation") {
steps {
sh "pip install dist/*.whl --force-reinstall"
@@ -40,7 +48,7 @@ pipeline {
branch '**/master'
}
steps {
withCredentials([usernamePassword(credentialsId: 'rs-git-package-registry-ydeng', passwordVariable: 'PASS', usernameVariable: 'USER')]) {
withCredentials([usernamePassword(credentialsId: '4d6f64be-d26d-4f95-8de3-b6a9b0beb311', passwordVariable: 'PASS', usernameVariable: 'USER')]) {
sh returnStatus: true, script: 'python -m twine upload --repository-url https://git.reslate.systems/api/packages/${USER}/pypi -u ${USER} -p ${PASS} --non-interactive --disable-progress-bar --verbose dist/*'
}
}

View File

@@ -2,7 +2,7 @@
# BMLSA
A Basic multi local sequence alignment tool using the Biopython implementation of the Smith-Waterman alignment algorithm.
A Basic multi local sequence alignment tool using the Biopython implementation of the Smith-Waterman alignment algorithm. May be used as a python library, or as a full command line interface.
## Features
@@ -13,6 +13,21 @@ A Basic multi local sequence alignment tool using the Biopython implementation o
- Automatically align with all sequences in reference FASTA
- All produced output is human readable!
## Install via `pip`
Just run `pip install --index-url https://git.reslate.systems/api/packages/ydeng/pypi/simple/ bmlsa` in a console that is capable of running `pip`!
## CLI Demo from Git Repo
Resources have been provided in this package for CI purposes, but you may use them to try out the program yourself!
1. Install the program
2. clone this repository
3. Change into the cloned repository directory
4. Run `bmlsa -I id -S sequence -B BLASTp tests/resources/SARS_CoV-2_genes.csv tests/resources/NC_045512_coding.fasta ./output/`
The results will show up in a `output` folder (which will be generated if it doesn't exist). Use `bmlsa -h` to see what each part of the above command does!
## More Information
For all live downloadable artifacts, build statuses, unit test results, and documentation, check out the continuous integration page for the [master branch](https://ci.reslate.systems/job/ydeng/job/bmlsa/job/master/) ([development branch](https://ci.reslate.systems/job/ydeng/job/bmlsa/job/develop/)).

View File

@@ -1,53 +0,0 @@
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:

View File

@@ -3,7 +3,7 @@ import sys
# Configure system path
sys.path.insert(0, os.path.abspath("../src/"))
sys.path.insert(0, os.path.abspath("../../src/"))
# Configuration file for the Sphinx documentation builder.
#

View File

@@ -7,10 +7,11 @@ Welcome to BMLSA's documentation!
=================================
.. toctree::
:glob:
:maxdepth: 2
:caption: Contents:
modules
autodoc/**/modules
Indices and tables

View File

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

View File

@@ -9,3 +9,4 @@ dependencies:
- python-build=0.10.0
- setuptools=67.6
- sphinx=6.2
prefix: ./env

6
requirements.txt Normal file
View File

@@ -0,0 +1,6 @@
biopython==1.81
pytest
hypothesis
twine
build
setuptools