pyaragorn 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of pyaragorn might be problematic. Click here for more details.
- pyaragorn-0.1.0/.gitignore +173 -0
- pyaragorn-0.1.0/.readthedocs.yaml +28 -0
- pyaragorn-0.1.0/CHANGELOG.md +15 -0
- pyaragorn-0.1.0/CMakeLists.txt +21 -0
- pyaragorn-0.1.0/CONTRIBUTING.md +42 -0
- pyaragorn-0.1.0/COPYING +674 -0
- pyaragorn-0.1.0/PKG-INFO +885 -0
- pyaragorn-0.1.0/README.md +175 -0
- pyaragorn-0.1.0/docs/.gitignore +1 -0
- pyaragorn-0.1.0/docs/Makefile +20 -0
- pyaragorn-0.1.0/docs/_static/bibtex/citation.bib +36 -0
- pyaragorn-0.1.0/docs/_static/css/main.css +27 -0
- pyaragorn-0.1.0/docs/_static/js/custom-icon.js +44 -0
- pyaragorn-0.1.0/docs/_static/json/switcher.json +7 -0
- pyaragorn-0.1.0/docs/api/gene.rst +9 -0
- pyaragorn-0.1.0/docs/api/index.rst +46 -0
- pyaragorn-0.1.0/docs/api/rna_finder.rst +8 -0
- pyaragorn-0.1.0/docs/api/tmrna_gene.rst +9 -0
- pyaragorn-0.1.0/docs/api/trna_gene.rst +9 -0
- pyaragorn-0.1.0/docs/conf.py +219 -0
- pyaragorn-0.1.0/docs/guide/changes.md +1 -0
- pyaragorn-0.1.0/docs/guide/contributing.md +1 -0
- pyaragorn-0.1.0/docs/guide/copyright.rst +7 -0
- pyaragorn-0.1.0/docs/guide/index.rst +19 -0
- pyaragorn-0.1.0/docs/guide/install.rst +99 -0
- pyaragorn-0.1.0/docs/guide/parallel.rst +60 -0
- pyaragorn-0.1.0/docs/index.rst +164 -0
- pyaragorn-0.1.0/docs/make.bat +35 -0
- pyaragorn-0.1.0/docs/requirements.txt +15 -0
- pyaragorn-0.1.0/include/aragorn.pxd +291 -0
- pyaragorn-0.1.0/pyproject.toml +110 -0
- pyaragorn-0.1.0/src/CMakeLists.txt +2 -0
- pyaragorn-0.1.0/src/aragorn/CMakeLists.txt +29 -0
- pyaragorn-0.1.0/src/pyaragorn/CMakeLists.txt +1 -0
- pyaragorn-0.1.0/src/pyaragorn/__init__.py +36 -0
- pyaragorn-0.1.0/src/pyaragorn/lib.pyx +715 -0
- pyaragorn-0.1.0/src/pyaragorn/tests/__init__.py +10 -0
- pyaragorn-0.1.0/src/pyaragorn/tests/data/CP001621.default.txt +95 -0
- pyaragorn-0.1.0/src/pyaragorn/tests/data/CP001621.fna.gz +0 -0
- pyaragorn-0.1.0/src/pyaragorn/tests/data/__init__.py +30 -0
- pyaragorn-0.1.0/src/pyaragorn/tests/fasta.py +86 -0
- pyaragorn-0.1.0/src/pyaragorn/tests/requirements.txt +1 -0
- pyaragorn-0.1.0/src/pyaragorn/tests/test_doctest.py +93 -0
- pyaragorn-0.1.0/src/pyaragorn/tests/test_rna_finder.py +69 -0
- pyaragorn-0.1.0/src/scripts/cmake/CythonExtension.cmake +118 -0
- pyaragorn-0.1.0/src/scripts/cmake/pystate_patch.h +10 -0
- pyaragorn-0.1.0/src/scripts/libraryfier.py +244 -0
- pyaragorn-0.1.0/vendor/aragorn/aragorn1.2.41.c +12439 -0
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
|
|
2
|
+
# Added manually
|
|
3
|
+
|
|
4
|
+
### Cython ###
|
|
5
|
+
|
|
6
|
+
# Created by https://www.gitignore.io/api/python,c
|
|
7
|
+
# Edit at https://www.gitignore.io/?templates=python,c
|
|
8
|
+
|
|
9
|
+
### C ###
|
|
10
|
+
# Prerequisites
|
|
11
|
+
*.d
|
|
12
|
+
|
|
13
|
+
# Object files
|
|
14
|
+
*.o
|
|
15
|
+
*.ko
|
|
16
|
+
*.obj
|
|
17
|
+
*.elf
|
|
18
|
+
|
|
19
|
+
# Linker output
|
|
20
|
+
*.ilk
|
|
21
|
+
*.map
|
|
22
|
+
*.exp
|
|
23
|
+
|
|
24
|
+
# Precompiled Headers
|
|
25
|
+
*.gch
|
|
26
|
+
*.pch
|
|
27
|
+
|
|
28
|
+
# Libraries
|
|
29
|
+
*.lib
|
|
30
|
+
*.a
|
|
31
|
+
*.la
|
|
32
|
+
*.lo
|
|
33
|
+
|
|
34
|
+
# Shared objects (inc. Windows DLLs)
|
|
35
|
+
*.dll
|
|
36
|
+
*.so
|
|
37
|
+
*.so.*
|
|
38
|
+
*.dylib
|
|
39
|
+
|
|
40
|
+
# Executables
|
|
41
|
+
*.exe
|
|
42
|
+
*.out
|
|
43
|
+
*.app
|
|
44
|
+
*.i*86
|
|
45
|
+
*.x86_64
|
|
46
|
+
*.hex
|
|
47
|
+
|
|
48
|
+
# Debug files
|
|
49
|
+
*.dSYM/
|
|
50
|
+
*.su
|
|
51
|
+
*.idb
|
|
52
|
+
*.pdb
|
|
53
|
+
|
|
54
|
+
# Kernel Module Compile Results
|
|
55
|
+
*.mod*
|
|
56
|
+
*.cmd
|
|
57
|
+
.tmp_versions/
|
|
58
|
+
modules.order
|
|
59
|
+
Module.symvers
|
|
60
|
+
Mkfile.old
|
|
61
|
+
dkms.conf
|
|
62
|
+
|
|
63
|
+
# Valgrind files
|
|
64
|
+
callgrind.out.*
|
|
65
|
+
|
|
66
|
+
# Memprofile
|
|
67
|
+
mprofile_*.dat
|
|
68
|
+
|
|
69
|
+
### Python ###
|
|
70
|
+
# Byte-compiled / optimized / DLL files
|
|
71
|
+
__pycache__/
|
|
72
|
+
*.py[cod]
|
|
73
|
+
*$py.class
|
|
74
|
+
|
|
75
|
+
# C extensions
|
|
76
|
+
|
|
77
|
+
# Distribution / packaging
|
|
78
|
+
.Python
|
|
79
|
+
build/
|
|
80
|
+
develop-eggs/
|
|
81
|
+
dist/
|
|
82
|
+
downloads/
|
|
83
|
+
eggs/
|
|
84
|
+
.eggs/
|
|
85
|
+
lib/
|
|
86
|
+
lib64/
|
|
87
|
+
parts/
|
|
88
|
+
sdist/
|
|
89
|
+
var/
|
|
90
|
+
wheels/
|
|
91
|
+
pip-wheel-metadata/
|
|
92
|
+
share/python-wheels/
|
|
93
|
+
*.egg-info/
|
|
94
|
+
.installed.cfg
|
|
95
|
+
*.egg
|
|
96
|
+
MANIFEST
|
|
97
|
+
|
|
98
|
+
# PyInstaller
|
|
99
|
+
# Usually these files are written by a python script from a template
|
|
100
|
+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
|
101
|
+
*.manifest
|
|
102
|
+
*.spec
|
|
103
|
+
|
|
104
|
+
# Installer logs
|
|
105
|
+
pip-log.txt
|
|
106
|
+
pip-delete-this-directory.txt
|
|
107
|
+
|
|
108
|
+
# Unit test / coverage reports
|
|
109
|
+
htmlcov/
|
|
110
|
+
.tox/
|
|
111
|
+
.nox/
|
|
112
|
+
.coverage
|
|
113
|
+
.coverage.*
|
|
114
|
+
.cache
|
|
115
|
+
nosetests.xml
|
|
116
|
+
coverage.xml
|
|
117
|
+
*.cover
|
|
118
|
+
.hypothesis/
|
|
119
|
+
.pytest_cache/
|
|
120
|
+
|
|
121
|
+
# Translations
|
|
122
|
+
*.mo
|
|
123
|
+
*.pot
|
|
124
|
+
|
|
125
|
+
# Scrapy stuff:
|
|
126
|
+
.scrapy
|
|
127
|
+
|
|
128
|
+
# Sphinx documentation
|
|
129
|
+
docs/_build/
|
|
130
|
+
|
|
131
|
+
# PyBuilder
|
|
132
|
+
target/
|
|
133
|
+
|
|
134
|
+
# pyenv
|
|
135
|
+
.python-version
|
|
136
|
+
|
|
137
|
+
# pipenv
|
|
138
|
+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
|
139
|
+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
|
140
|
+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
|
|
141
|
+
# install all needed dependencies.
|
|
142
|
+
#Pipfile.lock
|
|
143
|
+
|
|
144
|
+
# celery beat schedule file
|
|
145
|
+
celerybeat-schedule
|
|
146
|
+
|
|
147
|
+
# SageMath parsed files
|
|
148
|
+
*.sage.py
|
|
149
|
+
|
|
150
|
+
# Spyder project settings
|
|
151
|
+
.spyderproject
|
|
152
|
+
.spyproject
|
|
153
|
+
|
|
154
|
+
# Rope project settings
|
|
155
|
+
.ropeproject
|
|
156
|
+
|
|
157
|
+
# Mr Developer
|
|
158
|
+
.mr.developer.cfg
|
|
159
|
+
.project
|
|
160
|
+
.pydevproject
|
|
161
|
+
|
|
162
|
+
# mkdocs documentation
|
|
163
|
+
/site
|
|
164
|
+
|
|
165
|
+
# mypy
|
|
166
|
+
.mypy_cache/
|
|
167
|
+
.dmypy.json
|
|
168
|
+
dmypy.json
|
|
169
|
+
|
|
170
|
+
# Pyre type checker
|
|
171
|
+
.pyre/
|
|
172
|
+
|
|
173
|
+
# End of https://www.gitignore.io/api/python,c
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Read the Docs configuration file for Sphinx projects
|
|
2
|
+
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
|
|
3
|
+
|
|
4
|
+
# Required
|
|
5
|
+
version: 2
|
|
6
|
+
|
|
7
|
+
# Set the OS, Python version and other tools you might need
|
|
8
|
+
build:
|
|
9
|
+
os: ubuntu-22.04
|
|
10
|
+
tools:
|
|
11
|
+
python: "3.13"
|
|
12
|
+
|
|
13
|
+
# VCS submodules configuration.
|
|
14
|
+
submodules:
|
|
15
|
+
include: all
|
|
16
|
+
|
|
17
|
+
# Build documentation in the "docs/" directory with Sphinx
|
|
18
|
+
sphinx:
|
|
19
|
+
configuration: docs/conf.py
|
|
20
|
+
|
|
21
|
+
# Optional but recommended, declare the Python requirements required
|
|
22
|
+
# to build your documentation
|
|
23
|
+
# See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
|
|
24
|
+
python:
|
|
25
|
+
install:
|
|
26
|
+
- requirements: docs/requirements.txt
|
|
27
|
+
- method: pip
|
|
28
|
+
path: .
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
All notable changes to this project will be documented in this file.
|
|
3
|
+
|
|
4
|
+
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
|
|
5
|
+
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
## [Unreleased]
|
|
9
|
+
[Unreleased]: https://github.com/althonos/pyaragorn/compare/v0.1.0...HEAD
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
## [v0.1.0] - 2025-05-27
|
|
13
|
+
[v0.1.0]: https://github.com/althonos/pyaragorn/compare/239956f...v0.1.0
|
|
14
|
+
|
|
15
|
+
Initial release.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
cmake_minimum_required(VERSION 3.20)
|
|
2
|
+
project(${SKBUILD_PROJECT_NAME} VERSION ${SKBUILD_PROJECT_VERSION} LANGUAGES C)
|
|
3
|
+
|
|
4
|
+
set(BUILD_SHARED_LIBS OFF)
|
|
5
|
+
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
|
6
|
+
|
|
7
|
+
set(ARAGORN_VERSION "1.2.41")
|
|
8
|
+
|
|
9
|
+
# --- Setup Cython -------------------------------------------------------------
|
|
10
|
+
|
|
11
|
+
set_property(GLOBAL PROPERTY PYTHON_EXTENSIONS_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src)
|
|
12
|
+
set(CYTHON_HEADERS_DIR ${CMAKE_CURRENT_LIST_DIR}/include)
|
|
13
|
+
include(src/scripts/cmake/CythonExtension.cmake)
|
|
14
|
+
|
|
15
|
+
# --- Set ----------------------------------------------------------------------
|
|
16
|
+
|
|
17
|
+
set(ARAGORN_C ${CMAKE_CURRENT_LIST_DIR}/vendor/aragorn/aragorn${ARAGORN_VERSION}.c)
|
|
18
|
+
|
|
19
|
+
# --- Compile code -------------------------------------------------------------
|
|
20
|
+
|
|
21
|
+
add_subdirectory(src)
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Contributing to PyARAGORN
|
|
2
|
+
|
|
3
|
+
For bug fixes or new features, please file an issue before submitting a
|
|
4
|
+
pull request. If the change isn't trivial, it may be best to wait for
|
|
5
|
+
feedback.
|
|
6
|
+
|
|
7
|
+
## Coding guidelines
|
|
8
|
+
|
|
9
|
+
### Versions
|
|
10
|
+
|
|
11
|
+
This project targets Python 3.7 or later.
|
|
12
|
+
|
|
13
|
+
Python objects should be typed; since it is not supported by Cython,
|
|
14
|
+
you must manually declare types in type stubs (`.pyi` files). In Python
|
|
15
|
+
files, you can add type annotations to function signatures (supported in
|
|
16
|
+
Python 3.5) and in variable assignments (supported only from Python
|
|
17
|
+
3.6 onward).
|
|
18
|
+
|
|
19
|
+
### Interfacing with C
|
|
20
|
+
|
|
21
|
+
When interfacing with C, and in particular with pointers, use assertions
|
|
22
|
+
everywhere you assume the pointer to be non-NULL. Also consider using
|
|
23
|
+
assertions when accessing raw C arrays, if applicable.
|
|
24
|
+
|
|
25
|
+
## Setting up a local repository
|
|
26
|
+
|
|
27
|
+
Just clone the project repository to get all the required files:
|
|
28
|
+
|
|
29
|
+
```console
|
|
30
|
+
$ git clone https://github.com/althonos/pyaragorn
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Running tests
|
|
34
|
+
|
|
35
|
+
Tests are written as usual Python unit tests with the `unittest` module of
|
|
36
|
+
the standard library. Running them requires the extension to be built
|
|
37
|
+
locally:
|
|
38
|
+
|
|
39
|
+
```console
|
|
40
|
+
$ python -m pip install -v -e . --no-build-isolation
|
|
41
|
+
$ python -m unittest -vv pyaragorn.tests
|
|
42
|
+
```
|