cram-archiver 1.0.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.
Files changed (31) hide show
  1. cram_archiver-1.0.0/.github/PULL_REQUEST_TEMPLATE.md +3 -0
  2. cram_archiver-1.0.0/.github/release_checklist.md +16 -0
  3. cram_archiver-1.0.0/.github/workflows/ci.yml +59 -0
  4. cram_archiver-1.0.0/.gitignore +131 -0
  5. cram_archiver-1.0.0/.pre-commit-config.yaml +9 -0
  6. cram_archiver-1.0.0/CHANGELOG.rst +13 -0
  7. cram_archiver-1.0.0/LICENSE +661 -0
  8. cram_archiver-1.0.0/PKG-INFO +163 -0
  9. cram_archiver-1.0.0/README.rst +142 -0
  10. cram_archiver-1.0.0/conda-environment.yml +8 -0
  11. cram_archiver-1.0.0/pyproject.toml +41 -0
  12. cram_archiver-1.0.0/setup.cfg +4 -0
  13. cram_archiver-1.0.0/src/cram_archiver/__init__.py +283 -0
  14. cram_archiver-1.0.0/src/cram_archiver/__main__.py +21 -0
  15. cram_archiver-1.0.0/src/cram_archiver/_version.py +21 -0
  16. cram_archiver-1.0.0/src/cram_archiver/_version.pyi +17 -0
  17. cram_archiver-1.0.0/src/cram_archiver/references.py +129 -0
  18. cram_archiver-1.0.0/src/cram_archiver.egg-info/PKG-INFO +163 -0
  19. cram_archiver-1.0.0/src/cram_archiver.egg-info/SOURCES.txt +29 -0
  20. cram_archiver-1.0.0/src/cram_archiver.egg-info/dependency_links.txt +1 -0
  21. cram_archiver-1.0.0/src/cram_archiver.egg-info/entry_points.txt +2 -0
  22. cram_archiver-1.0.0/src/cram_archiver.egg-info/top_level.txt +1 -0
  23. cram_archiver-1.0.0/tests/data/GM24385_1.bam +0 -0
  24. cram_archiver-1.0.0/tests/data/NC012920.1.fasta +239 -0
  25. cram_archiver-1.0.0/tests/data/NC012920.1.fasta.fai +1 -0
  26. cram_archiver-1.0.0/tests/data/empty.bam +0 -0
  27. cram_archiver-1.0.0/tests/data/empty.cram +0 -0
  28. cram_archiver-1.0.0/tests/data/ucsc.hg19_nohap.fasta.fai +84 -0
  29. cram_archiver-1.0.0/tests/test_cram_archiver.py +355 -0
  30. cram_archiver-1.0.0/tests/test_references.py +129 -0
  31. cram_archiver-1.0.0/tox.ini +53 -0
