mirpy-lib 1.1.1__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 (179) hide show
  1. mirpy_lib-1.1.1/.gitignore +191 -0
  2. mirpy_lib-1.1.1/CMakeLists.txt +31 -0
  3. mirpy_lib-1.1.1/LICENSE +674 -0
  4. mirpy_lib-1.1.1/PKG-INFO +578 -0
  5. mirpy_lib-1.1.1/README.md +518 -0
  6. mirpy_lib-1.1.1/assets/mirpy_logo.png +0 -0
  7. mirpy_lib-1.1.1/assets/mirpy_logo_dark.png +0 -0
  8. mirpy_lib-1.1.1/benchmarks.md +781 -0
  9. mirpy_lib-1.1.1/docs/Makefile +16 -0
  10. mirpy_lib-1.1.1/docs/_static/.gitkeep +1 -0
  11. mirpy_lib-1.1.1/docs/_static/custom.css +116 -0
  12. mirpy_lib-1.1.1/docs/_static/mirpy_logo.png +0 -0
  13. mirpy_lib-1.1.1/docs/_static/mirpy_logo_dark.png +0 -0
  14. mirpy_lib-1.1.1/docs/_templates/.gitkeep +1 -0
  15. mirpy_lib-1.1.1/docs/conf.py +62 -0
  16. mirpy_lib-1.1.1/docs/examples.rst +15 -0
  17. mirpy_lib-1.1.1/docs/getting-started.rst +918 -0
  18. mirpy_lib-1.1.1/docs/index.rst +125 -0
  19. mirpy_lib-1.1.1/docs/mir.basic.rst +69 -0
  20. mirpy_lib-1.1.1/docs/mir.biomarkers.rst +193 -0
  21. mirpy_lib-1.1.1/docs/mir.common.rst +195 -0
  22. mirpy_lib-1.1.1/docs/mir.comparative.rst +30 -0
  23. mirpy_lib-1.1.1/docs/mir.distances.rst +30 -0
  24. mirpy_lib-1.1.1/docs/mir.embedding.rst +30 -0
  25. mirpy_lib-1.1.1/docs/mir.graph.rst +64 -0
  26. mirpy_lib-1.1.1/docs/mir.ml.rst +8 -0
  27. mirpy_lib-1.1.1/docs/mir.rst +26 -0
  28. mirpy_lib-1.1.1/docs/mir.utils.rst +61 -0
  29. mirpy_lib-1.1.1/docs/modules.rst +7 -0
  30. mirpy_lib-1.1.1/docs/notebooks/aging_analysis.ipynb +2166 -0
  31. mirpy_lib-1.1.1/docs/notebooks/aging_analysis_functional.ipynb +3345 -0
  32. mirpy_lib-1.1.1/docs/notebooks/alice_analysis.ipynb +1 -0
  33. mirpy_lib-1.1.1/docs/notebooks/diversity_analysis.ipynb +1495 -0
  34. mirpy_lib-1.1.1/docs/notebooks/edit_distance_graph.ipynb +1 -0
  35. mirpy_lib-1.1.1/docs/notebooks/gene_similarity.ipynb +1 -0
  36. mirpy_lib-1.1.1/docs/notebooks/gene_usage_correction.ipynb +1 -0
  37. mirpy_lib-1.1.1/docs/notebooks/gliph_analysis.ipynb +2705 -0
  38. mirpy_lib-1.1.1/docs/notebooks/index.rst +133 -0
  39. mirpy_lib-1.1.1/docs/notebooks/metaclonotype_examples.ipynb +1752 -0
  40. mirpy_lib-1.1.1/docs/notebooks/metaclonotype_method_compare.ipynb +3692 -0
  41. mirpy_lib-1.1.1/docs/notebooks/motif_logos.ipynb +1 -0
  42. mirpy_lib-1.1.1/docs/notebooks/parsing_example.ipynb +1 -0
  43. mirpy_lib-1.1.1/docs/notebooks/pgen_analysis.ipynb +1 -0
  44. mirpy_lib-1.1.1/docs/notebooks/sample_repertoire_overview.ipynb +1 -0
  45. mirpy_lib-1.1.1/docs/notebooks/single_cell_load.ipynb +1 -0
  46. mirpy_lib-1.1.1/docs/notebooks/single_cell_pairing_analysis.ipynb +1 -0
  47. mirpy_lib-1.1.1/docs/notebooks/tcrdist_analysis.ipynb +1268 -0
  48. mirpy_lib-1.1.1/docs/notebooks/tcremp_10xdcode_analysis.ipynb +1 -0
  49. mirpy_lib-1.1.1/docs/notebooks/tcremp_vdjdb_analysis.ipynb +1 -0
  50. mirpy_lib-1.1.1/docs/notebooks/tcremp_vdjdb_analysis_paired.ipynb +1 -0
  51. mirpy_lib-1.1.1/docs/notebooks/tcrnet_analysis.ipynb +1 -0
  52. mirpy_lib-1.1.1/docs/notebooks/token_graph.ipynb +1 -0
  53. mirpy_lib-1.1.1/docs/notebooks/vdjbet_yf.ipynb +4985 -0
  54. mirpy_lib-1.1.1/docs/notebooks/vdjdb_junction_graph.ipynb +1 -0
  55. mirpy_lib-1.1.1/docs/requirements.txt +5 -0
  56. mirpy_lib-1.1.1/mir/__init__.py +17 -0
  57. mirpy_lib-1.1.1/mir/basic/__init__.py +5 -0
  58. mirpy_lib-1.1.1/mir/basic/aliases.py +145 -0
  59. mirpy_lib-1.1.1/mir/basic/alphabets.py +226 -0
  60. mirpy_lib-1.1.1/mir/basic/gene_usage.py +1051 -0
  61. mirpy_lib-1.1.1/mir/basic/mirseq.cpp +392 -0
  62. mirpy_lib-1.1.1/mir/basic/mirseq_compat.py +35 -0
  63. mirpy_lib-1.1.1/mir/basic/pgen.py +1278 -0
  64. mirpy_lib-1.1.1/mir/basic/token_tables.py +434 -0
  65. mirpy_lib-1.1.1/mir/basic/token_tables_pl.py +277 -0
  66. mirpy_lib-1.1.1/mir/basic/tokens.py +126 -0
  67. mirpy_lib-1.1.1/mir/biomarkers/__init__.py +85 -0
  68. mirpy_lib-1.1.1/mir/biomarkers/_shared.py +82 -0
  69. mirpy_lib-1.1.1/mir/biomarkers/alice.py +869 -0
  70. mirpy_lib-1.1.1/mir/biomarkers/gliph.py +1090 -0
  71. mirpy_lib-1.1.1/mir/biomarkers/metaclonotype_cluster.py +461 -0
  72. mirpy_lib-1.1.1/mir/biomarkers/motif_logo.py +1467 -0
  73. mirpy_lib-1.1.1/mir/biomarkers/tcrnet.py +704 -0
  74. mirpy_lib-1.1.1/mir/biomarkers/token_stats.py +359 -0
  75. mirpy_lib-1.1.1/mir/biomarkers/vdjbet.py +6 -0
  76. mirpy_lib-1.1.1/mir/common/__init__.py +145 -0
  77. mirpy_lib-1.1.1/mir/common/alleles.py +66 -0
  78. mirpy_lib-1.1.1/mir/common/clonotype.py +263 -0
  79. mirpy_lib-1.1.1/mir/common/control.py +1202 -0
  80. mirpy_lib-1.1.1/mir/common/diversity.py +589 -0
  81. mirpy_lib-1.1.1/mir/common/filter.py +97 -0
  82. mirpy_lib-1.1.1/mir/common/gene_library.py +378 -0
  83. mirpy_lib-1.1.1/mir/common/io_parallel.py +369 -0
  84. mirpy_lib-1.1.1/mir/common/metaclonotype.py +656 -0
  85. mirpy_lib-1.1.1/mir/common/parser.py +1225 -0
  86. mirpy_lib-1.1.1/mir/common/pool.py +229 -0
  87. mirpy_lib-1.1.1/mir/common/repertoire.py +1401 -0
  88. mirpy_lib-1.1.1/mir/common/repertoire_dataset.py +671 -0
  89. mirpy_lib-1.1.1/mir/common/sampling.py +422 -0
  90. mirpy_lib-1.1.1/mir/common/single_cell.py +798 -0
  91. mirpy_lib-1.1.1/mir/common/single_cell_parser.py +287 -0
  92. mirpy_lib-1.1.1/mir/common/single_cell_repair.py +441 -0
  93. mirpy_lib-1.1.1/mir/common/single_cell_util.py +5 -0
  94. mirpy_lib-1.1.1/mir/comparative/__init__.py +46 -0
  95. mirpy_lib-1.1.1/mir/comparative/overlap.py +1524 -0
  96. mirpy_lib-1.1.1/mir/comparative/vdjbet.py +824 -0
  97. mirpy_lib-1.1.1/mir/comparative/vdjbet_workflow.py +447 -0
  98. mirpy_lib-1.1.1/mir/distances/__init__.py +5 -0
  99. mirpy_lib-1.1.1/mir/distances/aligner.py +797 -0
  100. mirpy_lib-1.1.1/mir/distances/seqdist.cpp +471 -0
  101. mirpy_lib-1.1.1/mir/distances/seqdist.py +31 -0
  102. mirpy_lib-1.1.1/mir/distances/tcrdist.py +685 -0
  103. mirpy_lib-1.1.1/mir/embedding/__init__.py +43 -0
  104. mirpy_lib-1.1.1/mir/embedding/bag_of_kmers.py +524 -0
  105. mirpy_lib-1.1.1/mir/embedding/prototypes.py +132 -0
  106. mirpy_lib-1.1.1/mir/embedding/tcremp.py +618 -0
  107. mirpy_lib-1.1.1/mir/graph/__init__.py +30 -0
  108. mirpy_lib-1.1.1/mir/graph/_trie_utils.py +201 -0
  109. mirpy_lib-1.1.1/mir/graph/distance_utils.py +111 -0
  110. mirpy_lib-1.1.1/mir/graph/edit_distance_graph.py +292 -0
  111. mirpy_lib-1.1.1/mir/graph/neighborhood_enrichment.py +926 -0
  112. mirpy_lib-1.1.1/mir/graph/single_cell_pairing.py +110 -0
  113. mirpy_lib-1.1.1/mir/graph/token_graph.py +398 -0
  114. mirpy_lib-1.1.1/mir/resources/__init__.py +1 -0
  115. mirpy_lib-1.1.1/mir/resources/gene_library/README.md +79 -0
  116. mirpy_lib-1.1.1/mir/resources/gene_library/__init__.py +1 -0
  117. mirpy_lib-1.1.1/mir/resources/gene_library/build_gene_library.py +550 -0
  118. mirpy_lib-1.1.1/mir/resources/gene_library/imgt_gene_library.txt +2775 -0
  119. mirpy_lib-1.1.1/mir/resources/gene_library/olga_gene_library.txt +880 -0
  120. mirpy_lib-1.1.1/mir/resources/olga/default_models/human_B_heavy/J_gene_CDR3_anchors.csv +17 -0
  121. mirpy_lib-1.1.1/mir/resources/olga/default_models/human_B_heavy/V_gene_CDR3_anchors.csv +319 -0
  122. mirpy_lib-1.1.1/mir/resources/olga/default_models/human_B_heavy/model_marginals.txt +4942 -0
  123. mirpy_lib-1.1.1/mir/resources/olga/default_models/human_B_heavy/model_params.txt +435 -0
  124. mirpy_lib-1.1.1/mir/resources/olga/default_models/human_B_kappa/J_gene_CDR3_anchors.csv +10 -0
  125. mirpy_lib-1.1.1/mir/resources/olga/default_models/human_B_kappa/V_gene_CDR3_anchors.csv +123 -0
  126. mirpy_lib-1.1.1/mir/resources/olga/default_models/human_B_kappa/model_marginals.txt +524 -0
  127. mirpy_lib-1.1.1/mir/resources/olga/default_models/human_B_kappa/model_params.txt +234 -0
  128. mirpy_lib-1.1.1/mir/resources/olga/default_models/human_B_lambda/J_gene_CDR3_anchors.csv +8 -0
  129. mirpy_lib-1.1.1/mir/resources/olga/default_models/human_B_lambda/V_gene_CDR3_anchors.csv +70 -0
  130. mirpy_lib-1.1.1/mir/resources/olga/default_models/human_B_lambda/model_marginals.txt +308 -0
  131. mirpy_lib-1.1.1/mir/resources/olga/default_models/human_B_lambda/model_params.txt +179 -0
  132. mirpy_lib-1.1.1/mir/resources/olga/default_models/human_T_alpha/J_gene_CDR3_anchors.csv +69 -0
  133. mirpy_lib-1.1.1/mir/resources/olga/default_models/human_T_alpha/V_gene_CDR3_anchors.csv +104 -0
  134. mirpy_lib-1.1.1/mir/resources/olga/default_models/human_T_alpha/model_marginals.txt +566 -0
  135. mirpy_lib-1.1.1/mir/resources/olga/default_models/human_T_alpha/model_params.txt +274 -0
  136. mirpy_lib-1.1.1/mir/resources/olga/default_models/human_T_beta/J_gene_CDR3_anchors.csv +16 -0
  137. mirpy_lib-1.1.1/mir/resources/olga/default_models/human_T_beta/V_gene_CDR3_anchors.csv +135 -0
  138. mirpy_lib-1.1.1/mir/resources/olga/default_models/human_T_beta/model_marginals.txt +404 -0
  139. mirpy_lib-1.1.1/mir/resources/olga/default_models/human_T_beta/model_params.txt +285 -0
  140. mirpy_lib-1.1.1/mir/resources/olga/default_models/human_T_delta/J_gene_CDR3_anchors.csv +5 -0
  141. mirpy_lib-1.1.1/mir/resources/olga/default_models/human_T_delta/V_gene_CDR3_anchors.csv +19 -0
  142. mirpy_lib-1.1.1/mir/resources/olga/default_models/human_T_delta/model_marginals.txt +388 -0
  143. mirpy_lib-1.1.1/mir/resources/olga/default_models/human_T_delta/model_params.txt +223 -0
  144. mirpy_lib-1.1.1/mir/resources/olga/default_models/human_T_gamma/J_gene_CDR3_anchors.csv +7 -0
  145. mirpy_lib-1.1.1/mir/resources/olga/default_models/human_T_gamma/V_gene_CDR3_anchors.csv +16 -0
  146. mirpy_lib-1.1.1/mir/resources/olga/default_models/human_T_gamma/model_marginals.txt +90 -0
  147. mirpy_lib-1.1.1/mir/resources/olga/default_models/human_T_gamma/model_params.txt +122 -0
  148. mirpy_lib-1.1.1/mir/resources/olga/default_models/mouse_T_alpha/J_gene_CDR3_anchors.csv +52 -0
  149. mirpy_lib-1.1.1/mir/resources/olga/default_models/mouse_T_alpha/V_gene_CDR3_anchors.csv +108 -0
  150. mirpy_lib-1.1.1/mir/resources/olga/default_models/mouse_T_alpha/model_marginals.txt +548 -0
  151. mirpy_lib-1.1.1/mir/resources/olga/default_models/mouse_T_alpha/model_params.txt +261 -0
  152. mirpy_lib-1.1.1/mir/resources/olga/default_models/mouse_T_beta/J_gene_CDR3_anchors.csv +15 -0
  153. mirpy_lib-1.1.1/mir/resources/olga/default_models/mouse_T_beta/V_gene_CDR3_anchors.csv +27 -0
  154. mirpy_lib-1.1.1/mir/resources/olga/default_models/mouse_T_beta/model_marginals.txt +248 -0
  155. mirpy_lib-1.1.1/mir/resources/olga/default_models/mouse_T_beta/model_params.txt +229 -0
  156. mirpy_lib-1.1.1/mir/resources/prototypes/.gitkeep +0 -0
  157. mirpy_lib-1.1.1/mir/resources/prototypes/generate_prototypes.py +259 -0
  158. mirpy_lib-1.1.1/mir/resources/prototypes/human_IGH.tsv +10001 -0
  159. mirpy_lib-1.1.1/mir/resources/prototypes/human_IGK.tsv +10001 -0
  160. mirpy_lib-1.1.1/mir/resources/prototypes/human_IGL.tsv +10001 -0
  161. mirpy_lib-1.1.1/mir/resources/prototypes/human_TRA.tsv +10001 -0
  162. mirpy_lib-1.1.1/mir/resources/prototypes/human_TRB.tsv +10001 -0
  163. mirpy_lib-1.1.1/mir/resources/prototypes/human_TRD.tsv +10001 -0
  164. mirpy_lib-1.1.1/mir/resources/prototypes/human_TRG.tsv +10001 -0
  165. mirpy_lib-1.1.1/mir/resources/prototypes/manifest.json +74 -0
  166. mirpy_lib-1.1.1/mir/resources/prototypes/mouse_TRA.tsv +10001 -0
  167. mirpy_lib-1.1.1/mir/resources/prototypes/mouse_TRB.tsv +10001 -0
  168. mirpy_lib-1.1.1/mir/utils/__init__.py +64 -0
  169. mirpy_lib-1.1.1/mir/utils/embedding_diagnostics.py +354 -0
  170. mirpy_lib-1.1.1/mir/utils/memory_debug.py +54 -0
  171. mirpy_lib-1.1.1/mir/utils/metaclonotype_clustering.py +315 -0
  172. mirpy_lib-1.1.1/mir/utils/notebook_assets.py +215 -0
  173. mirpy_lib-1.1.1/mir/utils/parser_cli.py +147 -0
  174. mirpy_lib-1.1.1/mir/utils/shared_memory.py +61 -0
  175. mirpy_lib-1.1.1/mir/utils/stats.py +52 -0
  176. mirpy_lib-1.1.1/pyproject.toml +111 -0
  177. mirpy_lib-1.1.1/requirements.txt +52 -0
  178. mirpy_lib-1.1.1/setup.sh +136 -0
  179. mirpy_lib-1.1.1/skills/mirpy/SKILL.md +1959 -0
