sequenzo 0.1.21__cp311-cp311-macosx_11_0_arm64.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 (260) hide show
  1. sequenzo/__init__.py +240 -0
  2. sequenzo/big_data/__init__.py +12 -0
  3. sequenzo/big_data/clara/__init__.py +26 -0
  4. sequenzo/big_data/clara/clara.py +467 -0
  5. sequenzo/big_data/clara/utils/__init__.py +27 -0
  6. sequenzo/big_data/clara/utils/aggregatecases.py +92 -0
  7. sequenzo/big_data/clara/utils/davies_bouldin.py +91 -0
  8. sequenzo/big_data/clara/utils/get_weighted_diss.cpython-311-darwin.so +0 -0
  9. sequenzo/big_data/clara/utils/wfcmdd.py +205 -0
  10. sequenzo/big_data/clara/visualization.py +88 -0
  11. sequenzo/clustering/KMedoids.py +196 -0
  12. sequenzo/clustering/__init__.py +30 -0
  13. sequenzo/clustering/clustering_c_code.cpython-311-darwin.so +0 -0
  14. sequenzo/clustering/hierarchical_clustering.py +1380 -0
  15. sequenzo/clustering/src/KMedoid.cpp +262 -0
  16. sequenzo/clustering/src/PAM.cpp +236 -0
  17. sequenzo/clustering/src/PAMonce.cpp +234 -0
  18. sequenzo/clustering/src/cluster_quality.cpp +496 -0
  19. sequenzo/clustering/src/cluster_quality.h +128 -0
  20. sequenzo/clustering/src/cluster_quality_backup.cpp +570 -0
  21. sequenzo/clustering/src/module.cpp +228 -0
  22. sequenzo/clustering/src/weightedinertia.cpp +111 -0
  23. sequenzo/clustering/utils/__init__.py +27 -0
  24. sequenzo/clustering/utils/disscenter.py +122 -0
  25. sequenzo/data_preprocessing/__init__.py +20 -0
  26. sequenzo/data_preprocessing/helpers.py +256 -0
  27. sequenzo/datasets/__init__.py +41 -0
  28. sequenzo/datasets/biofam.csv +2001 -0
  29. sequenzo/datasets/biofam_child_domain.csv +2001 -0
  30. sequenzo/datasets/biofam_left_domain.csv +2001 -0
  31. sequenzo/datasets/biofam_married_domain.csv +2001 -0
  32. sequenzo/datasets/chinese_colonial_territories.csv +12 -0
  33. sequenzo/datasets/country_co2_emissions.csv +194 -0
  34. sequenzo/datasets/country_co2_emissions_global_deciles.csv +195 -0
  35. sequenzo/datasets/country_co2_emissions_global_quintiles.csv +195 -0
  36. sequenzo/datasets/country_co2_emissions_local_deciles.csv +195 -0
  37. sequenzo/datasets/country_co2_emissions_local_quintiles.csv +195 -0
  38. sequenzo/datasets/country_gdp_per_capita.csv +194 -0
  39. sequenzo/datasets/mvad.csv +713 -0
  40. sequenzo/datasets/pairfam_family.csv +1867 -0
  41. sequenzo/datasets/polyadic_samplec1.csv +61 -0
  42. sequenzo/datasets/polyadic_samplep1.csv +61 -0
  43. sequenzo/datasets/polyadic_seqc1.csv +61 -0
  44. sequenzo/datasets/polyadic_seqp1.csv +61 -0
  45. sequenzo/define_sequence_data.py +609 -0
  46. sequenzo/dissimilarity_measures/__init__.py +31 -0
  47. sequenzo/dissimilarity_measures/c_code.cpython-311-darwin.so +0 -0
  48. sequenzo/dissimilarity_measures/get_distance_matrix.py +702 -0
  49. sequenzo/dissimilarity_measures/get_substitution_cost_matrix.py +241 -0
  50. sequenzo/dissimilarity_measures/src/DHDdistance.cpp +148 -0
  51. sequenzo/dissimilarity_measures/src/LCPdistance.cpp +114 -0
  52. sequenzo/dissimilarity_measures/src/OMdistance.cpp +247 -0
  53. sequenzo/dissimilarity_measures/src/OMspellDistance.cpp +281 -0
  54. sequenzo/dissimilarity_measures/src/__init__.py +0 -0
  55. sequenzo/dissimilarity_measures/src/dist2matrix.cpp +63 -0
  56. sequenzo/dissimilarity_measures/src/dp_utils.h +160 -0
  57. sequenzo/dissimilarity_measures/src/module.cpp +34 -0
  58. sequenzo/dissimilarity_measures/src/setup.py +30 -0
  59. sequenzo/dissimilarity_measures/src/utils.h +25 -0
  60. sequenzo/dissimilarity_measures/src/xsimd/.github/cmake-test/main.cpp +6 -0
  61. sequenzo/dissimilarity_measures/src/xsimd/benchmark/main.cpp +159 -0
  62. sequenzo/dissimilarity_measures/src/xsimd/benchmark/xsimd_benchmark.hpp +565 -0
  63. sequenzo/dissimilarity_measures/src/xsimd/docs/source/conf.py +37 -0
  64. sequenzo/dissimilarity_measures/src/xsimd/examples/mandelbrot.cpp +330 -0
  65. sequenzo/dissimilarity_measures/src/xsimd/examples/pico_bench.hpp +246 -0
  66. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/common/xsimd_common_arithmetic.hpp +266 -0
  67. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/common/xsimd_common_complex.hpp +112 -0
  68. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/common/xsimd_common_details.hpp +323 -0
  69. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/common/xsimd_common_logical.hpp +218 -0
  70. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/common/xsimd_common_math.hpp +2583 -0
  71. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/common/xsimd_common_memory.hpp +880 -0
  72. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/common/xsimd_common_rounding.hpp +72 -0
  73. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/common/xsimd_common_swizzle.hpp +174 -0
  74. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/common/xsimd_common_trigo.hpp +978 -0
  75. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx.hpp +1924 -0
  76. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx2.hpp +1144 -0
  77. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx512bw.hpp +656 -0
  78. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx512cd.hpp +28 -0
  79. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx512dq.hpp +244 -0
  80. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx512er.hpp +20 -0
  81. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx512f.hpp +2650 -0
  82. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx512ifma.hpp +20 -0
  83. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx512pf.hpp +20 -0
  84. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx512vbmi.hpp +77 -0
  85. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx512vbmi2.hpp +131 -0
  86. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx512vnni_avx512bw.hpp +20 -0
  87. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx512vnni_avx512vbmi2.hpp +20 -0
  88. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avxvnni.hpp +20 -0
  89. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_common.hpp +24 -0
  90. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_common_fwd.hpp +77 -0
  91. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_constants.hpp +393 -0
  92. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_emulated.hpp +788 -0
  93. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_fma3_avx.hpp +93 -0
  94. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_fma3_avx2.hpp +46 -0
  95. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_fma3_sse.hpp +97 -0
  96. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_fma4.hpp +92 -0
  97. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_i8mm_neon64.hpp +17 -0
  98. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_isa.hpp +142 -0
  99. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_neon.hpp +3142 -0
  100. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_neon64.hpp +1543 -0
  101. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_rvv.hpp +1513 -0
  102. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_scalar.hpp +1260 -0
  103. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_sse2.hpp +2024 -0
  104. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_sse3.hpp +67 -0
  105. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_sse4_1.hpp +339 -0
  106. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_sse4_2.hpp +44 -0
  107. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_ssse3.hpp +186 -0
  108. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_sve.hpp +1155 -0
  109. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_vsx.hpp +892 -0
  110. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_wasm.hpp +1780 -0
  111. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/config/xsimd_arch.hpp +240 -0
  112. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/config/xsimd_config.hpp +484 -0
  113. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/config/xsimd_cpuid.hpp +269 -0
  114. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/config/xsimd_inline.hpp +27 -0
  115. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/math/xsimd_rem_pio2.hpp +719 -0
  116. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/memory/xsimd_aligned_allocator.hpp +349 -0
  117. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/memory/xsimd_alignment.hpp +91 -0
  118. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_all_registers.hpp +55 -0
  119. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_api.hpp +2765 -0
  120. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_avx2_register.hpp +44 -0
  121. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_avx512bw_register.hpp +51 -0
  122. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_avx512cd_register.hpp +51 -0
  123. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_avx512dq_register.hpp +51 -0
  124. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_avx512er_register.hpp +51 -0
  125. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_avx512f_register.hpp +77 -0
  126. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_avx512ifma_register.hpp +51 -0
  127. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_avx512pf_register.hpp +51 -0
  128. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_avx512vbmi2_register.hpp +51 -0
  129. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_avx512vbmi_register.hpp +51 -0
  130. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_avx512vnni_avx512bw_register.hpp +54 -0
  131. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_avx512vnni_avx512vbmi2_register.hpp +53 -0
  132. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_avx_register.hpp +64 -0
  133. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_avxvnni_register.hpp +44 -0
  134. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_batch.hpp +1524 -0
  135. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_batch_constant.hpp +300 -0
  136. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_common_arch.hpp +47 -0
  137. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_emulated_register.hpp +80 -0
  138. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_fma3_avx2_register.hpp +50 -0
  139. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_fma3_avx_register.hpp +50 -0
  140. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_fma3_sse_register.hpp +50 -0
  141. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_fma4_register.hpp +50 -0
  142. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_i8mm_neon64_register.hpp +55 -0
  143. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_neon64_register.hpp +55 -0
  144. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_neon_register.hpp +154 -0
  145. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_register.hpp +94 -0
  146. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_rvv_register.hpp +506 -0
  147. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_sse2_register.hpp +59 -0
  148. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_sse3_register.hpp +49 -0
  149. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_sse4_1_register.hpp +48 -0
  150. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_sse4_2_register.hpp +48 -0
  151. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_ssse3_register.hpp +48 -0
  152. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_sve_register.hpp +156 -0
  153. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_traits.hpp +337 -0
  154. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_utils.hpp +536 -0
  155. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_vsx_register.hpp +77 -0
  156. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_wasm_register.hpp +59 -0
  157. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/xsimd.hpp +75 -0
  158. sequenzo/dissimilarity_measures/src/xsimd/test/architectures/dummy.cpp +7 -0
  159. sequenzo/dissimilarity_measures/src/xsimd/test/doc/explicit_use_of_an_instruction_set.cpp +13 -0
  160. sequenzo/dissimilarity_measures/src/xsimd/test/doc/explicit_use_of_an_instruction_set_mean.cpp +24 -0
  161. sequenzo/dissimilarity_measures/src/xsimd/test/doc/explicit_use_of_an_instruction_set_mean_aligned.cpp +25 -0
  162. sequenzo/dissimilarity_measures/src/xsimd/test/doc/explicit_use_of_an_instruction_set_mean_arch_independent.cpp +28 -0
  163. sequenzo/dissimilarity_measures/src/xsimd/test/doc/explicit_use_of_an_instruction_set_mean_tag_dispatch.cpp +25 -0
  164. sequenzo/dissimilarity_measures/src/xsimd/test/doc/manipulating_abstract_batches.cpp +7 -0
  165. sequenzo/dissimilarity_measures/src/xsimd/test/doc/manipulating_parametric_batches.cpp +8 -0
  166. sequenzo/dissimilarity_measures/src/xsimd/test/doc/sum.hpp +31 -0
  167. sequenzo/dissimilarity_measures/src/xsimd/test/doc/sum_avx2.cpp +3 -0
  168. sequenzo/dissimilarity_measures/src/xsimd/test/doc/sum_sse2.cpp +3 -0
  169. sequenzo/dissimilarity_measures/src/xsimd/test/doc/writing_vectorized_code.cpp +11 -0
  170. sequenzo/dissimilarity_measures/src/xsimd/test/main.cpp +31 -0
  171. sequenzo/dissimilarity_measures/src/xsimd/test/test_api.cpp +230 -0
  172. sequenzo/dissimilarity_measures/src/xsimd/test/test_arch.cpp +217 -0
  173. sequenzo/dissimilarity_measures/src/xsimd/test/test_basic_math.cpp +183 -0
  174. sequenzo/dissimilarity_measures/src/xsimd/test/test_batch.cpp +1049 -0
  175. sequenzo/dissimilarity_measures/src/xsimd/test/test_batch_bool.cpp +508 -0
  176. sequenzo/dissimilarity_measures/src/xsimd/test/test_batch_cast.cpp +409 -0
  177. sequenzo/dissimilarity_measures/src/xsimd/test/test_batch_complex.cpp +712 -0
  178. sequenzo/dissimilarity_measures/src/xsimd/test/test_batch_constant.cpp +286 -0
  179. sequenzo/dissimilarity_measures/src/xsimd/test/test_batch_float.cpp +141 -0
  180. sequenzo/dissimilarity_measures/src/xsimd/test/test_batch_int.cpp +365 -0
  181. sequenzo/dissimilarity_measures/src/xsimd/test/test_batch_manip.cpp +308 -0
  182. sequenzo/dissimilarity_measures/src/xsimd/test/test_bitwise_cast.cpp +222 -0
  183. sequenzo/dissimilarity_measures/src/xsimd/test/test_complex_exponential.cpp +226 -0
  184. sequenzo/dissimilarity_measures/src/xsimd/test/test_complex_hyperbolic.cpp +183 -0
  185. sequenzo/dissimilarity_measures/src/xsimd/test/test_complex_power.cpp +265 -0
  186. sequenzo/dissimilarity_measures/src/xsimd/test/test_complex_trigonometric.cpp +236 -0
  187. sequenzo/dissimilarity_measures/src/xsimd/test/test_conversion.cpp +248 -0
  188. sequenzo/dissimilarity_measures/src/xsimd/test/test_custom_default_arch.cpp +28 -0
  189. sequenzo/dissimilarity_measures/src/xsimd/test/test_error_gamma.cpp +170 -0
  190. sequenzo/dissimilarity_measures/src/xsimd/test/test_explicit_batch_instantiation.cpp +32 -0
  191. sequenzo/dissimilarity_measures/src/xsimd/test/test_exponential.cpp +202 -0
  192. sequenzo/dissimilarity_measures/src/xsimd/test/test_extract_pair.cpp +92 -0
  193. sequenzo/dissimilarity_measures/src/xsimd/test/test_fp_manipulation.cpp +77 -0
  194. sequenzo/dissimilarity_measures/src/xsimd/test/test_gnu_source.cpp +30 -0
  195. sequenzo/dissimilarity_measures/src/xsimd/test/test_hyperbolic.cpp +167 -0
  196. sequenzo/dissimilarity_measures/src/xsimd/test/test_load_store.cpp +304 -0
  197. sequenzo/dissimilarity_measures/src/xsimd/test/test_memory.cpp +61 -0
  198. sequenzo/dissimilarity_measures/src/xsimd/test/test_poly_evaluation.cpp +64 -0
  199. sequenzo/dissimilarity_measures/src/xsimd/test/test_power.cpp +184 -0
  200. sequenzo/dissimilarity_measures/src/xsimd/test/test_rounding.cpp +199 -0
  201. sequenzo/dissimilarity_measures/src/xsimd/test/test_select.cpp +101 -0
  202. sequenzo/dissimilarity_measures/src/xsimd/test/test_shuffle.cpp +760 -0
  203. sequenzo/dissimilarity_measures/src/xsimd/test/test_sum.cpp +4 -0
  204. sequenzo/dissimilarity_measures/src/xsimd/test/test_sum.hpp +34 -0
  205. sequenzo/dissimilarity_measures/src/xsimd/test/test_traits.cpp +172 -0
  206. sequenzo/dissimilarity_measures/src/xsimd/test/test_trigonometric.cpp +208 -0
  207. sequenzo/dissimilarity_measures/src/xsimd/test/test_utils.hpp +611 -0
  208. sequenzo/dissimilarity_measures/src/xsimd/test/test_wasm/test_wasm_playwright.py +123 -0
  209. sequenzo/dissimilarity_measures/src/xsimd/test/test_xsimd_api.cpp +1460 -0
  210. sequenzo/dissimilarity_measures/utils/__init__.py +16 -0
  211. sequenzo/dissimilarity_measures/utils/get_LCP_length_for_2_seq.py +44 -0
  212. sequenzo/dissimilarity_measures/utils/get_sm_trate_substitution_cost_matrix.cpython-311-darwin.so +0 -0
  213. sequenzo/dissimilarity_measures/utils/seqconc.cpython-311-darwin.so +0 -0
  214. sequenzo/dissimilarity_measures/utils/seqdss.cpython-311-darwin.so +0 -0
  215. sequenzo/dissimilarity_measures/utils/seqdur.cpython-311-darwin.so +0 -0
  216. sequenzo/dissimilarity_measures/utils/seqlength.cpython-311-darwin.so +0 -0
  217. sequenzo/multidomain/__init__.py +23 -0
  218. sequenzo/multidomain/association_between_domains.py +311 -0
  219. sequenzo/multidomain/cat.py +431 -0
  220. sequenzo/multidomain/combt.py +519 -0
  221. sequenzo/multidomain/dat.py +89 -0
  222. sequenzo/multidomain/idcd.py +139 -0
  223. sequenzo/multidomain/linked_polyad.py +292 -0
  224. sequenzo/openmp_setup.py +233 -0
  225. sequenzo/prefix_tree/__init__.py +43 -0
  226. sequenzo/prefix_tree/individual_level_indicators.py +1274 -0
  227. sequenzo/prefix_tree/system_level_indicators.py +465 -0
  228. sequenzo/prefix_tree/utils.py +54 -0
  229. sequenzo/sequence_characteristics/__init__.py +40 -0
  230. sequenzo/sequence_characteristics/complexity_index.py +49 -0
  231. sequenzo/sequence_characteristics/overall_cross_sectional_entropy.py +220 -0
  232. sequenzo/sequence_characteristics/plot_characteristics.py +593 -0
  233. sequenzo/sequence_characteristics/simple_characteristics.py +311 -0
  234. sequenzo/sequence_characteristics/state_frequencies_and_entropy_per_sequence.py +39 -0
  235. sequenzo/sequence_characteristics/turbulence.py +155 -0
  236. sequenzo/sequence_characteristics/variance_of_spell_durations.py +86 -0
  237. sequenzo/sequence_characteristics/within_sequence_entropy.py +43 -0
  238. sequenzo/suffix_tree/__init__.py +48 -0
  239. sequenzo/suffix_tree/individual_level_indicators.py +1638 -0
  240. sequenzo/suffix_tree/system_level_indicators.py +456 -0
  241. sequenzo/suffix_tree/utils.py +56 -0
  242. sequenzo/visualization/__init__.py +29 -0
  243. sequenzo/visualization/plot_mean_time.py +194 -0
  244. sequenzo/visualization/plot_modal_state.py +276 -0
  245. sequenzo/visualization/plot_most_frequent_sequences.py +147 -0
  246. sequenzo/visualization/plot_relative_frequency.py +404 -0
  247. sequenzo/visualization/plot_sequence_index.py +937 -0
  248. sequenzo/visualization/plot_single_medoid.py +153 -0
  249. sequenzo/visualization/plot_state_distribution.py +613 -0
  250. sequenzo/visualization/plot_transition_matrix.py +190 -0
  251. sequenzo/visualization/utils/__init__.py +23 -0
  252. sequenzo/visualization/utils/utils.py +310 -0
  253. sequenzo/with_event_history_analysis/__init__.py +35 -0
  254. sequenzo/with_event_history_analysis/sequence_analysis_multi_state_model.py +850 -0
  255. sequenzo/with_event_history_analysis/sequence_history_analysis.py +283 -0
  256. sequenzo-0.1.21.dist-info/METADATA +308 -0
  257. sequenzo-0.1.21.dist-info/RECORD +254 -0
  258. sequenzo-0.1.21.dist-info/WHEEL +5 -0
  259. sequenzo-0.1.21.dist-info/licenses/LICENSE +28 -0
  260. sequenzo-0.1.21.dist-info/top_level.txt +1 -0