@@ -0,0 +1,3 @@
1
+
2
+ ### Checklist
3
+ - [ ] Pull request details were added to CHANGELOG.rst
@@ -0,0 +1,16 @@
1
+ Release checklist
2
+ - [ ] Check outstanding issues on JIRA and GitHub.
3
+ - [ ] Check README looks fine.
4
+ - [ ] Create a release branch.
5
+ - [ ] Change current development version in `CHANGELOG.rst` to stable version.
6
+ - [ ] Merge the release branch into `main`.
7
+ - [ ] Created an annotated tag with the stable version number. Include changes
8
+ from CHANGELOG.rst.
9
+ - [ ] Create a pypi package from the master branch.
10
+ (Use `pip install build` and `python -m build .`)
11
+ - [ ] Install the build packages to see if they work.
12
+ - [ ] Push tag to remote.
13
+ - [ ] Push tested packages to pypi.
14
+ - [ ] merge `main` branch back into `develop`.
15
+ - [ ] Create a new release on GitHub.
16
+ - [ ] Update the package on bioconda.
@@ -0,0 +1,59 @@
1
+ name: Continous integration
2
+
3
+ on:
4
+ pull_request:
5
+ push:
6
+ branches:
7
+ - develop
8
+ - main
9
+ tags:
10
+ - "*"
11
+
12
+ jobs:
13
+
14
+ package-checks:
15
+ strategy:
16
+ matrix:
17
+ tox_env:
18
+ - lint
19
+ runs-on: ubuntu-latest
20
+ steps:
21
+ - uses: actions/checkout@v4
22
+ with:
23
+ submodules: recursive
24
+ - name: Set up Python 3.10
25
+ uses: actions/setup-python@v4
26
+ with:
27
+ python-version: "3.10"
28
+ - name: Install tox
29
+ run: pip install --upgrade tox
30
+ - name: Run tox -e ${{ matrix.tox_env }}
31
+ run: tox -e ${{ matrix.tox_env }}
32
+
33
+ test:
34
+ runs-on: ${{ matrix.os }}
35
+ strategy:
36
+ matrix:
37
+ python-version:
38
+ - "3.10"
39
+ - "3.11"
40
+ - "3.12"
41
+ - "3.13"
42
+ os: ["ubuntu-latest"]
43
+ steps:
44
+ - uses: actions/checkout@v4
45
+ - name: install miniconda
46
+ uses: conda-incubator/setup-miniconda@v3
47
+ with:
48
+ channels: conda-forge,bioconda,defaults
49
+ channel-priority: strict
50
+ auto-activate-base: false
51
+ - name: Set up environment with Python ${{ matrix.python-version }}
52
+ shell: bash -el {0}
53
+ run:
54
+ conda install 'python=${{ matrix.python-version }}' tox 'samtools>=1.22'
55
+ - name: Run tests
56
+ shell: bash -el {0}
57
+ run: tox
58
+ - name: Upload coverage report
59
+ uses: codecov/codecov-action@v1
@@ -0,0 +1,131 @@
1
+ src/cram_archiver/_version.py
2
+
3
+ # Byte-compiled / optimized / DLL files
4
+ __pycache__/
5
+ *.py[cod]
6
+ *$py.class
7
+
8
+ # C extensions
9
+ *.so
10
+
11
+ # Distribution / packaging
12
+ .Python
13
+ build/
14
+ develop-eggs/
15
+ dist/
16
+ downloads/
17
+ eggs/
18
+ .eggs/
19
+ lib/
20
+ lib64/
21
+ parts/
22
+ sdist/
23
+ var/
24
+ wheels/
25
+ pip-wheel-metadata/
26
+ share/python-wheels/
27
+ *.egg-info/
28
+ .installed.cfg
29
+ *.egg
30
+ MANIFEST
31
+
32
+ # PyInstaller
33
+ # Usually these files are written by a python script from a template
34
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
35
+ *.manifest
36
+ *.spec
37
+
38
+ # Installer logs
39
+ pip-log.txt
40
+ pip-delete-this-directory.txt
41
+
42
+ # Unit test / coverage reports
43
+ htmlcov/
44
+ .tox/
45
+ .nox/
46
+ .coverage
47
+ .coverage.*
48
+ .cache
49
+ nosetests.xml
50
+ coverage.xml
51
+ *.cover
52
+ *.py,cover
53
+ .hypothesis/
54
+ .pytest_cache/
55
+
56
+ # Translations
57
+ *.mo
58
+ *.pot
59
+
60
+ # Django stuff:
61
+ *.log
62
+ local_settings.py
63
+ db.sqlite3
64
+ db.sqlite3-journal
65
+
66
+ # Flask stuff:
67
+ instance/
68
+ .webassets-cache
69
+
70
+ # Scrapy stuff:
71
+ .scrapy
72
+
73
+ # Sphinx documentation
74
+ docs/_build/
75
+
76
+ # PyBuilder
77
+ target/
78
+
79
+ # Jupyter Notebook
80
+ .ipynb_checkpoints
81
+
82
+ # IPython
83
+ profile_default/
84
+ ipython_config.py
85
+
86
+ # pyenv
87
+ .python-version
88
+
89
+ # pipenv
90
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
91
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
92
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
93
+ # install all needed dependencies.
94
+ #Pipfile.lock
95
+
96
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow
97
+ __pypackages__/
98
+
99
+ # Celery stuff
100
+ celerybeat-schedule
101
+ celerybeat.pid
102
+
103
+ # SageMath parsed files
104
+ *.sage.py
105
+
106
+ # Environments
107
+ .env
108
+ .venv
109
+ env/
110
+ venv/
111
+ ENV/
112
+ env.bak/
113
+ venv.bak/
114
+
115
+ # Spyder project settings
116
+ .spyderproject
117
+ .spyproject
118
+
119
+ # Rope project settings
120
+ .ropeproject
121
+
122
+ # mkdocs documentation
123
+ /site
124
+
125
+ # mypy
126
+ .mypy_cache/
127
+ .dmypy.json
128
+ dmypy.json
129
+
130
+ # Pyre type checker
131
+ .pyre/
@@ -0,0 +1,9 @@
1
+ repos:
2
+ - repo: https://github.com/pycqa/flake8
3
+ rev: '7.1.0'
4
+ hooks:
5
+ - id: flake8
6
+ - repo: https://github.com/pre-commit/mirrors-mypy
7
+ rev: 'v1.10.1'
8
+ hooks:
9
+ - id: mypy
@@ -0,0 +1,13 @@
1
+ ==========
2
+ Changelog
3
+ ==========
4
+
5
+ .. Newest changes should be on top.
6
+
7
+ .. This document is user facing. Please word the changes in such a way
8
+ .. that users understand how the changes affect the new version.
9
+
10
+ 1.0.0
11
+ ------------------
12
+ + Create a samtools wrapper that can convert BAM files into CRAM and delete
13
+ them when the checksum tests pass.