Skip to content

Commit

Permalink
Release? (#306)
Browse files Browse the repository at this point in the history
* added new translation function

* new orfs method for Seq based on three_frame_orfs function

* new orfs_to_features method for Dseqrecord

* new extract_from_text functions that also returns the intervening text between sequences

* bugfix orfs for Seq and Dsecrecord

* added crispr tests

* added pairwise for older Python versions

* older type hint

* Deploying to gh-pages from @ da3e7e9 🚀

* Deploying to gh-pages from @ 5be4f9d 🚀

* Deploying to gh-pages from @ b37a17c 🚀

* Deploying to gh-pages from @ 11aae3c 🚀

* Deploying to gh-pages from @ 0f95223 🚀

* try to build docs locally on gh-pages

* try to build gh pages

* try to build gh pages

* fix

* added sphinx ext

* Deploying to gh-pages from @ bc08a36 🚀

* try fix docs

* build docs

* clean

* redirect docs badge to action

* redirect docs badge to action

* fix readme links

* fix readme

* fix

* try to fix test error

* fix bug that recognized parts of re enzyme names as other enzymes

* added comment with number of enzymes

* changed number of expected enzymes to the correct number 621

* more informative error msg

* closes #216 (2)

* closes #196

* vscode and poetry settings added

* fix test

* add locations_overlap to utils

* Issue 238 (#239)

* closes #238

* fix notebook

* closes #240

* atomically write default config

* optimisation for #237

* fix python 3.8 typing

* include neb calculator and its tests

* fix design and add tests

* example commit for #176

* Documentation notebooks 2 (#272)

* Documentation notebooks (#271)

* added documentation for dseq.py

* fixed docs for Dseq.py

* fixed docs for Dseq.py

* add hook

* fix exclusions and run hook

* strip outputs of Dseq.ipynb

* update Dseq notebook

* placed notebooks in docs

* added looped and shifted methods in Dseq docs

* added docs for importing files using pydna

* added some Dseqrecord docs

* added docs+examples for Dseq_Features

* added origin spanning feats and removing feats for Dseq_Features

* some comments and todos

* added restriction page

* updated Importing_Seq page

* updated Dseq_Feature Page w/examples

* added restrict+ligate notebook

* added some PCR notes

* added examples, prints

* added tm and design

* fixed tm_default docs

* added gibson assembly

* some comments on current progress

* gibson

* fixed comments, added gibson example and CRISPR

* added Restriction example

* added Gibson example

* closes #256

* run pre-commit

* alternative example for gibson

* gibson updated example

* modified crispr

* modified crispr

* feedback changes for #260

* best practices for qualifiers

---------

Co-authored-by: Pei-Lun Xie <peilunx.jeff@gmail.com>
Co-authored-by: Pei-Lun Xie <31442380+JeffXiePL@users.noreply.github.com>

* remove unnecessary file

* remove dir exclusions

* exclude test notebooks

---------

Co-authored-by: Pei-Lun Xie <peilunx.jeff@gmail.com>
Co-authored-by: Pei-Lun Xie <31442380+JeffXiePL@users.noreply.github.com>

* update contribution guidelines (#274)

* update CI action to enforce hooks (#277)

* update CI action to enforce hooks

* update action

* update: Added google badge to all notebooks issue #266  (#275)

* fourth trt

* final file added

* update: added installation of pydna

* added seguid stamp to Genbank sequence files

* fix test sequence file

* dependabot monthly

* New CRISPR example notebook (#260) (#284)

* fourth trt

* final file added

* update: added installation of pydna

* update: added CRIPSR examples in notebooks issue #259

* update: added google badge issue #266

* Polished Example CRISPR notebook

---------

Co-authored-by: Manuel Lera-Ramirez <manulera14@gmail.com>

* Updated notebooks (#295)

* updated example_restriction (#285)

Co-authored-by: Pei-Lun Xie <peilunx.jeff@gmail.com>

* small fixes (#294)

* allow run all on notebooks that have pip install for google colab

---------

Co-authored-by: Pei-Lun Xie <peilunx.jeff@gmail.com>

* progress towards #261

* WIP

* remove code image from README for #261

* more README updates + make requirements.txt

* add requirements file

* fix configuration

* typing for PrettyTable

* typing for codon dicts

* typing for Seq

* typing for FakeSeq

* typing for Genbank

* typing for sequence_picker module

* typing for common_sub_strings module

* typing for Assembly.__init__ and Assembly.__repr__

* Bump pillow from 10.3.0 to 10.4.0

Bumps [pillow](https://github.com/python-pillow/Pillow) from 10.3.0 to 10.4.0.
- [Release notes](https://github.com/python-pillow/Pillow/releases)
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst)
- [Commits](python-pillow/Pillow@10.3.0...10.4.0)

---
updated-dependencies:
- dependency-name: pillow
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump autopep8 from 2.1.0 to 2.3.1

Bumps [autopep8](https://github.com/hhatto/autopep8) from 2.1.0 to 2.3.1.
- [Release notes](https://github.com/hhatto/autopep8/releases)
- [Commits](hhatto/autopep8@v2.1.0...v2.3.1)

---
updated-dependencies:
- dependency-name: autopep8
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump black from 24.4.2 to 24.8.0

Bumps [black](https://github.com/psf/black) from 24.4.2 to 24.8.0.
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](psf/black@24.4.2...24.8.0)

---
updated-dependencies:
- dependency-name: black
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump sphinx-rtd-theme from 2.0.0 to 3.0.0

Bumps [sphinx-rtd-theme](https://github.com/readthedocs/sphinx_rtd_theme) from 2.0.0 to 3.0.0.
- [Changelog](https://github.com/readthedocs/sphinx_rtd_theme/blob/master/docs/changelog.rst)
- [Commits](readthedocs/sphinx_rtd_theme@2.0.0...3.0.0)

---
updated-dependencies:
- dependency-name: sphinx-rtd-theme
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump prettytable from 3.10.0 to 3.11.0

Bumps [prettytable](https://github.com/jazzband/prettytable) from 3.10.0 to 3.11.0.
- [Release notes](https://github.com/jazzband/prettytable/releases)
- [Changelog](https://github.com/jazzband/prettytable/blob/main/CHANGELOG.md)
- [Commits](prettytable/prettytable@3.10.0...3.11.0)

---
updated-dependencies:
- dependency-name: prettytable
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* closes #261 (#297)

* tests for #281 #279, add type to pcr (#298)

* update codecov action for #242

* Issue 270 (#301)

* closes #270

* closes #269 by adding an example notebook + extra tests

* closes #288, includes the graphics in docs notebook

* added example.ipynb to tests folder

* removed example.ipynb

* deal with Tm = 0

* fix notebook export related to #279

* New docs (#304)

* new docs

* update action

* update action

* fix typo in action

* update README + closes #305

* improve docs

* document how docs work

* fix autogen_docs.sh

* fix crispr docstring

* Fix link in README (#310)

* Fix action (#311)

* fix action

* fix action

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: BjornFJohansson <bjornjobb@gmail.com>
Co-authored-by: BjornFJohansson <bjorn_johansson@bio.uminho.pt>
Co-authored-by: Pei-Lun Xie <peilunx.jeff@gmail.com>
Co-authored-by: Jerry Xu <jxu@hexagonbio.com>
Co-authored-by: Pei-Lun Xie <31442380+JeffXiePL@users.noreply.github.com>
Co-authored-by: Lucas Levassor <70581528+hiyama341@users.noreply.github.com>
Co-authored-by: Kawin <krayon.py@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Daniel García Ruano <daniel.garcia-ruano@u-bordeaux.fr>
  • Loading branch information
10 people authored Oct 24, 2024
1 parent 989e76e commit 0a9fe6e
Show file tree
Hide file tree
Showing 171 changed files with 89,046 additions and 11,105 deletions.
4 changes: 4 additions & 0 deletions .buildinfo
Original file line number Diff line number Diff line change
@@ -0,0 +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: e1ad02ce3592def18a437f1884177507
tags: 645f666f9bcd5a90fca523b33c5a78b7
6 changes: 0 additions & 6 deletions .git_archival.json

This file was deleted.

53 changes: 53 additions & 0 deletions .github/workflows/publish-docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
on: [push, pull_request]

name: "Documentation Status"

permissions:
contents: write

jobs:
build-and-publish:
if: "! contains(github.event.head_commit.message, '[ci skip]')"

timeout-minutes: 10

runs-on: ubuntu-latest

strategy:
fail-fast: false

steps:
- uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v4

- name: Session information
run: |
python --version
- name: Install Poetry
uses: snok/install-poetry@v1
with:
virtualenvs.prefer-active-python: true

- name: 🔩 list Poetry settings
run: poetry config --list

- name: 🔩 Install with Poetry
run: poetry install --all-extras --with docs

- name: Build documentation
run: |
cd docs
poetry run bash autogen_docs.sh
poetry run make html
- name: Deploy to GitHub pages 🚀
# Deploy only when master changes
if: github.ref == 'refs/heads/master' && github.event_name == 'push'
uses: JamesIves/github-pages-deploy-action@v4.6.0
with:
clean: false
branch: gh-pages
folder: docs/_build/html
63 changes: 45 additions & 18 deletions .github/workflows/pydna_test_and_coverage_workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,32 +2,32 @@ name: Tests & Coverage
on:
push:
branches:
- '**'
- '!master' # excludes master branch
- '!testpypi' # excludes testpypi branch
- "**"
- "!master" # excludes master branch
- "!testpypi" # excludes testpypi branch
tags-ignore:
- '*.*'
- "*.*"
pull_request: {}
jobs:
build:
name: Test (${{ matrix.python-version }}, ${{ matrix.os }})
strategy:
fail-fast: false
matrix:
os: [ 'macos-latest', 'windows-latest' ]
os: ["macos-latest", "windows-latest"]
python-version: ["3.12", "3.11", "3.10", "3.9", "3.8"]
include:
- os: ubuntu-latest
python-version: "3.8"
codecov: true
- os: ubuntu-latest
python-version: "3.9"
- os: ubuntu-latest
python-version: "3.10"
- os: ubuntu-latest
python-version: "3.11"
- os: ubuntu-latest
python-version: "3.12"
- os: ubuntu-latest
python-version: "3.8"
codecov: true
- os: ubuntu-latest
python-version: "3.9"
- os: ubuntu-latest
python-version: "3.10"
- os: ubuntu-latest
python-version: "3.11"
- os: ubuntu-latest
python-version: "3.12"
defaults:
run:
shell: bash
Expand All @@ -50,7 +50,7 @@ jobs:
- name: Install Poetry
uses: snok/install-poetry@v1
with:
virtualenvs.prefer-active-python: true
virtualenvs.prefer-active-python: true

- name: 🔩 list Poetry settings
run: poetry config --list
Expand All @@ -61,9 +61,36 @@ jobs:
- name: 🔎 poetry run python run_test.py
run: poetry run python run_test.py

# Enforce pre-commit hooks ===========================
- name: Get changed files
if: (matrix.codecov)
id: changed-files
uses: tj-actions/changed-files@v45
with:
since_last_remote_commit: true

- uses: actions/cache@v4
if: (matrix.codecov)
id: cache-precommit
with:
path: ~/.cache/pre-commit
key: ${{ runner.os }}-precommit-hooks-v2-${{ hashFiles('**/.pre-commit-config.yaml') }}

- name: Installing pre-commit hooks (cached)
if: (matrix.codecov) && (steps.cache-precommit.outputs.cache-hit != 'true')
run: poetry run pre-commit install --install-hooks

- name: Run style checking via pre-commit
if: (matrix.codecov && steps.changed-files.outputs.all_changed_files)
run: |
echo "Changed files:"
echo "${{ steps.changed-files.outputs.all_changed_files }}" | tr ' ' '\n'
poetry run pre-commit run --files ${{ steps.changed-files.outputs.all_changed_files }}
# ======================================================
- name: 🔼 Upload coverage to Codecov
if: (matrix.codecov)
uses: codecov/codecov-action@v1.0.13
uses: codecov/codecov-action@v4
with:
file: ./coverage.xml
token: ${{ secrets.CODECOV_TOKEN }}
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ var/
*.egg-info/
.installed.cfg
*.egg
.venv/

# PyInstaller
# Usually these files are written by a python script from a template
Expand Down Expand Up @@ -65,6 +66,8 @@ coverage.xml

# Sphinx documentation
docs/_build/
docs/markdown_notebooks
docs/modules/

# PyBuilder
target/
Expand Down
39 changes: 38 additions & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,57 @@ repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.5.0
hooks:
# Prevent committing to the master branch
- id: no-commit-to-branch
args: [--branch, master]
# Format yaml files
- id: check-yaml
# Fix end-of-file issues
- id: end-of-file-fixer
# Fix trailing whitespace
- id: trailing-whitespace
# Prevent debug statements
- id: debug-statements
- id: fix-encoding-pragma
- id: mixed-line-ending
# Code formatting
- repo: https://github.com/ambv/black
rev: 24.2.0
hooks:
- id: black
# Further linting (e.g. module imported but not used)
- repo: https://github.com/PyCQA/flake8
rev: 7.0.0
hooks:
- id: flake8
exclude: scripts/|docs/|tests/
# Verify that requirements.txt is up to date with poetry dependencies every commit
- repo: https://github.com/python-poetry/poetry
rev: 1.8.3
hooks:
- id: poetry-export
args: [
"-f",
"requirements.txt",
"--output",
"requirements.txt",
"--with",
"dev",
"--with",
"test",
"--with",
"docs",
"-E",
"clipboard download express gel",
]
files: 'requirements.txt'
# Remove metadata from jupyter notebooks. This will always be triggered when you commit a change in a notebook.
# Simply do `git add` and commit again.
- repo: local
hooks:
- id: nbstripout
name: nbstripout with keep-output
entry: |
python -m nbstripout --keep-output $@
language: system
files: \.ipynb$
exclude: tests/
13 changes: 0 additions & 13 deletions .readthedocs.yml

This file was deleted.

8 changes: 8 additions & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"recommendations": [
"ms-python.black-formatter",
"ms-python.flake8",
"ms-python.python",
"ms-python.vscode-pylance",
]
}
15 changes: 15 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"files.exclude": {
"**/.git": true,
"**/.svn": true,
"**/.hg": true,
"**/CVS": true,
"**/.DS_Store": true,
"**/*.pyc": true,
"**/__pycache__": true
},
// Set flake8 path
"flake8.path": [".venv/bin/flake8"],
"black-formatter.path": [".venv/bin/black"],
"python.defaultInterpreterPath": ".venv/bin/python",
}
Loading

0 comments on commit 0a9fe6e

Please sign in to comment.