Compare commits
11 Commits
ebb27556b5
...
develop
Author | SHA1 | Date | |
---|---|---|---|
5e59eb4302 | |||
884787f31d | |||
9d98d5d8d1 | |||
4d2c491733 | |||
842458f20c | |||
40c8afe68c | |||
a5b7d2773e | |||
1ae59d0a8f | |||
d6edc0e317 | |||
a8b820523a | |||
cf104c859d |
22
.devcontainer/devcontainer.json
Normal file
22
.devcontainer/devcontainer.json
Normal 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
4
.gitignore
vendored
@@ -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
22
Jenkinsfile
vendored
@@ -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/*'
|
||||
}
|
||||
}
|
||||
|
17
README.md
17
README.md
@@ -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/)).
|
@@ -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:
|
@@ -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.
|
||||
#
|
||||
|
@@ -7,10 +7,11 @@ Welcome to BMLSA's documentation!
|
||||
=================================
|
||||
|
||||
.. toctree::
|
||||
:glob:
|
||||
:maxdepth: 2
|
||||
:caption: Contents:
|
||||
|
||||
modules
|
||||
autodoc/**/modules
|
||||
|
||||
|
||||
Indices and tables
|
||||
|
@@ -1,7 +0,0 @@
|
||||
bmlsa
|
||||
=====
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 4
|
||||
|
||||
bmlsa
|
@@ -9,3 +9,4 @@ dependencies:
|
||||
- python-build=0.10.0
|
||||
- setuptools=67.6
|
||||
- sphinx=6.2
|
||||
prefix: ./env
|
6
requirements.txt
Normal file
6
requirements.txt
Normal file
@@ -0,0 +1,6 @@
|
||||
biopython==1.81
|
||||
pytest
|
||||
hypothesis
|
||||
twine
|
||||
build
|
||||
setuptools
|
Reference in New Issue
Block a user