@@ -0,0 +1,191 @@
1
+ .claude/
2
+ tmp/
3
+
4
+ ## Data
5
+ airr_benchmark/
6
+ tests/assets/
7
+ *.airr.tsv
8
+ notebooks/assets/
9
+
10
+ ## VSCode
11
+
12
+ .vscode/*
13
+ !.vscode/settings.json
14
+ !.vscode/tasks.json
15
+ !.vscode/launch.json
16
+ !.vscode/extensions.json
17
+ !.vscode/*.code-snippets
18
+ !.vscode/.env
19
+
20
+ # Local History for Visual Studio Code
21
+ .history/
22
+
23
+ # Built Visual Studio Code Extensions
24
+ *.vsix
25
+
26
+ ## Python
27
+
28
+ # Byte-compiled / optimized / DLL files
29
+ __pycache__/
30
+ *.py[cod]
31
+ *$py.class
32
+
33
+ # C extensions
34
+ *.so
35
+
36
+ # Distribution / packaging
37
+ .Python
38
+ build/
39
+ develop-eggs/
40
+ dist/
41
+ downloads/
42
+ eggs/
43
+ .eggs/
44
+ lib/
45
+ lib64/
46
+ parts/
47
+ sdist/
48
+ var/
49
+ wheels/
50
+ share/python-wheels/
51
+ *.egg-info/
52
+ .installed.cfg
53
+ *.egg
54
+ MANIFEST
55
+
56
+ # PyInstaller
57
+ # Usually these files are written by a python script from a template
58
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
59
+ *.manifest
60
+ *.spec
61
+
62
+ # Installer logs
63
+ pip-log.txt
64
+ pip-delete-this-directory.txt
65
+
66
+ # Unit test / coverage reports
67
+ htmlcov/
68
+ .tox/
69
+ .nox/
70
+ .coverage
71
+ .coverage.*
72
+ .cache
73
+ nosetests.xml
74
+ coverage.xml
75
+ *.cover
76
+ *.py,cover
77
+ .hypothesis/
78
+ .pytest_cache/
79
+ cover/
80
+
81
+ # Translations
82
+ *.mo
83
+ *.pot
84
+
85
+ # Django stuff:
86
+ *.log
87
+ local_settings.py
88
+ db.sqlite3
89
+ db.sqlite3-journal
90
+
91
+ # Flask stuff:
92
+ instance/
93
+ .webassets-cache
94
+
95
+ # Scrapy stuff:
96
+ .scrapy
97
+
98
+ # Sphinx documentation
99
+ docs/_build/
100
+
101
+ # PyBuilder
102
+ .pybuilder/
103
+ target/
104
+
105
+ # Jupyter Notebook
106
+ .ipynb_checkpoints
107
+
108
+ # IPython
109
+ profile_default/
110
+ ipython_config.py
111
+
112
+ # pyenv
113
+ # For a library or package, you might want to ignore these files since the code is
114
+ # intended to run in multiple environments; otherwise, check them in:
115
+ # .python-version
116
+
117
+ # pipenv
118
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
119
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
120
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
121
+ # install all needed dependencies.
122
+ #Pipfile.lock
123
+
124
+ # poetry
125
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
126
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
127
+ # commonly ignored for libraries.
128
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
129
+ #poetry.lock
130
+
131
+ # pdm
132
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
133
+ #pdm.lock
134
+ # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
135
+ # in version control.
136
+ # https://pdm.fming.dev/#use-with-ide
137
+ .pdm.toml
138
+
139
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
140
+ __pypackages__/
141
+
142
+ # Celery stuff
143
+ celerybeat-schedule
144
+ celerybeat.pid
145
+
146
+ # SageMath parsed files
147
+ *.sage.py
148
+
149
+ # Environments
150
+ .env
151
+ !.vscode/.env
152
+ .venv
153
+ env/
154
+ venv/
155
+ ENV/
156
+ env.bak/
157
+ venv.bak/
158
+
159
+ # Spyder project settings
160
+ .spyderproject
161
+ .spyproject
162
+
163
+ # Rope project settings
164
+ .ropeproject
165
+
166
+ # mkdocs documentation
167
+ /site
168
+
169
+ # mypy
170
+ .mypy_cache/
171
+ .dmypy.json
172
+ dmypy.json
173
+
174
+ # Pyre type checker
175
+ .pyre/
176
+
177
+ # pytype static type analyzer
178
+ .pytype/
179
+
180
+ # Cython debug symbols
181
+ cython_debug/
182
+
183
+ # PyCharm
184
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
185
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
186
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
187
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
188
+ #.idea/
189
+ mir/docs
190
+ .idea
191
+ public
@@ -0,0 +1,31 @@
1
+ cmake_minimum_required(VERSION 3.18)
2
+ project(mir_native LANGUAGES CXX)
3
+
4
+ find_package(Python3 REQUIRED COMPONENTS Interpreter Development.Module)
5
+ find_package(pybind11 CONFIG REQUIRED)
6
+
7
+ # --- seqdist_c (mir.distances) — distances + CDR3 scoring ---
8
+ pybind11_add_module(seqdist_c MODULE mir/distances/seqdist.cpp)
9
+ target_compile_features(seqdist_c PRIVATE cxx_std_17)
10
+ if (MSVC)
11
+ target_compile_options(seqdist_c PRIVATE /O2 /DNOMINMAX)
12
+ else()
13
+ target_compile_options(seqdist_c PRIVATE -O3)
14
+ endif()
15
+ set_target_properties(seqdist_c PROPERTIES
16
+ LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/mir/distances"
17
+ )
18
+ install(TARGETS seqdist_c LIBRARY DESTINATION mir/distances)
19
+
20
+ # --- mirseq (mir.basic) ---
21
+ pybind11_add_module(mirseq MODULE mir/basic/mirseq.cpp)
22
+ target_compile_features(mirseq PRIVATE cxx_std_17)
23
+ if (MSVC)
24
+ target_compile_options(mirseq PRIVATE /O2 /DNOMINMAX)
25
+ else()
26
+ target_compile_options(mirseq PRIVATE -O3)
27
+ endif()
28
+ set_target_properties(mirseq PROPERTIES
29
+ LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/mir/basic"
30
+ )
31
+ install(TARGETS mirseq LIBRARY DESTINATION mir/basic)