patinae 0.4.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 (376) hide show
  1. patinae-0.4.0/Cargo.toml +126 -0
  2. patinae-0.4.0/LICENSE +29 -0
  3. patinae-0.4.0/PKG-INFO +76 -0
  4. patinae-0.4.0/README.md +39 -0
  5. patinae-0.4.0/crates/patinae-algos/Cargo.toml +25 -0
  6. patinae-0.4.0/crates/patinae-algos/src/align/ce.rs +643 -0
  7. patinae-0.4.0/crates/patinae-algos/src/align/kabsch.rs +303 -0
  8. patinae-0.4.0/crates/patinae-algos/src/align/mod.rs +17 -0
  9. patinae-0.4.0/crates/patinae-algos/src/align/sequence_align.rs +399 -0
  10. patinae-0.4.0/crates/patinae-algos/src/align/substitution_matrix.rs +270 -0
  11. patinae-0.4.0/crates/patinae-algos/src/align/superpose.rs +254 -0
  12. patinae-0.4.0/crates/patinae-algos/src/dss/dssp.rs +1034 -0
  13. patinae-0.4.0/crates/patinae-algos/src/dss/mod.rs +77 -0
  14. patinae-0.4.0/crates/patinae-algos/src/dss/noop.rs +24 -0
  15. patinae-0.4.0/crates/patinae-algos/src/dss/pymol.rs +1177 -0
  16. patinae-0.4.0/crates/patinae-algos/src/lib.rs +56 -0
  17. patinae-0.4.0/crates/patinae-algos/src/linalg/mod.rs +9 -0
  18. patinae-0.4.0/crates/patinae-algos/src/linalg/svd3.rs +432 -0
  19. patinae-0.4.0/crates/patinae-algos/src/surface/contour/mc_tables.rs +511 -0
  20. patinae-0.4.0/crates/patinae-algos/src/surface/contour/mod.rs +407 -0
  21. patinae-0.4.0/crates/patinae-algos/src/surface/grid.rs +363 -0
  22. patinae-0.4.0/crates/patinae-algos/src/surface/mod.rs +60 -0
  23. patinae-0.4.0/crates/patinae-algos/src/symmetry/crystal.rs +163 -0
  24. patinae-0.4.0/crates/patinae-algos/src/symmetry/mod.rs +8 -0
  25. patinae-0.4.0/crates/patinae-algos/src/symmetry/space_groups.rs +260 -0
  26. patinae-0.4.0/crates/patinae-algos/src/symmetry/space_groups_data.rs +1368 -0
  27. patinae-0.4.0/crates/patinae-cmd/Cargo.toml +40 -0
  28. patinae-0.4.0/crates/patinae-cmd/src/args.rs +469 -0
  29. patinae-0.4.0/crates/patinae-cmd/src/command.rs +1104 -0
  30. patinae-0.4.0/crates/patinae-cmd/src/commands/align.rs +669 -0
  31. patinae-0.4.0/crates/patinae-cmd/src/commands/control.rs +534 -0
  32. patinae-0.4.0/crates/patinae-cmd/src/commands/crystal.rs +474 -0
  33. patinae-0.4.0/crates/patinae-cmd/src/commands/display.rs +1235 -0
  34. patinae-0.4.0/crates/patinae-cmd/src/commands/io.rs +1229 -0
  35. patinae-0.4.0/crates/patinae-cmd/src/commands/map.rs +369 -0
  36. patinae-0.4.0/crates/patinae-cmd/src/commands/measuring.rs +267 -0
  37. patinae-0.4.0/crates/patinae-cmd/src/commands/mod.rs +65 -0
  38. patinae-0.4.0/crates/patinae-cmd/src/commands/movie.rs +1419 -0
  39. patinae-0.4.0/crates/patinae-cmd/src/commands/objects.rs +1737 -0
  40. patinae-0.4.0/crates/patinae-cmd/src/commands/scene.rs +181 -0
  41. patinae-0.4.0/crates/patinae-cmd/src/commands/selecting.rs +564 -0
  42. patinae-0.4.0/crates/patinae-cmd/src/commands/settings.rs +1446 -0
  43. patinae-0.4.0/crates/patinae-cmd/src/commands/transform.rs +524 -0
  44. patinae-0.4.0/crates/patinae-cmd/src/commands/viewing.rs +1420 -0
  45. patinae-0.4.0/crates/patinae-cmd/src/dynamic.rs +107 -0
  46. patinae-0.4.0/crates/patinae-cmd/src/error.rs +516 -0
  47. patinae-0.4.0/crates/patinae-cmd/src/executor.rs +337 -0
  48. patinae-0.4.0/crates/patinae-cmd/src/helpers.rs +326 -0
  49. patinae-0.4.0/crates/patinae-cmd/src/history.rs +186 -0
  50. patinae-0.4.0/crates/patinae-cmd/src/lib.rs +77 -0
  51. patinae-0.4.0/crates/patinae-cmd/src/parser.rs +992 -0
  52. patinae-0.4.0/crates/patinae-cmd/src/script.rs +161 -0
  53. patinae-0.4.0/crates/patinae-color/Cargo.toml +19 -0
  54. patinae-0.4.0/crates/patinae-color/src/color.rs +208 -0
  55. patinae-0.4.0/crates/patinae-color/src/constants.rs +163 -0
  56. patinae-0.4.0/crates/patinae-color/src/error.rs +19 -0
  57. patinae-0.4.0/crates/patinae-color/src/gradient.rs +213 -0
  58. patinae-0.4.0/crates/patinae-color/src/lib.rs +25 -0
  59. patinae-0.4.0/crates/patinae-color/src/named.rs +263 -0
  60. patinae-0.4.0/crates/patinae-color/src/resolver.rs +313 -0
  61. patinae-0.4.0/crates/patinae-color/src/scheme.rs +326 -0
  62. patinae-0.4.0/crates/patinae-color/src/theme.rs +143 -0
  63. patinae-0.4.0/crates/patinae-io/Cargo.toml +40 -0
  64. patinae-0.4.0/crates/patinae-io/src/bcif/decode.rs +624 -0
  65. patinae-0.4.0/crates/patinae-io/src/bcif/mod.rs +59 -0
  66. patinae-0.4.0/crates/patinae-io/src/bcif/parser.rs +485 -0
  67. patinae-0.4.0/crates/patinae-io/src/bcif/types.rs +290 -0
  68. patinae-0.4.0/crates/patinae-io/src/ccp4.rs +551 -0
  69. patinae-0.4.0/crates/patinae-io/src/cif/common.rs +124 -0
  70. patinae-0.4.0/crates/patinae-io/src/cif/lexer.rs +289 -0
  71. patinae-0.4.0/crates/patinae-io/src/cif/mod.rs +60 -0
  72. patinae-0.4.0/crates/patinae-io/src/cif/parser.rs +898 -0
  73. patinae-0.4.0/crates/patinae-io/src/cif/writer.rs +236 -0
  74. patinae-0.4.0/crates/patinae-io/src/compress.rs +140 -0
  75. patinae-0.4.0/crates/patinae-io/src/detect.rs +271 -0
  76. patinae-0.4.0/crates/patinae-io/src/error.rs +299 -0
  77. patinae-0.4.0/crates/patinae-io/src/fetch.rs +1129 -0
  78. patinae-0.4.0/crates/patinae-io/src/gro/mod.rs +58 -0
  79. patinae-0.4.0/crates/patinae-io/src/gro/parser.rs +480 -0
  80. patinae-0.4.0/crates/patinae-io/src/gro/writer.rs +261 -0
  81. patinae-0.4.0/crates/patinae-io/src/lib.rs +389 -0
  82. patinae-0.4.0/crates/patinae-io/src/mol2/mod.rs +36 -0
  83. patinae-0.4.0/crates/patinae-io/src/mol2/parser.rs +347 -0
  84. patinae-0.4.0/crates/patinae-io/src/mol2/writer.rs +222 -0
  85. patinae-0.4.0/crates/patinae-io/src/pdb/hybrid36.rs +238 -0
  86. patinae-0.4.0/crates/patinae-io/src/pdb/mod.rs +81 -0
  87. patinae-0.4.0/crates/patinae-io/src/pdb/parser.rs +669 -0
  88. patinae-0.4.0/crates/patinae-io/src/pdb/records.rs +301 -0
  89. patinae-0.4.0/crates/patinae-io/src/pdb/writer.rs +761 -0
  90. patinae-0.4.0/crates/patinae-io/src/sdf/mod.rs +36 -0
  91. patinae-0.4.0/crates/patinae-io/src/sdf/parser.rs +499 -0
  92. patinae-0.4.0/crates/patinae-io/src/sdf/writer.rs +208 -0
  93. patinae-0.4.0/crates/patinae-io/src/traits.rs +346 -0
  94. patinae-0.4.0/crates/patinae-io/src/traj/mod.rs +11 -0
  95. patinae-0.4.0/crates/patinae-io/src/traj/trr.rs +368 -0
  96. patinae-0.4.0/crates/patinae-io/src/traj/xtc.rs +61 -0
  97. patinae-0.4.0/crates/patinae-io/src/units.rs +9 -0
  98. patinae-0.4.0/crates/patinae-io/src/xyz/mod.rs +36 -0
  99. patinae-0.4.0/crates/patinae-io/src/xyz/parser.rs +230 -0
  100. patinae-0.4.0/crates/patinae-io/src/xyz/writer.rs +167 -0
  101. patinae-0.4.0/crates/patinae-mol/Cargo.toml +29 -0
  102. patinae-0.4.0/crates/patinae-mol/src/atom.rs +956 -0
  103. patinae-0.4.0/crates/patinae-mol/src/bond.rs +388 -0
  104. patinae-0.4.0/crates/patinae-mol/src/bond_utils.rs +135 -0
  105. patinae-0.4.0/crates/patinae-mol/src/bonding.rs +436 -0
  106. patinae-0.4.0/crates/patinae-mol/src/ccd.rs +252 -0
  107. patinae-0.4.0/crates/patinae-mol/src/chains.rs +249 -0
  108. patinae-0.4.0/crates/patinae-mol/src/coordset.rs +918 -0
  109. patinae-0.4.0/crates/patinae-mol/src/dirty.rs +72 -0
  110. patinae-0.4.0/crates/patinae-mol/src/dss.rs +211 -0
  111. patinae-0.4.0/crates/patinae-mol/src/element.rs +1396 -0
  112. patinae-0.4.0/crates/patinae-mol/src/error.rs +81 -0
  113. patinae-0.4.0/crates/patinae-mol/src/flags.rs +225 -0
  114. patinae-0.4.0/crates/patinae-mol/src/index.rs +195 -0
  115. patinae-0.4.0/crates/patinae-mol/src/iterator.rs +446 -0
  116. patinae-0.4.0/crates/patinae-mol/src/lib.rs +167 -0
  117. patinae-0.4.0/crates/patinae-mol/src/molecule.rs +1456 -0
  118. patinae-0.4.0/crates/patinae-mol/src/residue.rs +860 -0
  119. patinae-0.4.0/crates/patinae-mol/src/secondary.rs +227 -0
  120. patinae-0.4.0/crates/patinae-mol/src/spatial.rs +112 -0
  121. patinae-0.4.0/crates/patinae-mol/src/spectrum.rs +142 -0
  122. patinae-0.4.0/crates/patinae-mol/src/subchain.rs +1566 -0
  123. patinae-0.4.0/crates/patinae-render/Cargo.toml +42 -0
  124. patinae-0.4.0/crates/patinae-render/src/capture.rs +153 -0
  125. patinae-0.4.0/crates/patinae-render/src/compute/cartoon_extrude.rs +191 -0
  126. patinae-0.4.0/crates/patinae-render/src/compute/cull.rs +278 -0
  127. patinae-0.4.0/crates/patinae-render/src/compute/dot_build.rs +109 -0
  128. patinae-0.4.0/crates/patinae-render/src/compute/ellipsoid_build.rs +225 -0
  129. patinae-0.4.0/crates/patinae-render/src/compute/line_build.rs +108 -0
  130. patinae-0.4.0/crates/patinae-render/src/compute/mod.rs +156 -0
  131. patinae-0.4.0/crates/patinae-render/src/compute/sphere_build.rs +127 -0
  132. patinae-0.4.0/crates/patinae-render/src/compute/sphere_lod_count.rs +118 -0
  133. patinae-0.4.0/crates/patinae-render/src/compute/ssao.rs +405 -0
  134. patinae-0.4.0/crates/patinae-render/src/compute/stick_build.rs +115 -0
  135. patinae-0.4.0/crates/patinae-render/src/compute/stick_lod_count.rs +117 -0
  136. patinae-0.4.0/crates/patinae-render/src/compute/surface_density.rs +283 -0
  137. patinae-0.4.0/crates/patinae-render/src/compute/surface_mc.rs +299 -0
  138. patinae-0.4.0/crates/patinae-render/src/compute/surface_ses_morph.rs +201 -0
  139. patinae-0.4.0/crates/patinae-render/src/compute/surface_vdw_sdf.rs +243 -0
  140. patinae-0.4.0/crates/patinae-render/src/context.rs +108 -0
  141. patinae-0.4.0/crates/patinae-render/src/frame.rs +468 -0
  142. patinae-0.4.0/crates/patinae-render/src/geometry_export/analytic.rs +628 -0
  143. patinae-0.4.0/crates/patinae-render/src/geometry_export.rs +159 -0
  144. patinae-0.4.0/crates/patinae-render/src/lib.rs +55 -0
  145. patinae-0.4.0/crates/patinae-render/src/lut_buffer.rs +228 -0
  146. patinae-0.4.0/crates/patinae-render/src/map_contour.rs +177 -0
  147. patinae-0.4.0/crates/patinae-render/src/passes/atlas_ao.rs +132 -0
  148. patinae-0.4.0/crates/patinae-render/src/passes/lighting.rs +265 -0
  149. patinae-0.4.0/crates/patinae-render/src/passes/mod.rs +5 -0
  150. patinae-0.4.0/crates/patinae-render/src/passes/shadow.rs +55 -0
  151. patinae-0.4.0/crates/patinae-render/src/picking/mod.rs +209 -0
  152. patinae-0.4.0/crates/patinae-render/src/picking/pass.rs +418 -0
  153. patinae-0.4.0/crates/patinae-render/src/picking/readback.rs +288 -0
  154. patinae-0.4.0/crates/patinae-render/src/picking/reproject.rs +286 -0
  155. patinae-0.4.0/crates/patinae-render/src/pipelines/cartoon.rs +100 -0
  156. patinae-0.4.0/crates/patinae-render/src/pipelines/depth_prepass.rs +296 -0
  157. patinae-0.4.0/crates/patinae-render/src/pipelines/dot.rs +169 -0
  158. patinae-0.4.0/crates/patinae-render/src/pipelines/ellipsoid.rs +97 -0
  159. patinae-0.4.0/crates/patinae-render/src/pipelines/line.rs +41 -0
  160. patinae-0.4.0/crates/patinae-render/src/pipelines/map.rs +92 -0
  161. patinae-0.4.0/crates/patinae-render/src/pipelines/mesh.rs +114 -0
  162. patinae-0.4.0/crates/patinae-render/src/pipelines/mod.rs +258 -0
  163. patinae-0.4.0/crates/patinae-render/src/pipelines/sphere.rs +104 -0
  164. patinae-0.4.0/crates/patinae-render/src/pipelines/stick.rs +99 -0
  165. patinae-0.4.0/crates/patinae-render/src/pipelines/surface.rs +101 -0
  166. patinae-0.4.0/crates/patinae-render/src/pipelines/wboit_composite.rs +139 -0
  167. patinae-0.4.0/crates/patinae-render/src/postprocess/fxaa.rs +200 -0
  168. patinae-0.4.0/crates/patinae-render/src/postprocess/marking.rs +351 -0
  169. patinae-0.4.0/crates/patinae-render/src/postprocess/mod.rs +10 -0
  170. patinae-0.4.0/crates/patinae-render/src/postprocess/silhouette.rs +174 -0
  171. patinae-0.4.0/crates/patinae-render/src/postprocess/ssao_compose.rs +176 -0
  172. patinae-0.4.0/crates/patinae-render/src/render_input.rs +250 -0
  173. patinae-0.4.0/crates/patinae-render/src/render_state/compute_build_flow.rs +53 -0
  174. patinae-0.4.0/crates/patinae-render/src/render_state/construction.rs +383 -0
  175. patinae-0.4.0/crates/patinae-render/src/render_state/culling_flow.rs +193 -0
  176. patinae-0.4.0/crates/patinae-render/src/render_state/frame_flow.rs +187 -0
  177. patinae-0.4.0/crates/patinae-render/src/render_state/geometry_export_flow.rs +424 -0
  178. patinae-0.4.0/crates/patinae-render/src/render_state/math.rs +164 -0
  179. patinae-0.4.0/crates/patinae-render/src/render_state/mod.rs +21 -0
  180. patinae-0.4.0/crates/patinae-render/src/render_state/picking_flow.rs +536 -0
  181. patinae-0.4.0/crates/patinae-render/src/render_state/resize.rs +109 -0
  182. patinae-0.4.0/crates/patinae-render/src/render_state/screen_flow.rs +194 -0
  183. patinae-0.4.0/crates/patinae-render/src/render_state/settings.rs +249 -0
  184. patinae-0.4.0/crates/patinae-render/src/render_state/shadow_flow.rs +236 -0
  185. patinae-0.4.0/crates/patinae-render/src/render_state/state.rs +303 -0
  186. patinae-0.4.0/crates/patinae-render/src/render_state/sync_flow.rs +661 -0
  187. patinae-0.4.0/crates/patinae-render/src/render_state/visible_flow.rs +345 -0
  188. patinae-0.4.0/crates/patinae-render/src/representations/cartoon/backbone.rs +1361 -0
  189. patinae-0.4.0/crates/patinae-render/src/representations/cartoon/frame.rs +108 -0
  190. patinae-0.4.0/crates/patinae-render/src/representations/cartoon/mod.rs +814 -0
  191. patinae-0.4.0/crates/patinae-render/src/representations/cartoon/params.rs +292 -0
  192. patinae-0.4.0/crates/patinae-render/src/representations/cartoon/tessellation.rs +1209 -0
  193. patinae-0.4.0/crates/patinae-render/src/representations/cartoon/utils.rs +83 -0
  194. patinae-0.4.0/crates/patinae-render/src/representations/catalog.rs +270 -0
  195. patinae-0.4.0/crates/patinae-render/src/representations/cullable.rs +224 -0
  196. patinae-0.4.0/crates/patinae-render/src/representations/dot.rs +378 -0
  197. patinae-0.4.0/crates/patinae-render/src/representations/ellipsoid.rs +605 -0
  198. patinae-0.4.0/crates/patinae-render/src/representations/line.rs +256 -0
  199. patinae-0.4.0/crates/patinae-render/src/representations/mesh.rs +136 -0
  200. patinae-0.4.0/crates/patinae-render/src/representations/mod.rs +181 -0
  201. patinae-0.4.0/crates/patinae-render/src/representations/sphere.rs +751 -0
  202. patinae-0.4.0/crates/patinae-render/src/representations/stick.rs +658 -0
  203. patinae-0.4.0/crates/patinae-render/src/representations/surface/constants.rs +6 -0
  204. patinae-0.4.0/crates/patinae-render/src/representations/surface/mc_tables.rs +629 -0
  205. patinae-0.4.0/crates/patinae-render/src/representations/surface/mod.rs +1734 -0
  206. patinae-0.4.0/crates/patinae-render/src/representations/surface/oracle.rs +633 -0
  207. patinae-0.4.0/crates/patinae-render/src/representations/viewport_lod.rs +103 -0
  208. patinae-0.4.0/crates/patinae-render/src/scene_store/layout.rs +131 -0
  209. patinae-0.4.0/crates/patinae-render/src/scene_store/marker.rs +44 -0
  210. patinae-0.4.0/crates/patinae-render/src/scene_store/mod.rs +674 -0
  211. patinae-0.4.0/crates/patinae-render/src/scene_store/sync.rs +746 -0
  212. patinae-0.4.0/crates/patinae-render/src/shader_source.rs +208 -0
  213. patinae-0.4.0/crates/patinae-render/src/shaders/common/frame.wgsl +39 -0
  214. patinae-0.4.0/crates/patinae-render/src/shaders/common/lighting.wgsl +206 -0
  215. patinae-0.4.0/crates/patinae-render/src/shaders/common/octahedral.wgsl +49 -0
  216. patinae-0.4.0/crates/patinae-render/src/shaders/common/scene.wgsl +191 -0
  217. patinae-0.4.0/crates/patinae-render/src/shaders/common/wboit.wgsl +33 -0
  218. patinae-0.4.0/crates/patinae-render/src/shaders/compute/build_dot.wgsl +92 -0
  219. patinae-0.4.0/crates/patinae-render/src/shaders/compute/build_ellipsoid.wgsl +89 -0
  220. patinae-0.4.0/crates/patinae-render/src/shaders/compute/build_line.wgsl +167 -0
  221. patinae-0.4.0/crates/patinae-render/src/shaders/compute/build_sphere.wgsl +108 -0
  222. patinae-0.4.0/crates/patinae-render/src/shaders/compute/build_stick.wgsl +190 -0
  223. patinae-0.4.0/crates/patinae-render/src/shaders/compute/cartoon_extrude.wgsl +679 -0
  224. patinae-0.4.0/crates/patinae-render/src/shaders/compute/cull_common.wgsl +37 -0
  225. patinae-0.4.0/crates/patinae-render/src/shaders/compute/cull_dot.wgsl +37 -0
  226. patinae-0.4.0/crates/patinae-render/src/shaders/compute/cull_ellipsoid.wgsl +40 -0
  227. patinae-0.4.0/crates/patinae-render/src/shaders/compute/cull_instances.wgsl +35 -0
  228. patinae-0.4.0/crates/patinae-render/src/shaders/compute/cull_line.wgsl +42 -0
  229. patinae-0.4.0/crates/patinae-render/src/shaders/compute/cull_stick.wgsl +40 -0
  230. patinae-0.4.0/crates/patinae-render/src/shaders/compute/picking_reproject.wgsl +137 -0
  231. patinae-0.4.0/crates/patinae-render/src/shaders/compute/sphere_lod_count.wgsl +83 -0
  232. patinae-0.4.0/crates/patinae-render/src/shaders/compute/ssao.wgsl +158 -0
  233. patinae-0.4.0/crates/patinae-render/src/shaders/compute/ssao_blur.wgsl +66 -0
  234. patinae-0.4.0/crates/patinae-render/src/shaders/compute/stick_lod_count.wgsl +109 -0
  235. patinae-0.4.0/crates/patinae-render/src/shaders/compute/surface_density.wgsl +139 -0
  236. patinae-0.4.0/crates/patinae-render/src/shaders/compute/surface_mc.wgsl +296 -0
  237. patinae-0.4.0/crates/patinae-render/src/shaders/compute/surface_ses_morph.wgsl +104 -0
  238. patinae-0.4.0/crates/patinae-render/src/shaders/compute/surface_vdw_sdf.wgsl +126 -0
  239. patinae-0.4.0/crates/patinae-render/src/shaders/picking/common.wgsl +20 -0
  240. patinae-0.4.0/crates/patinae-render/src/shaders/picking/dot.wgsl +64 -0
  241. patinae-0.4.0/crates/patinae-render/src/shaders/picking/ellipsoid.wgsl +97 -0
  242. patinae-0.4.0/crates/patinae-render/src/shaders/picking/line.wgsl +51 -0
  243. patinae-0.4.0/crates/patinae-render/src/shaders/picking/sphere.wgsl +105 -0
  244. patinae-0.4.0/crates/patinae-render/src/shaders/picking/std_vertex.wgsl +35 -0
  245. patinae-0.4.0/crates/patinae-render/src/shaders/picking/stick.wgsl +164 -0
  246. patinae-0.4.0/crates/patinae-render/src/shaders/postprocess/fxaa.wgsl +96 -0
  247. patinae-0.4.0/crates/patinae-render/src/shaders/postprocess/marking.wgsl +52 -0
  248. patinae-0.4.0/crates/patinae-render/src/shaders/postprocess/marking_composite.wgsl +97 -0
  249. patinae-0.4.0/crates/patinae-render/src/shaders/postprocess/silhouette.wgsl +78 -0
  250. patinae-0.4.0/crates/patinae-render/src/shaders/postprocess/ssao_compose.wgsl +47 -0
  251. patinae-0.4.0/crates/patinae-render/src/shaders/postprocess/wboit_composite.wgsl +46 -0
  252. patinae-0.4.0/crates/patinae-render/src/shaders/representations/cartoon.wgsl +140 -0
  253. patinae-0.4.0/crates/patinae-render/src/shaders/representations/dot.wgsl +103 -0
  254. patinae-0.4.0/crates/patinae-render/src/shaders/representations/ellipsoid.wgsl +176 -0
  255. patinae-0.4.0/crates/patinae-render/src/shaders/representations/line.wgsl +90 -0
  256. patinae-0.4.0/crates/patinae-render/src/shaders/representations/map.wgsl +60 -0
  257. patinae-0.4.0/crates/patinae-render/src/shaders/representations/mesh.wgsl +111 -0
  258. patinae-0.4.0/crates/patinae-render/src/shaders/representations/sphere.wgsl +178 -0
  259. patinae-0.4.0/crates/patinae-render/src/shaders/representations/stick.wgsl +296 -0
  260. patinae-0.4.0/crates/patinae-render/src/shaders/representations/surface.wgsl +142 -0
  261. patinae-0.4.0/crates/patinae-render/src/stats.rs +620 -0
  262. patinae-0.4.0/crates/patinae-render/src/stats_history.rs +173 -0
  263. patinae-0.4.0/crates/patinae-render/src/uniforms.rs +111 -0
  264. patinae-0.4.0/crates/patinae-scene/Cargo.toml +41 -0
  265. patinae-0.4.0/crates/patinae-scene/src/bridge/cache.rs +112 -0
  266. patinae-0.4.0/crates/patinae-scene/src/bridge/colors.rs +325 -0
  267. patinae-0.4.0/crates/patinae-scene/src/bridge/frame.rs +223 -0
  268. patinae-0.4.0/crates/patinae-scene/src/bridge/markers.rs +380 -0
  269. patinae-0.4.0/crates/patinae-scene/src/bridge/mod.rs +39 -0
  270. patinae-0.4.0/crates/patinae-scene/src/bridge/objects.rs +177 -0
  271. patinae-0.4.0/crates/patinae-scene/src/bridge/picking.rs +53 -0
  272. patinae-0.4.0/crates/patinae-scene/src/camera.rs +929 -0
  273. patinae-0.4.0/crates/patinae-scene/src/error.rs +524 -0
  274. patinae-0.4.0/crates/patinae-scene/src/highlight_state.rs +265 -0
  275. patinae-0.4.0/crates/patinae-scene/src/input.rs +501 -0
  276. patinae-0.4.0/crates/patinae-scene/src/keybindings.rs +762 -0
  277. patinae-0.4.0/crates/patinae-scene/src/lib.rs +76 -0
  278. patinae-0.4.0/crates/patinae-scene/src/movie.rs +1399 -0
  279. patinae-0.4.0/crates/patinae-scene/src/object/group.rs +219 -0
  280. patinae-0.4.0/crates/patinae-scene/src/object/label.rs +378 -0
  281. patinae-0.4.0/crates/patinae-scene/src/object/map.rs +505 -0
  282. patinae-0.4.0/crates/patinae-scene/src/object/measurement.rs +693 -0
  283. patinae-0.4.0/crates/patinae-scene/src/object/mod.rs +1631 -0
  284. patinae-0.4.0/crates/patinae-scene/src/object/molecule.rs +614 -0
  285. patinae-0.4.0/crates/patinae-scene/src/pick.rs +424 -0
  286. patinae-0.4.0/crates/patinae-scene/src/quat.rs +358 -0
  287. patinae-0.4.0/crates/patinae-scene/src/render_target.rs +82 -0
  288. patinae-0.4.0/crates/patinae-scene/src/scene.rs +566 -0
  289. patinae-0.4.0/crates/patinae-scene/src/selection.rs +568 -0
  290. patinae-0.4.0/crates/patinae-scene/src/serde_helpers.rs +87 -0
  291. patinae-0.4.0/crates/patinae-scene/src/session.rs +447 -0
  292. patinae-0.4.0/crates/patinae-scene/src/session_adapter.rs +385 -0
  293. patinae-0.4.0/crates/patinae-scene/src/view.rs +332 -0
  294. patinae-0.4.0/crates/patinae-scene/src/viewer_trait.rs +669 -0
  295. patinae-0.4.0/crates/patinae-scene/tests/bridge_colors.rs +77 -0
  296. patinae-0.4.0/crates/patinae-scene/tests/bridge_markers.rs +454 -0
  297. patinae-0.4.0/crates/patinae-select/Cargo.toml +24 -0
  298. patinae-0.4.0/crates/patinae-select/src/ast.rs +541 -0
  299. patinae-0.4.0/crates/patinae-select/src/context.rs +394 -0
  300. patinae-0.4.0/crates/patinae-select/src/error.rs +139 -0
  301. patinae-0.4.0/crates/patinae-select/src/eval.rs +1261 -0
  302. patinae-0.4.0/crates/patinae-select/src/keywords.rs +593 -0
  303. patinae-0.4.0/crates/patinae-select/src/lexer.rs +597 -0
  304. patinae-0.4.0/crates/patinae-select/src/lib.rs +172 -0
  305. patinae-0.4.0/crates/patinae-select/src/parser.rs +1439 -0
  306. patinae-0.4.0/crates/patinae-select/src/pattern.rs +396 -0
  307. patinae-0.4.0/crates/patinae-select/src/result.rs +438 -0
  308. patinae-0.4.0/crates/patinae-session/Cargo.toml +26 -0
  309. patinae-0.4.0/crates/patinae-session/src/convert/mod.rs +10 -0
  310. patinae-0.4.0/crates/patinae-session/src/convert/pymol_colors.rs +99 -0
  311. patinae-0.4.0/crates/patinae-session/src/convert/to_session.rs +870 -0
  312. patinae-0.4.0/crates/patinae-session/src/lib.rs +59 -0
  313. patinae-0.4.0/crates/patinae-session/src/pickle/mod.rs +93 -0
  314. patinae-0.4.0/crates/patinae-session/src/pickle/reader.rs +740 -0
  315. patinae-0.4.0/crates/patinae-session/src/prs.rs +66 -0
  316. patinae-0.4.0/crates/patinae-session/src/pse/mod.rs +150 -0
  317. patinae-0.4.0/crates/patinae-session/src/pse/reader.rs +604 -0
  318. patinae-0.4.0/crates/patinae-settings/Cargo.toml +22 -0
  319. patinae-0.4.0/crates/patinae-settings/src/definitions.rs +1987 -0
  320. patinae-0.4.0/crates/patinae-settings/src/dynamic.rs +249 -0
  321. patinae-0.4.0/crates/patinae-settings/src/enums.rs +292 -0
  322. patinae-0.4.0/crates/patinae-settings/src/error.rs +58 -0
  323. patinae-0.4.0/crates/patinae-settings/src/groups/behavior.rs +21 -0
  324. patinae-0.4.0/crates/patinae-settings/src/groups/cartoon.rs +62 -0
  325. patinae-0.4.0/crates/patinae-settings/src/groups/dot.rs +21 -0
  326. patinae-0.4.0/crates/patinae-settings/src/groups/ellipsoid.rs +31 -0
  327. patinae-0.4.0/crates/patinae-settings/src/groups/fxaa.rs +17 -0
  328. patinae-0.4.0/crates/patinae-settings/src/groups/line.rs +13 -0
  329. patinae-0.4.0/crates/patinae-settings/src/groups/mesh.rs +29 -0
  330. patinae-0.4.0/crates/patinae-settings/src/groups/mod.rs +118 -0
  331. patinae-0.4.0/crates/patinae-settings/src/groups/movie.rs +16 -0
  332. patinae-0.4.0/crates/patinae-settings/src/groups/ribbon.rs +32 -0
  333. patinae-0.4.0/crates/patinae-settings/src/groups/shading.rs +232 -0
  334. patinae-0.4.0/crates/patinae-settings/src/groups/sphere.rs +21 -0
  335. patinae-0.4.0/crates/patinae-settings/src/groups/ssao.rs +34 -0
  336. patinae-0.4.0/crates/patinae-settings/src/groups/stick.rs +28 -0
  337. patinae-0.4.0/crates/patinae-settings/src/groups/surface.rs +44 -0
  338. patinae-0.4.0/crates/patinae-settings/src/groups/ui.rs +40 -0
  339. patinae-0.4.0/crates/patinae-settings/src/legacy.rs +320 -0
  340. patinae-0.4.0/crates/patinae-settings/src/lib.rs +121 -0
  341. patinae-0.4.0/crates/patinae-settings/src/macros.rs +806 -0
  342. patinae-0.4.0/crates/patinae-settings/src/overrides.rs +58 -0
  343. patinae-0.4.0/crates/patinae-settings/src/paths.rs +385 -0
  344. patinae-0.4.0/crates/patinae-settings/src/recent_files.rs +218 -0
  345. patinae-0.4.0/crates/patinae-settings/src/registry.rs +221 -0
  346. patinae-0.4.0/crates/patinae-settings/src/setting.rs +555 -0
  347. patinae-0.4.0/crates/patinae-settings/src/shading_mode.rs +35 -0
  348. patinae-0.4.0/crates/patinae-settings/src/side_effects.rs +35 -0
  349. patinae-0.4.0/crates/patinae-settings/src/store.rs +637 -0
  350. patinae-0.4.0/patinae/__init__.py +89 -0
  351. patinae-0.4.0/patinae/_cli.py +41 -0
  352. patinae-0.4.0/patinae/_cmd.py +417 -0
  353. patinae-0.4.0/patinae/widget/__init__.py +5 -0
  354. patinae-0.4.0/patinae/widget/_backend.py +180 -0
  355. patinae-0.4.0/patinae/widget/_frontend.js +263 -0
  356. patinae-0.4.0/patinae/widget/_viewer.py +80 -0
  357. patinae-0.4.0/pyproject.toml +55 -0
  358. patinae-0.4.0/python/Cargo.lock +3359 -0
  359. patinae-0.4.0/python/Cargo.toml +50 -0
  360. patinae-0.4.0/python/LICENSE +29 -0
  361. patinae-0.4.0/python/README.md +39 -0
  362. patinae-0.4.0/python/src/backend.rs +352 -0
  363. patinae-0.4.0/python/src/color/mod.rs +298 -0
  364. patinae-0.4.0/python/src/convert.rs +146 -0
  365. patinae-0.4.0/python/src/error.rs +70 -0
  366. patinae-0.4.0/python/src/io/mod.rs +227 -0
  367. patinae-0.4.0/python/src/iterate.rs +220 -0
  368. patinae-0.4.0/python/src/lib.rs +79 -0
  369. patinae-0.4.0/python/src/mol/atom.rs +290 -0
  370. patinae-0.4.0/python/src/mol/bond.rs +181 -0
  371. patinae-0.4.0/python/src/mol/coordset.rs +178 -0
  372. patinae-0.4.0/python/src/mol/element.rs +138 -0
  373. patinae-0.4.0/python/src/mol/mod.rs +32 -0
  374. patinae-0.4.0/python/src/mol/molecule.rs +330 -0
  375. patinae-0.4.0/python/src/selecting/mod.rs +263 -0
  376. patinae-0.4.0/python/src/settings/mod.rs +112 -0