@@ -0,0 +1,286 @@
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
+ #include "xsimd/xsimd.hpp"
13
+ #ifndef XSIMD_NO_SUPPORTED_ARCHITECTURE
14
+
15
+ #include "test_utils.hpp"
16
+
17
+ template <class B>
18
+ struct constant_batch_test
19
+ {
20
+ using batch_type = B;
21
+ using value_type = typename B::value_type;
22
+ using arch_type = typename B::arch_type;
23
+ static constexpr size_t size = B::size;
24
+ using array_type = std::array<value_type, size>;
25
+ using bool_array_type = std::array<bool, size>;
26
+ using batch_bool_type = typename batch_type::batch_bool_type;
27
+
28
+ struct generator
29
+ {
30
+ static constexpr value_type get(size_t index, size_t /*size*/)
31
+ {
32
+ return index % 2 ? 0 : 1;
33
+ }
34
+ };
35
+
36
+ void test_init_from_generator() const
37
+ {
38
+ array_type expected;
39
+ size_t i = 0;
40
+ std::generate(expected.begin(), expected.end(),
41
+ [&i]()
42
+ { return generator::get(i++, size); });
43
+ constexpr auto b = xsimd::make_batch_constant<value_type, generator, arch_type>();
44
+ INFO("batch(value_type)");
45
+ CHECK_BATCH_EQ((batch_type)b, expected);
46
+ }
47
+
48
+ void test_cast() const
49
+ {
50
+ constexpr auto cst_b = xsimd::make_batch_constant<value_type, generator, arch_type>();
51
+ auto b0 = cst_b.as_batch();
52
+ auto b1 = (batch_type)cst_b;
53
+ CHECK_BATCH_EQ(b0, b1);
54
+ // The actual values are already tested in test_init_from_generator
55
+ }
56
+
57
+ struct arange
58
+ {
59
+ static constexpr value_type get(size_t index, size_t /*size*/)
60
+ {
61
+ return static_cast<value_type>(index);
62
+ }
63
+ };
64
+
65
+ void test_init_from_generator_arange() const
66
+ {
67
+ array_type expected;
68
+ size_t i = 0;
69
+ std::generate(expected.begin(), expected.end(),
70
+ [&i]()
71
+ { return arange::get(i++, size); });
72
+ constexpr auto b = xsimd::make_batch_constant<value_type, arange, arch_type>();
73
+ INFO("batch(value_type)");
74
+ CHECK_BATCH_EQ((batch_type)b, expected);
75
+ }
76
+
77
+ template <value_type V>
78
+ struct constant
79
+ {
80
+ static constexpr value_type get(size_t /*index*/, size_t /*size*/)
81
+ {
82
+ return V;
83
+ }
84
+ };
85
+
86
+ void test_init_from_constant() const
87
+ {
88
+ array_type expected;
89
+ std::fill(expected.begin(), expected.end(), constant<3>::get(0, 0));
90
+ constexpr auto b = xsimd::make_batch_constant<value_type, constant<3>, arch_type>();
91
+ INFO("batch(value_type)");
92
+ CHECK_BATCH_EQ((batch_type)b, expected);
93
+ }
94
+
95
+ void test_ops() const
96
+ {
97
+ constexpr auto n12 = xsimd::make_batch_constant<value_type, constant<12>, arch_type>();
98
+ constexpr auto n3 = xsimd::make_batch_constant<value_type, constant<3>, arch_type>();
99
+
100
+ constexpr auto n12_add_n3 = n12 + n3;
101
+ constexpr auto n15 = xsimd::make_batch_constant<value_type, constant<15>, arch_type>();
102
+ static_assert(std::is_same<decltype(n12_add_n3), decltype(n15)>::value, "n12 + n3 == n15");
103
+
104
+ constexpr auto n12_sub_n3 = n12 - n3;
105
+ constexpr auto n9 = xsimd::make_batch_constant<value_type, constant<9>, arch_type>();
106
+ static_assert(std::is_same<decltype(n12_sub_n3), decltype(n9)>::value, "n12 - n3 == n9");
107
+
108
+ constexpr auto n12_mul_n3 = n12 * n3;
109
+ constexpr auto n36 = xsimd::make_batch_constant<value_type, constant<36>, arch_type>();
110
+ static_assert(std::is_same<decltype(n12_mul_n3), decltype(n36)>::value, "n12 * n3 == n36");
111
+
112
+ constexpr auto n12_div_n3 = n12 / n3;
113
+ constexpr auto n4 = xsimd::make_batch_constant<value_type, constant<4>, arch_type>();
114
+ static_assert(std::is_same<decltype(n12_div_n3), decltype(n4)>::value, "n12 / n3 == n4");
115
+
116
+ constexpr auto n12_mod_n3 = n12 % n3;
117
+ constexpr auto n0 = xsimd::make_batch_constant<value_type, constant<0>, arch_type>();
118
+ static_assert(std::is_same<decltype(n12_mod_n3), decltype(n0)>::value, "n12 % n3 == n0");
119
+
120
+ constexpr auto n12_land_n3 = n12 & n3;
121
+ static_assert(std::is_same<decltype(n12_land_n3), decltype(n0)>::value, "n12 & n3 == n0");
122
+
123
+ constexpr auto n12_lor_n3 = n12 | n3;
124
+ static_assert(std::is_same<decltype(n12_lor_n3), decltype(n15)>::value, "n12 | n3 == n15");
125
+
126
+ constexpr auto n12_lxor_n3 = n12 ^ n3;
127
+ static_assert(std::is_same<decltype(n12_lxor_n3), decltype(n15)>::value, "n12 ^ n3 == n15");
128
+
129
+ constexpr auto n12_uadd = +n12;
130
+ static_assert(std::is_same<decltype(n12_uadd), decltype(n12)>::value, "+n12 == n12");
131
+
132
+ constexpr auto n12_inv = ~n12;
133
+ constexpr auto n12_inv_ = xsimd::make_batch_constant<value_type, constant<(value_type)~12>, arch_type>();
134
+ static_assert(std::is_same<decltype(n12_inv), decltype(n12_inv_)>::value, "~n12 == n12_inv");
135
+
136
+ constexpr auto n12_usub = -n12;
137
+ constexpr auto n12_usub_ = xsimd::make_batch_constant<value_type, constant<(value_type)-12>, arch_type>();
138
+ static_assert(std::is_same<decltype(n12_usub), decltype(n12_usub_)>::value, "-n12 == n12_usub");
139
+ }
140
+ };
141
+
142
+ TEST_CASE_TEMPLATE("[constant batch]", B, BATCH_INT_TYPES)
143
+ {
144
+ constant_batch_test<B> Test;
145
+ SUBCASE("init_from_generator") { Test.test_init_from_generator(); }
146
+
147
+ SUBCASE("as_batch") { Test.test_cast(); }
148
+
149
+ SUBCASE("init_from_generator_arange")
150
+ {
151
+ Test.test_init_from_generator_arange();
152
+ }
153
+
154
+ SUBCASE("init_from_constant") { Test.test_init_from_constant(); }
155
+
156
+ SUBCASE("operators")
157
+ {
158
+ Test.test_ops();
159
+ }
160
+ }
161
+
162
+ template <class B>
163
+ struct constant_bool_batch_test
164
+ {
165
+ using batch_type = B;
166
+ using value_type = typename B::value_type;
167
+ using arch_type = typename B::arch_type;
168
+ static constexpr size_t size = B::size;
169
+ using array_type = std::array<value_type, size>;
170
+ using bool_array_type = std::array<bool, size>;
171
+ using batch_bool_type = typename batch_type::batch_bool_type;
172
+
173
+ struct generator
174
+ {
175
+ static constexpr bool get(size_t index, size_t /*size*/)
176
+ {
177
+ return index % 2;
178
+ }
179
+ };
180
+
181
+ void test_init_from_generator() const
182
+ {
183
+ bool_array_type expected;
184
+ size_t i = 0;
185
+ std::generate(expected.begin(), expected.end(),
186
+ [&i]()
187
+ { return generator::get(i++, size); });
188
+ constexpr auto b = xsimd::make_batch_bool_constant<value_type, generator, arch_type>();
189
+ INFO("batch_bool_constant(value_type)");
190
+ CHECK_BATCH_EQ((batch_bool_type)b, expected);
191
+ }
192
+
193
+ struct split
194
+ {
195
+ static constexpr bool get(size_t index, size_t size)
196
+ {
197
+ return index < size / 2;
198
+ }
199
+ };
200
+
201
+ void test_init_from_generator_split() const
202
+ {
203
+ bool_array_type expected;
204
+ size_t i = 0;
205
+ std::generate(expected.begin(), expected.end(),
206
+ [&i]()
207
+ { return split::get(i++, size); });
208
+ constexpr auto b = xsimd::make_batch_bool_constant<value_type, split, arch_type>();
209
+ INFO("batch_bool_constant(value_type)");
210
+ CHECK_BATCH_EQ((batch_bool_type)b, expected);
211
+ }
212
+
213
+ struct inv_split
214
+ {
215
+ static constexpr bool get(size_t index, size_t size)
216
+ {
217
+ return !split().get(index, size);
218
+ }
219
+ };
220
+
221
+ template <bool Val>
222
+ struct constant
223
+ {
224
+ static constexpr bool get(size_t /*index*/, size_t /*size*/)
225
+ {
226
+ return Val;
227
+ }
228
+ };
229
+
230
+ void test_cast() const
231
+ {
232
+ constexpr auto all_true = xsimd::make_batch_bool_constant<value_type, constant<true>, arch_type>();
233
+ auto b0 = all_true.as_batch_bool();
234
+ auto b1 = (batch_bool_type)all_true;
235
+ CHECK_BATCH_EQ(b0, batch_bool_type(true));
236
+ CHECK_BATCH_EQ(b1, batch_bool_type(true));
237
+ }
238
+
239
+ void test_ops() const
240
+ {
241
+ constexpr auto all_true = xsimd::make_batch_bool_constant<value_type, constant<true>, arch_type>();
242
+ constexpr auto all_false = xsimd::make_batch_bool_constant<value_type, constant<false>, arch_type>();
243
+
244
+ constexpr auto x = xsimd::make_batch_bool_constant<value_type, split, arch_type>();
245
+ constexpr auto y = xsimd::make_batch_bool_constant<value_type, inv_split, arch_type>();
246
+
247
+ constexpr auto x_or_y = x | y;
248
+ static_assert(std::is_same<decltype(x_or_y), decltype(all_true)>::value, "x | y == true");
249
+
250
+ constexpr auto x_lor_y = x || y;
251
+ static_assert(std::is_same<decltype(x_lor_y), decltype(all_true)>::value, "x || y == true");
252
+
253
+ constexpr auto x_and_y = x & y;
254
+ static_assert(std::is_same<decltype(x_and_y), decltype(all_false)>::value, "x & y == false");
255
+
256
+ constexpr auto x_land_y = x && y;
257
+ static_assert(std::is_same<decltype(x_land_y), decltype(all_false)>::value, "x && y == false");
258
+
259
+ constexpr auto x_xor_y = x ^ y;
260
+ static_assert(std::is_same<decltype(x_xor_y), decltype(all_true)>::value, "x ^ y == true");
261
+
262
+ constexpr auto not_x = !x;
263
+ static_assert(std::is_same<decltype(not_x), decltype(y)>::value, "!x == y");
264
+
265
+ constexpr auto inv_x = ~x;
266
+ static_assert(std::is_same<decltype(inv_x), decltype(y)>::value, "~x == y");
267
+ }
268
+ };
269
+
270
+ TEST_CASE_TEMPLATE("[constant bool batch]", B, BATCH_INT_TYPES)
271
+ {
272
+ constant_bool_batch_test<B> Test;
273
+ SUBCASE("init_from_generator") { Test.test_init_from_generator(); }
274
+
275
+ SUBCASE("as_batch") { Test.test_cast(); }
276
+
277
+ SUBCASE("init_from_generator_split")
278
+ {
279
+ Test.test_init_from_generator_split();
280
+ }
281
+ SUBCASE("operators")
282
+ {
283
+ Test.test_ops();
284
+ }
285
+ }
286
+ #endif
@@ -0,0 +1,141 @@
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
+ #include "xsimd/xsimd.hpp"
13
+ #ifndef XSIMD_NO_SUPPORTED_ARCHITECTURE
14
+
15
+ #include "test_utils.hpp"
16
+
17
+ template <class B>
18
+ struct batch_float_test
19
+ {
20
+ using batch_type = B;
21
+ using value_type = typename B::value_type;
22
+ static constexpr size_t size = B::size;
23
+ using array_type = std::array<value_type, size>;
24
+ using bool_array_type = std::array<bool, size>;
25
+
26
+ array_type lhs;
27
+ array_type rhs;
28
+
29
+ batch_float_test()
30
+ {
31
+ for (size_t i = 0; i < size; ++i)
32
+ {
33
+ lhs[i] = value_type(i) / 4 + value_type(1.2) * std::sqrt(value_type(i + 0.25));
34
+ if (lhs[i] == value_type(0))
35
+ {
36
+ lhs[i] += value_type(0.1);
37
+ }
38
+ rhs[i] = value_type(10.2) / (i + 2) + value_type(0.25);
39
+ }
40
+ }
41
+
42
+ void test_reciprocal() const
43
+ {
44
+ // reciprocal
45
+ {
46
+ array_type res, expected;
47
+ std::transform(lhs.cbegin(), lhs.cend(), expected.begin(),
48
+ [](const value_type& l)
49
+ { return value_type(1) / l; });
50
+ batch_type res1 = reciprocal(batch_lhs());
51
+ res1.store_unaligned(res.data());
52
+ size_t diff = detail::get_nb_diff_near(res, expected, 1e-12f);
53
+ INFO("reciprocal");
54
+ CHECK_EQ(diff, 0);
55
+ }
56
+ }
57
+
58
+ void test_rsqrt() const
59
+ {
60
+ // rsqrt
61
+ {
62
+ array_type res, expected;
63
+ std::transform(lhs.cbegin(), lhs.cend(), expected.begin(),
64
+ [](const value_type& l)
65
+ { return std::ceil((value_type(1) / std::sqrt(l)) * value_type(100)); });
66
+ batch_type res1 = ceil(rsqrt(batch_lhs()) * value_type(100));
67
+ res1.store_unaligned(res.data());
68
+ size_t diff = detail::get_nb_diff_near(res, expected, 1.5f * std::pow(2, 12));
69
+ INFO("rsqrt");
70
+ CHECK_EQ(diff, 0);
71
+ }
72
+ }
73
+
74
+ void test_sqrt() const
75
+ {
76
+ // sqrt
77
+ {
78
+ array_type expected;
79
+ std::transform(lhs.cbegin(), lhs.cend(), expected.begin(),
80
+ [](const value_type& l)
81
+ { return std::sqrt(l); });
82
+ batch_type res = sqrt(batch_lhs());
83
+ INFO("sqrt");
84
+ CHECK_BATCH_EQ(res, expected);
85
+ }
86
+ }
87
+
88
+ void test_haddp() const
89
+ {
90
+ batch_type haddp_input[size];
91
+ for (size_t i = 0; i < size; i += 2)
92
+ {
93
+ haddp_input[i] = batch_lhs();
94
+ if (i + 1 < size)
95
+ {
96
+ haddp_input[i + 1] = batch_rhs();
97
+ }
98
+ }
99
+ array_type expected;
100
+ std::fill(expected.begin(), expected.end(), value_type(0));
101
+ for (size_t i = 0; i < size; ++i)
102
+ {
103
+ for (size_t j = 0; j < size; j += 2)
104
+ {
105
+ expected[j] += lhs[i];
106
+ if (j + 1 < size)
107
+ {
108
+ expected[j + 1] += rhs[i];
109
+ }
110
+ }
111
+ }
112
+ auto res = haddp(haddp_input);
113
+ INFO("haddp");
114
+ CHECK_BATCH_EQ(res, expected);
115
+ }
116
+
117
+ private:
118
+ batch_type batch_lhs() const
119
+ {
120
+ return batch_type::load_unaligned(lhs.data());
121
+ }
122
+
123
+ batch_type batch_rhs() const
124
+ {
125
+ return batch_type::load_unaligned(rhs.data());
126
+ }
127
+ };
128
+
129
+ TEST_CASE_TEMPLATE("[xsimd batch float]", B, BATCH_FLOAT_TYPES)
130
+ {
131
+ batch_float_test<B> Test;
132
+
133
+ SUBCASE("reciprocal") { Test.test_reciprocal(); }
134
+
135
+ SUBCASE("sqrt") { Test.test_sqrt(); }
136
+
137
+ SUBCASE("rsqrt") { Test.test_rsqrt(); }
138
+
139
+ SUBCASE("haddp") { Test.test_haddp(); }
140
+ }
141
+ #endif