sequenzo 0.1.24__cp311-cp311-macosx_10_9_x86_64.whl

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 sequenzo might be problematic. Click here for more details.

Files changed (264) hide show
  1. _sequenzo_fastcluster.cpython-311-darwin.so +0 -0
  2. sequenzo/__init__.py +240 -0
  3. sequenzo/big_data/__init__.py +12 -0
  4. sequenzo/big_data/clara/__init__.py +26 -0
  5. sequenzo/big_data/clara/clara.py +474 -0
  6. sequenzo/big_data/clara/utils/__init__.py +27 -0
  7. sequenzo/big_data/clara/utils/aggregatecases.py +92 -0
  8. sequenzo/big_data/clara/utils/davies_bouldin.py +91 -0
  9. sequenzo/big_data/clara/utils/get_weighted_diss.cpython-311-darwin.so +0 -0
  10. sequenzo/big_data/clara/utils/wfcmdd.py +205 -0
  11. sequenzo/big_data/clara/visualization.py +88 -0
  12. sequenzo/clustering/KMedoids.py +178 -0
  13. sequenzo/clustering/__init__.py +30 -0
  14. sequenzo/clustering/clustering_c_code.cpython-311-darwin.so +0 -0
  15. sequenzo/clustering/hierarchical_clustering.py +1256 -0
  16. sequenzo/clustering/sequenzo_fastcluster/fastcluster.py +495 -0
  17. sequenzo/clustering/sequenzo_fastcluster/src/fastcluster.cpp +1877 -0
  18. sequenzo/clustering/sequenzo_fastcluster/src/fastcluster_python.cpp +1264 -0
  19. sequenzo/clustering/src/KMedoid.cpp +263 -0
  20. sequenzo/clustering/src/PAM.cpp +237 -0
  21. sequenzo/clustering/src/PAMonce.cpp +265 -0
  22. sequenzo/clustering/src/cluster_quality.cpp +496 -0
  23. sequenzo/clustering/src/cluster_quality.h +128 -0
  24. sequenzo/clustering/src/cluster_quality_backup.cpp +570 -0
  25. sequenzo/clustering/src/module.cpp +228 -0
  26. sequenzo/clustering/src/weightedinertia.cpp +111 -0
  27. sequenzo/clustering/utils/__init__.py +27 -0
  28. sequenzo/clustering/utils/disscenter.py +122 -0
  29. sequenzo/data_preprocessing/__init__.py +20 -0
  30. sequenzo/data_preprocessing/helpers.py +256 -0
  31. sequenzo/datasets/__init__.py +41 -0
  32. sequenzo/datasets/biofam.csv +2001 -0
  33. sequenzo/datasets/biofam_child_domain.csv +2001 -0
  34. sequenzo/datasets/biofam_left_domain.csv +2001 -0
  35. sequenzo/datasets/biofam_married_domain.csv +2001 -0
  36. sequenzo/datasets/chinese_colonial_territories.csv +12 -0
  37. sequenzo/datasets/country_co2_emissions.csv +194 -0
  38. sequenzo/datasets/country_co2_emissions_global_deciles.csv +195 -0
  39. sequenzo/datasets/country_co2_emissions_global_quintiles.csv +195 -0
  40. sequenzo/datasets/country_co2_emissions_local_deciles.csv +195 -0
  41. sequenzo/datasets/country_co2_emissions_local_quintiles.csv +195 -0
  42. sequenzo/datasets/country_gdp_per_capita.csv +194 -0
  43. sequenzo/datasets/mvad.csv +713 -0
  44. sequenzo/datasets/pairfam_family.csv +1867 -0
  45. sequenzo/datasets/polyadic_samplec1.csv +61 -0
  46. sequenzo/datasets/polyadic_samplep1.csv +61 -0
  47. sequenzo/datasets/polyadic_seqc1.csv +61 -0
  48. sequenzo/datasets/polyadic_seqp1.csv +61 -0
  49. sequenzo/define_sequence_data.py +609 -0
  50. sequenzo/dissimilarity_measures/__init__.py +31 -0
  51. sequenzo/dissimilarity_measures/c_code.cpython-311-darwin.so +0 -0
  52. sequenzo/dissimilarity_measures/get_distance_matrix.py +702 -0
  53. sequenzo/dissimilarity_measures/get_substitution_cost_matrix.py +241 -0
  54. sequenzo/dissimilarity_measures/src/DHDdistance.cpp +148 -0
  55. sequenzo/dissimilarity_measures/src/LCPdistance.cpp +114 -0
  56. sequenzo/dissimilarity_measures/src/OMdistance.cpp +247 -0
  57. sequenzo/dissimilarity_measures/src/OMspellDistance.cpp +281 -0
  58. sequenzo/dissimilarity_measures/src/__init__.py +0 -0
  59. sequenzo/dissimilarity_measures/src/dist2matrix.cpp +63 -0
  60. sequenzo/dissimilarity_measures/src/dp_utils.h +160 -0
  61. sequenzo/dissimilarity_measures/src/module.cpp +34 -0
  62. sequenzo/dissimilarity_measures/src/setup.py +30 -0
  63. sequenzo/dissimilarity_measures/src/utils.h +25 -0
  64. sequenzo/dissimilarity_measures/src/xsimd/.github/cmake-test/main.cpp +6 -0
  65. sequenzo/dissimilarity_measures/src/xsimd/benchmark/main.cpp +159 -0
  66. sequenzo/dissimilarity_measures/src/xsimd/benchmark/xsimd_benchmark.hpp +565 -0
  67. sequenzo/dissimilarity_measures/src/xsimd/docs/source/conf.py +37 -0
  68. sequenzo/dissimilarity_measures/src/xsimd/examples/mandelbrot.cpp +330 -0
  69. sequenzo/dissimilarity_measures/src/xsimd/examples/pico_bench.hpp +246 -0
  70. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/common/xsimd_common_arithmetic.hpp +266 -0
  71. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/common/xsimd_common_complex.hpp +112 -0
  72. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/common/xsimd_common_details.hpp +323 -0
  73. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/common/xsimd_common_logical.hpp +218 -0
  74. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/common/xsimd_common_math.hpp +2583 -0
  75. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/common/xsimd_common_memory.hpp +880 -0
  76. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/common/xsimd_common_rounding.hpp +72 -0
  77. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/common/xsimd_common_swizzle.hpp +174 -0
  78. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/common/xsimd_common_trigo.hpp +978 -0
  79. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx.hpp +1924 -0
  80. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx2.hpp +1144 -0
  81. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx512bw.hpp +656 -0
  82. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx512cd.hpp +28 -0
  83. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx512dq.hpp +244 -0
  84. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx512er.hpp +20 -0
  85. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx512f.hpp +2650 -0
  86. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx512ifma.hpp +20 -0
  87. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx512pf.hpp +20 -0
  88. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx512vbmi.hpp +77 -0
  89. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx512vbmi2.hpp +131 -0
  90. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx512vnni_avx512bw.hpp +20 -0
  91. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx512vnni_avx512vbmi2.hpp +20 -0
  92. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avxvnni.hpp +20 -0
  93. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_common.hpp +24 -0
  94. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_common_fwd.hpp +77 -0
  95. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_constants.hpp +393 -0
  96. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_emulated.hpp +788 -0
  97. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_fma3_avx.hpp +93 -0
  98. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_fma3_avx2.hpp +46 -0
  99. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_fma3_sse.hpp +97 -0
  100. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_fma4.hpp +92 -0
  101. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_i8mm_neon64.hpp +17 -0
  102. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_isa.hpp +142 -0
  103. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_neon.hpp +3142 -0
  104. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_neon64.hpp +1543 -0
  105. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_rvv.hpp +1513 -0
  106. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_scalar.hpp +1260 -0
  107. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_sse2.hpp +2024 -0
  108. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_sse3.hpp +67 -0
  109. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_sse4_1.hpp +339 -0
  110. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_sse4_2.hpp +44 -0
  111. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_ssse3.hpp +186 -0
  112. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_sve.hpp +1155 -0
  113. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_vsx.hpp +892 -0
  114. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_wasm.hpp +1780 -0
  115. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/config/xsimd_arch.hpp +240 -0
  116. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/config/xsimd_config.hpp +484 -0
  117. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/config/xsimd_cpuid.hpp +269 -0
  118. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/config/xsimd_inline.hpp +27 -0
  119. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/math/xsimd_rem_pio2.hpp +719 -0
  120. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/memory/xsimd_aligned_allocator.hpp +349 -0
  121. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/memory/xsimd_alignment.hpp +91 -0
  122. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_all_registers.hpp +55 -0
  123. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_api.hpp +2765 -0
  124. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_avx2_register.hpp +44 -0
  125. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_avx512bw_register.hpp +51 -0
  126. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_avx512cd_register.hpp +51 -0
  127. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_avx512dq_register.hpp +51 -0
  128. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_avx512er_register.hpp +51 -0
  129. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_avx512f_register.hpp +77 -0
  130. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_avx512ifma_register.hpp +51 -0
  131. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_avx512pf_register.hpp +51 -0
  132. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_avx512vbmi2_register.hpp +51 -0
  133. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_avx512vbmi_register.hpp +51 -0
  134. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_avx512vnni_avx512bw_register.hpp +54 -0
  135. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_avx512vnni_avx512vbmi2_register.hpp +53 -0
  136. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_avx_register.hpp +64 -0
  137. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_avxvnni_register.hpp +44 -0
  138. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_batch.hpp +1524 -0
  139. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_batch_constant.hpp +300 -0
  140. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_common_arch.hpp +47 -0
  141. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_emulated_register.hpp +80 -0
  142. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_fma3_avx2_register.hpp +50 -0
  143. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_fma3_avx_register.hpp +50 -0
  144. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_fma3_sse_register.hpp +50 -0
  145. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_fma4_register.hpp +50 -0
  146. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_i8mm_neon64_register.hpp +55 -0
  147. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_neon64_register.hpp +55 -0
  148. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_neon_register.hpp +154 -0
  149. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_register.hpp +94 -0
  150. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_rvv_register.hpp +506 -0
  151. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_sse2_register.hpp +59 -0
  152. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_sse3_register.hpp +49 -0
  153. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_sse4_1_register.hpp +48 -0
  154. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_sse4_2_register.hpp +48 -0
  155. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_ssse3_register.hpp +48 -0
  156. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_sve_register.hpp +156 -0
  157. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_traits.hpp +337 -0
  158. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_utils.hpp +536 -0
  159. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_vsx_register.hpp +77 -0
  160. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_wasm_register.hpp +59 -0
  161. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/xsimd.hpp +75 -0
  162. sequenzo/dissimilarity_measures/src/xsimd/test/architectures/dummy.cpp +7 -0
  163. sequenzo/dissimilarity_measures/src/xsimd/test/doc/explicit_use_of_an_instruction_set.cpp +13 -0
  164. sequenzo/dissimilarity_measures/src/xsimd/test/doc/explicit_use_of_an_instruction_set_mean.cpp +24 -0
  165. sequenzo/dissimilarity_measures/src/xsimd/test/doc/explicit_use_of_an_instruction_set_mean_aligned.cpp +25 -0
  166. sequenzo/dissimilarity_measures/src/xsimd/test/doc/explicit_use_of_an_instruction_set_mean_arch_independent.cpp +28 -0
  167. sequenzo/dissimilarity_measures/src/xsimd/test/doc/explicit_use_of_an_instruction_set_mean_tag_dispatch.cpp +25 -0
  168. sequenzo/dissimilarity_measures/src/xsimd/test/doc/manipulating_abstract_batches.cpp +7 -0
  169. sequenzo/dissimilarity_measures/src/xsimd/test/doc/manipulating_parametric_batches.cpp +8 -0
  170. sequenzo/dissimilarity_measures/src/xsimd/test/doc/sum.hpp +31 -0
  171. sequenzo/dissimilarity_measures/src/xsimd/test/doc/sum_avx2.cpp +3 -0
  172. sequenzo/dissimilarity_measures/src/xsimd/test/doc/sum_sse2.cpp +3 -0
  173. sequenzo/dissimilarity_measures/src/xsimd/test/doc/writing_vectorized_code.cpp +11 -0
  174. sequenzo/dissimilarity_measures/src/xsimd/test/main.cpp +31 -0
  175. sequenzo/dissimilarity_measures/src/xsimd/test/test_api.cpp +230 -0
  176. sequenzo/dissimilarity_measures/src/xsimd/test/test_arch.cpp +217 -0
  177. sequenzo/dissimilarity_measures/src/xsimd/test/test_basic_math.cpp +183 -0
  178. sequenzo/dissimilarity_measures/src/xsimd/test/test_batch.cpp +1049 -0
  179. sequenzo/dissimilarity_measures/src/xsimd/test/test_batch_bool.cpp +508 -0
  180. sequenzo/dissimilarity_measures/src/xsimd/test/test_batch_cast.cpp +409 -0
  181. sequenzo/dissimilarity_measures/src/xsimd/test/test_batch_complex.cpp +712 -0
  182. sequenzo/dissimilarity_measures/src/xsimd/test/test_batch_constant.cpp +286 -0
  183. sequenzo/dissimilarity_measures/src/xsimd/test/test_batch_float.cpp +141 -0
  184. sequenzo/dissimilarity_measures/src/xsimd/test/test_batch_int.cpp +365 -0
  185. sequenzo/dissimilarity_measures/src/xsimd/test/test_batch_manip.cpp +308 -0
  186. sequenzo/dissimilarity_measures/src/xsimd/test/test_bitwise_cast.cpp +222 -0
  187. sequenzo/dissimilarity_measures/src/xsimd/test/test_complex_exponential.cpp +226 -0
  188. sequenzo/dissimilarity_measures/src/xsimd/test/test_complex_hyperbolic.cpp +183 -0
  189. sequenzo/dissimilarity_measures/src/xsimd/test/test_complex_power.cpp +265 -0
  190. sequenzo/dissimilarity_measures/src/xsimd/test/test_complex_trigonometric.cpp +236 -0
  191. sequenzo/dissimilarity_measures/src/xsimd/test/test_conversion.cpp +248 -0
  192. sequenzo/dissimilarity_measures/src/xsimd/test/test_custom_default_arch.cpp +28 -0
  193. sequenzo/dissimilarity_measures/src/xsimd/test/test_error_gamma.cpp +170 -0
  194. sequenzo/dissimilarity_measures/src/xsimd/test/test_explicit_batch_instantiation.cpp +32 -0
  195. sequenzo/dissimilarity_measures/src/xsimd/test/test_exponential.cpp +202 -0
  196. sequenzo/dissimilarity_measures/src/xsimd/test/test_extract_pair.cpp +92 -0
  197. sequenzo/dissimilarity_measures/src/xsimd/test/test_fp_manipulation.cpp +77 -0
  198. sequenzo/dissimilarity_measures/src/xsimd/test/test_gnu_source.cpp +30 -0
  199. sequenzo/dissimilarity_measures/src/xsimd/test/test_hyperbolic.cpp +167 -0
  200. sequenzo/dissimilarity_measures/src/xsimd/test/test_load_store.cpp +304 -0
  201. sequenzo/dissimilarity_measures/src/xsimd/test/test_memory.cpp +61 -0
  202. sequenzo/dissimilarity_measures/src/xsimd/test/test_poly_evaluation.cpp +64 -0
  203. sequenzo/dissimilarity_measures/src/xsimd/test/test_power.cpp +184 -0
  204. sequenzo/dissimilarity_measures/src/xsimd/test/test_rounding.cpp +199 -0
  205. sequenzo/dissimilarity_measures/src/xsimd/test/test_select.cpp +101 -0
  206. sequenzo/dissimilarity_measures/src/xsimd/test/test_shuffle.cpp +760 -0
  207. sequenzo/dissimilarity_measures/src/xsimd/test/test_sum.cpp +4 -0
  208. sequenzo/dissimilarity_measures/src/xsimd/test/test_sum.hpp +34 -0
  209. sequenzo/dissimilarity_measures/src/xsimd/test/test_traits.cpp +172 -0
  210. sequenzo/dissimilarity_measures/src/xsimd/test/test_trigonometric.cpp +208 -0
  211. sequenzo/dissimilarity_measures/src/xsimd/test/test_utils.hpp +611 -0
  212. sequenzo/dissimilarity_measures/src/xsimd/test/test_wasm/test_wasm_playwright.py +123 -0
  213. sequenzo/dissimilarity_measures/src/xsimd/test/test_xsimd_api.cpp +1460 -0
  214. sequenzo/dissimilarity_measures/utils/__init__.py +16 -0
  215. sequenzo/dissimilarity_measures/utils/get_LCP_length_for_2_seq.py +44 -0
  216. sequenzo/dissimilarity_measures/utils/get_sm_trate_substitution_cost_matrix.cpython-311-darwin.so +0 -0
  217. sequenzo/dissimilarity_measures/utils/seqconc.cpython-311-darwin.so +0 -0
  218. sequenzo/dissimilarity_measures/utils/seqdss.cpython-311-darwin.so +0 -0
  219. sequenzo/dissimilarity_measures/utils/seqdur.cpython-311-darwin.so +0 -0
  220. sequenzo/dissimilarity_measures/utils/seqlength.cpython-311-darwin.so +0 -0
  221. sequenzo/multidomain/__init__.py +23 -0
  222. sequenzo/multidomain/association_between_domains.py +311 -0
  223. sequenzo/multidomain/cat.py +431 -0
  224. sequenzo/multidomain/combt.py +519 -0
  225. sequenzo/multidomain/dat.py +89 -0
  226. sequenzo/multidomain/idcd.py +139 -0
  227. sequenzo/multidomain/linked_polyad.py +292 -0
  228. sequenzo/openmp_setup.py +233 -0
  229. sequenzo/prefix_tree/__init__.py +43 -0
  230. sequenzo/prefix_tree/individual_level_indicators.py +1274 -0
  231. sequenzo/prefix_tree/system_level_indicators.py +465 -0
  232. sequenzo/prefix_tree/utils.py +54 -0
  233. sequenzo/sequence_characteristics/__init__.py +40 -0
  234. sequenzo/sequence_characteristics/complexity_index.py +49 -0
  235. sequenzo/sequence_characteristics/overall_cross_sectional_entropy.py +220 -0
  236. sequenzo/sequence_characteristics/plot_characteristics.py +593 -0
  237. sequenzo/sequence_characteristics/simple_characteristics.py +311 -0
  238. sequenzo/sequence_characteristics/state_frequencies_and_entropy_per_sequence.py +39 -0
  239. sequenzo/sequence_characteristics/turbulence.py +155 -0
  240. sequenzo/sequence_characteristics/variance_of_spell_durations.py +86 -0
  241. sequenzo/sequence_characteristics/within_sequence_entropy.py +43 -0
  242. sequenzo/suffix_tree/__init__.py +48 -0
  243. sequenzo/suffix_tree/individual_level_indicators.py +1638 -0
  244. sequenzo/suffix_tree/system_level_indicators.py +456 -0
  245. sequenzo/suffix_tree/utils.py +56 -0
  246. sequenzo/visualization/__init__.py +29 -0
  247. sequenzo/visualization/plot_mean_time.py +194 -0
  248. sequenzo/visualization/plot_modal_state.py +276 -0
  249. sequenzo/visualization/plot_most_frequent_sequences.py +147 -0
  250. sequenzo/visualization/plot_relative_frequency.py +404 -0
  251. sequenzo/visualization/plot_sequence_index.py +951 -0
  252. sequenzo/visualization/plot_single_medoid.py +153 -0
  253. sequenzo/visualization/plot_state_distribution.py +627 -0
  254. sequenzo/visualization/plot_transition_matrix.py +190 -0
  255. sequenzo/visualization/utils/__init__.py +23 -0
  256. sequenzo/visualization/utils/utils.py +310 -0
  257. sequenzo/with_event_history_analysis/__init__.py +35 -0
  258. sequenzo/with_event_history_analysis/sequence_analysis_multi_state_model.py +850 -0
  259. sequenzo/with_event_history_analysis/sequence_history_analysis.py +283 -0
  260. sequenzo-0.1.24.dist-info/METADATA +255 -0
  261. sequenzo-0.1.24.dist-info/RECORD +264 -0
  262. sequenzo-0.1.24.dist-info/WHEEL +5 -0
  263. sequenzo-0.1.24.dist-info/licenses/LICENSE +28 -0
  264. sequenzo-0.1.24.dist-info/top_level.txt +2 -0