@@ -0,0 +1,126 @@
1
+ [workspace]
2
+ resolver = "2"
3
+ members = [
4
+ "crates/patinae-settings",
5
+ "crates/patinae-color",
6
+ "crates/patinae-mol",
7
+ "crates/patinae-select",
8
+ "crates/patinae-io",
9
+ "crates/patinae-render",
10
+ "crates/patinae-scene",
11
+ "crates/patinae-cmd",
12
+ "crates/patinae-framework",
13
+ "crates/patinae-plugin",
14
+ "crates/patinae-plugin-host",
15
+ "crates/patinae-algos",
16
+ "crates/patinae-session",
17
+ "plugins/hello",
18
+ "plugins/ipc",
19
+ "plugins/python",
20
+ "plugins/raytracer",
21
+ "bench",
22
+ "patinae",
23
+ ]
24
+ default-members = [
25
+ "crates/patinae-settings",
26
+ "crates/patinae-color",
27
+ "crates/patinae-mol",
28
+ "crates/patinae-select",
29
+ "crates/patinae-io",
30
+ "crates/patinae-render",
31
+ "crates/patinae-scene",
32
+ "crates/patinae-cmd",
33
+ "crates/patinae-framework",
34
+ "crates/patinae-plugin",
35
+ "crates/patinae-plugin-host",
36
+ "crates/patinae-algos",
37
+ "crates/patinae-session",
38
+ "patinae",
39
+ ]
40
+ # python API requires maturin to build (use: cd python && maturin build)
41
+ # web viewer is built separately with wasm-pack (use: cd web && npm run build)
42
+ exclude = ["python", "web"]
43
+
44
+ [workspace.package]
45
+ version = "0.4.0"
46
+ edition = "2021"
47
+ authors = ["Pavel Yakovlev"]
48
+ license = "BSD-3-Clause"
49
+ repository = "https://github.com/zmactep/patinae"
50
+ homepage = "https://github.com/zmactep/patinae"
51
+ documentation = "https://github.com/zmactep/patinae"
52
+
53
+ [workspace.lints.rust]
54
+ unsafe_op_in_unsafe_fn = "warn"
55
+
56
+ [workspace.lints.clippy]
57
+ correctness = { level = "warn", priority = -1 }
58
+ suspicious = { level = "warn", priority = -1 }
59
+ style = { level = "warn", priority = -1 }
60
+ complexity = { level = "warn", priority = -1 }
61
+ perf = { level = "warn", priority = -1 }
62
+ undocumented_unsafe_blocks = "warn"
63
+
64
+ [workspace.dependencies]
65
+ # Internal crates
66
+ patinae-settings = { version = "0.4.0", path = "crates/patinae-settings" }
67
+ patinae-color = { version = "0.4.0", path = "crates/patinae-color" }
68
+ patinae-mol = { version = "0.4.0", path = "crates/patinae-mol" }
69
+ patinae-select = { version = "0.4.0", path = "crates/patinae-select" }
70
+ patinae-io = { version = "0.4.0", path = "crates/patinae-io" }
71
+ patinae-render = { version = "0.4.0", path = "crates/patinae-render", default-features = false }
72
+ patinae-scene = { version = "0.4.0", path = "crates/patinae-scene", default-features = false }
73
+ patinae-cmd = { version = "0.4.0", path = "crates/patinae-cmd", default-features = false }
74
+ patinae-algos = { version = "0.4.0", path = "crates/patinae-algos" }
75
+ patinae-session = { version = "0.4.0", path = "crates/patinae-session" }
76
+ patinae-framework = { version = "0.4.0", path = "crates/patinae-framework" }
77
+ patinae-plugin = { version = "0.4.0", path = "crates/patinae-plugin" }
78
+ patinae-plugin-host = { version = "0.4.0", path = "crates/patinae-plugin-host" }
79
+
80
+ # External dependencies
81
+ bitflags = { version = "2", features = ["serde"] }
82
+ lin_alg = { version = "1.1", features = ["computer_graphics"] }
83
+ wgpu = "28"
84
+ nom = "7"
85
+ thiserror = "2"
86
+ log = "0.4"
87
+ libloading = "0.8"
88
+ env_logger = "0.11"
89
+ bytemuck = { version = "1", features = ["derive"] }
90
+ ahash = { version = "0.8", features = ["serde"] }
91
+ smallvec = { version = "1", features = ["serde"] }
92
+ memmap2 = "0.9"
93
+ flate2 = "1"
94
+ rayon = "1"
95
+ bitvec = "1"
96
+ phf = { version = "0.11", features = ["macros"] }
97
+ image = { version = "0.25", default-features = false, features = ["png"] }
98
+ ab_glyph = "0.2"
99
+ shellexpand = "3"
100
+ dirs = "5"
101
+ serde = { version = "1", features = ["derive", "rc"] }
102
+ serde_json = "1"
103
+ rmp-serde = "1"
104
+ rustls = { version = "0.23", default-features = false, features = ["ring", "logging", "std", "tls12"] }
105
+ tokio = { version = "1", features = ["rt-multi-thread", "sync", "time"] }
106
+ webbrowser = "1.2"
107
+
108
+ # Slint integration (Patinae GUI)
109
+ slint = { version = "1.16", default-features = false, features = ["compat-1-2", "backend-winit", "renderer-femtovg-wgpu", "unstable-wgpu-28", "unstable-winit-030"] }
110
+
111
+ [profile.release]
112
+ lto = "fat"
113
+ codegen-units = 1
114
+ strip = true
115
+ opt-level = "s"
116
+
117
+ [profile.bench]
118
+ debug = 1
119
+
120
+ [profile.dev-fast]
121
+ inherits = "release"
122
+ opt-level = 1
123
+ lto = false
124
+ codegen-units = 256
125
+ incremental = true
126
+ strip = false
patinae-0.4.0/LICENSE ADDED
@@ -0,0 +1,29 @@
1
+ BSD 3-Clause License
2
+
3
+ Copyright (c) 2024-2026, Pavel Yakovlev
4
+ All rights reserved.
5
+
6
+ Redistribution and use in source and binary forms, with or without
7
+ modification, are permitted provided that the following conditions are met:
8
+
9
+ 1. Redistributions of source code must retain the above copyright notice, this
10
+ list of conditions and the following disclaimer.
11
+
12
+ 2. Redistributions in binary form must reproduce the above copyright notice,
13
+ this list of conditions and the following disclaimer in the documentation
14
+ and/or other materials provided with the distribution.
15
+
16
+ 3. Neither the name of the copyright holder nor the names of its
17
+ contributors may be used to endorse or promote products derived from
18
+ this software without specific prior written permission.
19
+
20
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
23
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
24
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
26
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
27
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
28
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
patinae-0.4.0/PKG-INFO ADDED
@@ -0,0 +1,76 @@
1
+ Metadata-Version: 2.4
2
+ Name: patinae
3
+ Version: 0.4.0
4
+ Classifier: Development Status :: 3 - Alpha
5
+ Classifier: Intended Audience :: Science/Research
6
+ Classifier: License :: OSI Approved :: BSD License
7
+ Classifier: Operating System :: OS Independent
8
+ Classifier: Programming Language :: Python :: 3
9
+ Classifier: Programming Language :: Python :: 3.8
10
+ Classifier: Programming Language :: Python :: 3.9
11
+ Classifier: Programming Language :: Python :: 3.10
12
+ Classifier: Programming Language :: Python :: 3.11
13
+ Classifier: Programming Language :: Python :: 3.12
14
+ Classifier: Programming Language :: Python :: Implementation :: CPython
15
+ Classifier: Programming Language :: Rust
16
+ Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
17
+ Classifier: Topic :: Scientific/Engineering :: Chemistry
18
+ Classifier: Topic :: Scientific/Engineering :: Visualization
19
+ Requires-Dist: pytest>=7.0 ; extra == 'dev'
20
+ Requires-Dist: numpy>=1.20 ; extra == 'dev'
21
+ Requires-Dist: numpy>=1.20 ; extra == 'numpy'
22
+ Requires-Dist: anywidget>=0.9 ; extra == 'widget'
23
+ Requires-Dist: traitlets>=5.0 ; extra == 'widget'
24
+ Provides-Extra: dev
25
+ Provides-Extra: numpy
26
+ Provides-Extra: widget
27
+ License-File: LICENSE
28
+ Summary: Patinae: Modern molecular visualization in Rust with WebGPU rendering
29
+ Keywords: patinae,molecular,visualization,chemistry,biology
30
+ Author: Pavel Yakovlev
31
+ License: BSD-3-Clause
32
+ Requires-Python: >=3.8
33
+ Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
34
+ Project-URL: Homepage, https://github.com/zmactep/patinae
35
+ Project-URL: Repository, https://github.com/zmactep/patinae
36
+
37
+ # Patinae Python Bindings
38
+
39
+ Python bindings for the Rust/WebGPU molecular visualization workspace.
40
+
41
+ ## Installation
42
+
43
+ ```bash
44
+ pip install patinae
45
+ ```
46
+
47
+ ## Jupyter Widget
48
+
49
+ The package includes an [anywidget](https://anywidget.dev/)-based widget for interactive visualization in notebooks. Works in JupyterLab, Jupyter Notebook, VS Code, and Google Colab.
50
+
51
+ ```bash
52
+ pip install patinae[widget]
53
+ ```
54
+
55
+ ```python
56
+ from patinae.widget import Viewer
57
+
58
+ view = Viewer()
59
+ view.show()
60
+ cmd = view.get_cmd()
61
+ cmd.fetch("1CRN")
62
+ cmd.show("cartoon")
63
+ cmd.color("green", "chain A")
64
+ ```
65
+
66
+ Features:
67
+ - **Fire-and-forget commands** — `cmd.fetch()`, `cmd.show()`, `cmd.color()`, etc.
68
+ - **Synchronous queries** — request/response channel for commands that return data
69
+ - **Local file loading** — load structures from the local filesystem into the browser viewer
70
+ - **Picking support** — optional click-to-select atoms (`Viewer(picking=True)`)
71
+ - **Configurable layout** — `width` and `height` parameters with sensible defaults
72
+
73
+ ## License
74
+
75
+ BSD-3-Clause
76
+
@@ -0,0 +1,39 @@
1
+ # Patinae Python Bindings
2
+
3
+ Python bindings for the Rust/WebGPU molecular visualization workspace.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ pip install patinae
9
+ ```
10
+
11
+ ## Jupyter Widget
12
+
13
+ The package includes an [anywidget](https://anywidget.dev/)-based widget for interactive visualization in notebooks. Works in JupyterLab, Jupyter Notebook, VS Code, and Google Colab.
14
+
15
+ ```bash
16
+ pip install patinae[widget]
17
+ ```
18
+
19
+ ```python
20
+ from patinae.widget import Viewer
21
+
22
+ view = Viewer()
23
+ view.show()
24
+ cmd = view.get_cmd()
25
+ cmd.fetch("1CRN")
26
+ cmd.show("cartoon")
27
+ cmd.color("green", "chain A")
28
+ ```
29
+
30
+ Features:
31
+ - **Fire-and-forget commands** — `cmd.fetch()`, `cmd.show()`, `cmd.color()`, etc.
32
+ - **Synchronous queries** — request/response channel for commands that return data
33
+ - **Local file loading** — load structures from the local filesystem into the browser viewer
34
+ - **Picking support** — optional click-to-select atoms (`Viewer(picking=True)`)
35
+ - **Configurable layout** — `width` and `height` parameters with sensible defaults
36
+
37
+ ## License
38
+
39
+ BSD-3-Clause
@@ -0,0 +1,25 @@
1
+ [package]
2
+ name = "patinae-algos"
3
+ version.workspace = true
4
+ edition.workspace = true
5
+ authors.workspace = true
6
+ license.workspace = true
7
+ repository.workspace = true
8
+ homepage.workspace = true
9
+ documentation.workspace = true
10
+ description = "Computational algorithms for Patinae (alignment, SVD, sequence alignment)"
11
+
12
+ [features]
13
+ default = []
14
+ parallel = ["dep:rayon"]
15
+
16
+ [dependencies]
17
+ lin_alg = { workspace = true }
18
+ thiserror = { workspace = true }
19
+ phf = { workspace = true }
20
+ bitflags = { workspace = true }
21
+ serde = { workspace = true }
22
+ rayon = { workspace = true, optional = true }
23
+
24
+ [lints]
25
+ workspace = true