@@ -0,0 +1,330 @@
1
+ /***************************************************************************
2
+ * Copyright (c) Johan Mabille, Sylvain Corlay, Wolf Vollprecht and *
3
+ * Martin Renou *
4
+ * Copyright (c) QuantStack *
5
+ * Copyright (c) Serge Guelton *
6
+ * *
7
+ * Distributed under the terms of the BSD 3-Clause License. *
8
+ * *
9
+ * The full license is in the file LICENSE, distributed with this software. *
10
+ ****************************************************************************/
11
+
12
+ // This file is derived from tsimd (MIT License)
13
+ // https://github.com/ospray/tsimd/blob/master/benchmarks/mandelbrot.cpp
14
+ // Author Jefferson Amstutz / intel
15
+
16
+ #include <cstdio>
17
+ #include <iostream>
18
+ #include <string>
19
+ #include <vector>
20
+
21
+ #include "pico_bench.hpp"
22
+
23
+ #include <xsimd/xsimd.hpp>
24
+
25
+ // helper function to write the rendered image as PPM file
26
+ inline void writePPM(const std::string& fileName,
27
+ const int sizeX,
28
+ const int sizeY,
29
+ const int* pixel)
30
+ {
31
+ FILE* file = fopen(fileName.c_str(), "wb");
32
+ fprintf(file, "P6\n%i %i\n255\n", sizeX, sizeY);
33
+ unsigned char* out = (unsigned char*)alloca(3 * sizeX);
34
+ for (int y = 0; y < sizeY; y++)
35
+ {
36
+ const unsigned char* in = (const unsigned char*)&pixel[(sizeY - 1 - y) * sizeX];
37
+
38
+ for (int x = 0; x < sizeX; x++)
39
+ {
40
+ out[3 * x + 0] = in[4 * x + 0];
41
+ out[3 * x + 1] = in[4 * x + 1];
42
+ out[3 * x + 2] = in[4 * x + 2];
43
+ }
44
+
45
+ fwrite(out, 3 * sizeX, sizeof(char), file);
46
+ }
47
+ fprintf(file, "\n");
48
+ fclose(file);
49
+ }
50
+
51
+ namespace xsimd
52
+ {
53
+
54
+ template <class arch>
55
+ inline batch<int, arch> mandel(const batch_bool<float, arch>& _active,
56
+ const batch<float, arch>& c_re,
57
+ const batch<float, arch>& c_im,
58
+ int maxIters)
59
+ {
60
+ using float_batch_type = batch<float, arch>;
61
+ using int_batch_type = batch<int, arch>;
62
+
63
+ constexpr std::size_t N = float_batch_type::size;
64
+
65
+ float_batch_type z_re = c_re;
66
+ float_batch_type z_im = c_im;
67
+ int_batch_type vi(0);
68
+
69
+ for (int i = 0; i < maxIters; ++i)
70
+ {
71
+ auto active = _active & ((z_re * z_re + z_im * z_im) <= float_batch_type(4.f));
72
+ if (!xsimd::any(active))
73
+ {
74
+ break;
75
+ }
76
+
77
+ float_batch_type new_re = z_re * z_re - z_im * z_im;
78
+ float_batch_type new_im = 2.f * z_re * z_im;
79
+
80
+ z_re = c_re + new_re;
81
+ z_im = c_im + new_im;
82
+
83
+ vi = select(batch_bool_cast<int>(active), vi + 1, vi);
84
+ }
85
+
86
+ return vi;
87
+ }
88
+
89
+ template <class arch>
90
+ void mandelbrot(float x0,
91
+ float y0,
92
+ float x1,
93
+ float y1,
94
+ int width,
95
+ int height,
96
+ int maxIters,
97
+ int output[])
98
+ {
99
+ using float_batch_type = batch<float, arch>;
100
+ using int_batch_type = batch<int, arch>;
101
+
102
+ constexpr std::size_t N = float_batch_type::size;
103
+ float dx = (x1 - x0) / width;
104
+ float dy = (y1 - y0) / height;
105
+
106
+ float arange[N];
107
+ std::iota(&arange[0], &arange[N], 0.f);
108
+ // float_batch_type programIndex(&arange[0], xsimd::aligned_mode());
109
+
110
+ auto programIndex = float_batch_type::load(&arange[0], xsimd::aligned_mode());
111
+ // std::iota(programIndex.begin(), programIndex.end(), 0.f);
112
+
113
+ for (int j = 0; j < height; j++)
114
+ {
115
+ for (int i = 0; i < width; i += N)
116
+ {
117
+ float_batch_type x(x0 + (i + programIndex) * dx);
118
+ float_batch_type y(y0 + j * dy);
119
+
120
+ auto active = x < float_batch_type(width);
121
+
122
+ int base_index = (j * width + i);
123
+ auto result = mandel<arch>(active, x, y, maxIters);
124
+
125
+ // implement masked store!
126
+ // xsimd::store_aligned(result, output + base_index, active);
127
+ int_batch_type prev_data = int_batch_type::load_unaligned(output + base_index);
128
+ select(batch_bool_cast<int>(active), result, prev_data)
129
+ .store_aligned(output + base_index);
130
+ }
131
+ }
132
+ }
133
+
134
+ } // namespace xsimd
135
+
136
+ // omp version ////////////////////////////////////////////////////////////////
137
+
138
+ namespace omp
139
+ {
140
+
141
+ #pragma omp declare simd
142
+ template <typename T>
143
+ inline int mandel(T c_re, T c_im, int count)
144
+ {
145
+ T z_re = c_re, z_im = c_im;
146
+ int i;
147
+ for (i = 0; i < count; ++i)
148
+ {
149
+ if (z_re * z_re + z_im * z_im > 4.f)
150
+ {
151
+ break;
152
+ }
153
+
154
+ T new_re = z_re * z_re - z_im * z_im;
155
+ T new_im = 2.f * z_re * z_im;
156
+ z_re = c_re + new_re;
157
+ z_im = c_im + new_im;
158
+ }
159
+
160
+ return i;
161
+ }
162
+
163
+ void mandelbrot(float x0, float y0, float x1, float y1, int width,
164
+ int height, int maxIterations, int output[])
165
+ {
166
+ float dx = (x1 - x0) / width;
167
+ float dy = (y1 - y0) / height;
168
+
169
+ for (int j = 0; j < height; j++)
170
+ {
171
+
172
+ #pragma omp simd
173
+ for (int i = 0; i < width; ++i)
174
+ {
175
+ float x = x0 + i * dx;
176
+ float y = y0 + j * dy;
177
+
178
+ int index = (j * width + i);
179
+ output[index] = mandel<float>(x, y, maxIterations);
180
+ }
181
+ }
182
+ }
183
+
184
+ } // namespace omp
185
+
186
+ // scalar version /////////////////////////////////////////////////////////////
187
+
188
+ namespace scalar
189
+ {
190
+
191
+ inline int mandel(float c_re, float c_im, int count)
192
+ {
193
+ float z_re = c_re, z_im = c_im;
194
+ int i;
195
+ for (i = 0; i < count; ++i)
196
+ {
197
+ if (z_re * z_re + z_im * z_im > 4.f)
198
+ {
199
+ break;
200
+ }
201
+
202
+ float new_re = z_re * z_re - z_im * z_im;
203
+ float new_im = 2.f * z_re * z_im;
204
+ z_re = c_re + new_re;
205
+ z_im = c_im + new_im;
206
+ }
207
+
208
+ return i;
209
+ }
210
+
211
+ void mandelbrot(float x0, float y0, float x1, float y1,
212
+ int width, int height, int maxIterations, int output[])
213
+ {
214
+ float dx = (x1 - x0) / width;
215
+ float dy = (y1 - y0) / height;
216
+
217
+ for (int j = 0; j < height; j++)
218
+ {
219
+ for (int i = 0; i < width; ++i)
220
+ {
221
+ float x = x0 + i * dx;
222
+ float y = y0 + j * dy;
223
+
224
+ int index = (j * width + i);
225
+ output[index] = mandel(x, y, maxIterations);
226
+ }
227
+ }
228
+ }
229
+
230
+ } // namespace scalar
231
+
232
+ // run simd version of mandelbrot benchmark for a specific arch
233
+ template <class arch, class bencher_t, size_t Align>
234
+ void run_arch(
235
+ bencher_t& bencher,
236
+ float x0,
237
+ float y0,
238
+ float x1,
239
+ float y1,
240
+ int width,
241
+ int height,
242
+ int maxIters,
243
+ std::vector<int, xsimd::aligned_allocator<int, Align>>& buffer)
244
+ {
245
+ std::fill(buffer.begin(), buffer.end(), 0);
246
+ auto stats = bencher([&]()
247
+ { xsimd::mandelbrot<arch>(x0, y0, x1, y1, width, height, maxIters, buffer.data()); });
248
+
249
+ const float scalar_min = stats.min().count();
250
+
251
+ std::cout << '\n'
252
+ << arch::name() << " " << stats << '\n';
253
+ auto filename = std::string("mandelbrot_") + std::string(arch::name()) + std::string(".ppm");
254
+ writePPM(filename.c_str(), width, height, buffer.data());
255
+ }
256
+
257
+ template <class T>
258
+ struct run_archlist;
259
+
260
+ // run simd version of mandelbrot benchmark for a list
261
+ // of archs
262
+ template <class... Arch>
263
+ struct run_archlist<xsimd::arch_list<Arch...>>
264
+ {
265
+ template <class bencher_t, size_t Align>
266
+ static void run(
267
+ bencher_t& bencher,
268
+ float x0,
269
+ float y0,
270
+ float x1,
271
+ float y1,
272
+ int width,
273
+ int height,
274
+ int maxIters,
275
+ std::vector<int, xsimd::aligned_allocator<int, Align>>& buffer)
276
+ {
277
+ (void)std::initializer_list<int> { (run_arch<Arch>(bencher, x0, y0, x1, x1, width, height, maxIters, buffer), 0)... };
278
+ }
279
+ };
280
+
281
+ int main()
282
+ {
283
+ using namespace std::chrono;
284
+
285
+ const unsigned int width = 1024;
286
+ const unsigned int height = 768;
287
+ const float x0 = -2;
288
+ const float x1 = 1;
289
+ const float y0 = -1;
290
+ const float y1 = 1;
291
+ const int maxIters = 256;
292
+
293
+ std::vector<int, xsimd::aligned_allocator<int>> buf(width * height);
294
+
295
+ auto bencher = pico_bench::Benchmarker<milliseconds> { 64, seconds { 10 } };
296
+
297
+ std::cout << "starting benchmarks (results in 'ms')... " << '\n';
298
+
299
+ // scalar run ///////////////////////////////////////////////////////////////
300
+
301
+ std::fill(buf.begin(), buf.end(), 0);
302
+
303
+ auto stats_scalar = bencher([&]()
304
+ { scalar::mandelbrot(x0, y0, x1, y1, width, height, maxIters, buf.data()); });
305
+
306
+ const float scalar_min = stats_scalar.min().count();
307
+
308
+ std::cout << '\n'
309
+ << "scalar " << stats_scalar << '\n';
310
+
311
+ writePPM("mandelbrot_scalar.ppm", width, height, buf.data());
312
+
313
+ // omp run //////////////////////////////////////////////////////////////////
314
+
315
+ std::fill(buf.begin(), buf.end(), 0);
316
+
317
+ auto stats_omp = bencher([&]()
318
+ { omp::mandelbrot(x0, y0, x1, y1, width, height, maxIters, buf.data()); });
319
+
320
+ const float omp_min = stats_omp.min().count();
321
+
322
+ std::cout << '\n'
323
+ << "omp " << stats_omp << '\n';
324
+
325
+ writePPM("mandelbrot_omp.ppm", width, height, buf.data());
326
+
327
+ run_archlist<xsimd::supported_architectures>::run(bencher, x0, y0, x1, y1, width, height, maxIters, buf);
328
+
329
+ return 0;
330
+ }
@@ -0,0 +1,246 @@
1
+ /***************************************************************************
2
+ * Copyright (c) Johan Mabille, Sylvain Corlay, Wolf Vollprecht and *
3
+ * Martin Renou *
4
+ * Copyright (c) QuantStack *
5
+ * Copyright (c) Serge Guelton *
6
+ * *
7
+ * Distributed under the terms of the BSD 3-Clause License. *
8
+ * *
9
+ * The full license is in the file LICENSE, distributed with this software. *
10
+ ****************************************************************************/
11
+
12
+ // This file is derived from tsimd (MIT License)
13
+ // https://github.com/ospray/tsimd/blob/master/benchmarks/pico_bench.h
14
+ // Author Jefferson Amstutz / intel
15
+
16
+ #ifndef PICO_BENCH_H
17
+ #define PICO_BENCH_H
18
+
19
+ #include <algorithm>
20
+ #include <cassert>
21
+ #include <chrono>
22
+ #include <cmath>
23
+ #include <iterator>
24
+ #include <numeric>
25
+ #include <ostream>
26
+ #include <type_traits>
27
+ #include <utility>
28
+ #include <vector>
29
+
30
+ namespace pico_bench
31
+ {
32
+ /* Statistics on some time measurement value T, e.g. T =
33
+ * std::chrono::milliseconds T must be some std::chrono::duration type
34
+ */
35
+ template <typename T>
36
+ class Statistics
37
+ {
38
+ using rep = typename T::rep;
39
+ std::vector<T> samples;
40
+
41
+ public:
42
+ std::string time_suffix;
43
+
44
+ Statistics(std::vector<T> s)
45
+ : samples(s)
46
+ {
47
+ std::sort(std::begin(samples), std::end(samples));
48
+ }
49
+
50
+ T percentile(const float p) const
51
+ {
52
+ return percentile(p, samples);
53
+ }
54
+
55
+ // Winsorize the data, sets all entries above 100 - limit percentile and
56
+ // below limit percentile to the value of that percentile
57
+ void winsorize(const float limit)
58
+ {
59
+ winsorize(limit, samples);
60
+ }
61
+
62
+ T median() const
63
+ {
64
+ return percentile(50.0, samples);
65
+ }
66
+
67
+ T median_abs_dev() const
68
+ {
69
+ const auto m = median();
70
+ std::vector<T> deviations;
71
+ deviations.reserve(samples.size());
72
+ std::transform(std::begin(samples),
73
+ std::end(samples),
74
+ std::back_inserter(deviations),
75
+ [&m](const T& t)
76
+ { return T { std::abs((t - m).count()) }; });
77
+ std::sort(std::begin(deviations), std::end(deviations));
78
+ return percentile(50.0, deviations);
79
+ }
80
+
81
+ T mean() const
82
+ {
83
+ const auto m = std::accumulate(std::begin(samples), std::end(samples), T { 0 });
84
+ return m / samples.size();
85
+ }
86
+
87
+ T std_dev() const
88
+ {
89
+ const auto m = mean();
90
+ auto val = std::accumulate(
91
+ std::begin(samples), std::end(samples), T { 0 }, [&m](const T& p, const T& t)
92
+ { return T { static_cast<rep>(p.count() + std::pow((t - m).count(), 2)) }; });
93
+ return T { static_cast<rep>(std::sqrt(1.0 / static_cast<double>(samples.size())
94
+ * static_cast<double>(val.count()))) };
95
+ }
96
+
97
+ T min() const
98
+ {
99
+ return samples.front();
100
+ }
101
+
102
+ T max() const
103
+ {
104
+ return samples.back();
105
+ }
106
+
107
+ std::size_t size() const
108
+ {
109
+ return samples.size();
110
+ }
111
+
112
+ const T& operator[](size_t i) const
113
+ {
114
+ return samples[i];
115
+ }
116
+
117
+ private:
118
+ // Winsorize the data, sets all entries above 100 - limit percentile and
119
+ // below limit percentile to the value of that percentile
120
+ static void winsorize(const float limit, std::vector<T>& samples)
121
+ {
122
+ const auto low = percentile(limit, samples);
123
+ const auto high = percentile(100.0 - limit, samples);
124
+ for (auto& t : samples)
125
+ {
126
+ if (t < low)
127
+ {
128
+ t = low;
129
+ }
130
+ else if (t > high)
131
+ {
132
+ t = high;
133
+ }
134
+ }
135
+ }
136
+ static T percentile(const float p, const std::vector<T>& samples)
137
+ {
138
+ assert(!samples.empty());
139
+ assert(p <= 100.0);
140
+ assert(p >= 0.0);
141
+ if (samples.size() == 1)
142
+ {
143
+ return samples.front();
144
+ }
145
+ if (p == 100.0)
146
+ {
147
+ return samples.back();
148
+ }
149
+ const double rank = p / 100.0 * (static_cast<double>(samples.size()) - 1.0);
150
+ const double low_r = std::floor(rank);
151
+ const double dist = rank - low_r;
152
+ const size_t k = static_cast<size_t>(low_r);
153
+ const auto low = samples[k];
154
+ const auto high = samples[k + 1];
155
+ return T { static_cast<rep>(low.count() + (high - low).count() * dist) };
156
+ }
157
+ };
158
+
159
+ /* Benchmarking measurment using some desired unit of time measurement,
160
+ * e.g. T = std::chrono::milliseconds. T must be some std::chrono::duration
161
+ */
162
+ template <typename T>
163
+ class Benchmarker
164
+ {
165
+ const size_t MAX_ITER;
166
+ const T MAX_RUNTIME;
167
+
168
+ template <typename Fn>
169
+ struct BenchWrapper
170
+ {
171
+ Fn fn;
172
+
173
+ BenchWrapper(Fn fn)
174
+ : fn(fn)
175
+ {
176
+ }
177
+ T operator()()
178
+ {
179
+ auto start = std::chrono::high_resolution_clock::now();
180
+ fn();
181
+ auto end = std::chrono::high_resolution_clock::now();
182
+ return std::chrono::duration_cast<T>(end - start);
183
+ }
184
+ };
185
+
186
+ public:
187
+ using stats_type = Statistics<T>;
188
+
189
+ // Benchmark the functions either max_iter times or until max_runtime
190
+ // seconds have elapsed max_runtime should be > 0
191
+ Benchmarker(const size_t max_iter, const std::chrono::seconds max_runtime)
192
+ : MAX_ITER(max_iter)
193
+ , MAX_RUNTIME(std::chrono::duration_cast<T>(max_runtime))
194
+ {
195
+ }
196
+ // Create a benchmarker that will run the function for the desired number of
197
+ // iterations, regardless of how long it takes
198
+ Benchmarker(const size_t max_iter)
199
+ : MAX_ITER(max_iter)
200
+ , MAX_RUNTIME(0)
201
+ {
202
+ }
203
+
204
+ template <typename Fn>
205
+ typename std::enable_if<std::is_void<decltype(std::declval<Fn>()())>::value,
206
+ stats_type>::type
207
+ operator()(Fn fn) const
208
+ {
209
+ return (*this)(BenchWrapper<Fn> { fn });
210
+ }
211
+
212
+ template <typename Fn>
213
+ typename std::enable_if<std::is_same<decltype(std::declval<Fn>()()), T>::value,
214
+ stats_type>::type
215
+ operator()(Fn fn) const
216
+ {
217
+ // Do a single un-timed warm up run
218
+ fn();
219
+ T elapsed { 0 };
220
+ std::vector<T> samples;
221
+ for (size_t i = 0; i < MAX_ITER && (MAX_RUNTIME.count() == 0 || elapsed < MAX_RUNTIME);
222
+ ++i, elapsed += samples.back())
223
+ {
224
+ samples.push_back(fn());
225
+ }
226
+ return stats_type { samples };
227
+ }
228
+ };
229
+ } // namespace pico_bench
230
+
231
+ template <typename T>
232
+ std::ostream&
233
+ operator<<(std::ostream& os, const pico_bench::Statistics<T>& stats)
234
+ {
235
+ os << "Statistics:\n"
236
+ << "\tmax: " << stats.max().count() << stats.time_suffix << "\n"
237
+ << "\tmin: " << stats.min().count() << stats.time_suffix << "\n"
238
+ << "\tmedian: " << stats.median().count() << stats.time_suffix << "\n"
239
+ << "\tmedian abs dev: " << stats.median_abs_dev().count() << stats.time_suffix << "\n"
240
+ << "\tmean: " << stats.mean().count() << stats.time_suffix << "\n"
241
+ << "\tstd dev: " << stats.std_dev().count() << stats.time_suffix << "\n"
242
+ << "\t# of samples: " << stats.size();
243
+ return os;
244
+ }
245
+
246
+ #endif