biotite 0.41.1__tar.gz → 1.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of biotite might be problematic. Click here for more details.

Files changed (322) hide show
  1. {biotite-0.41.1 → biotite-1.0.0}/.gitignore +4 -5
  2. {biotite-0.41.1 → biotite-1.0.0}/CONTRIB.rst +3 -1
  3. {biotite-0.41.1 → biotite-1.0.0}/PKG-INFO +6 -6
  4. {biotite-0.41.1 → biotite-1.0.0}/README.rst +2 -3
  5. biotite-1.0.0/pyproject.toml +121 -0
  6. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/__init__.py +2 -3
  7. biotite-1.0.0/src/biotite/application/__init__.py +69 -0
  8. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/application/application.py +22 -11
  9. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/application/autodock/__init__.py +1 -1
  10. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/application/autodock/app.py +74 -79
  11. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/application/blast/__init__.py +1 -1
  12. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/application/blast/alignment.py +19 -10
  13. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/application/blast/webapp.py +92 -85
  14. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/application/clustalo/__init__.py +1 -1
  15. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/application/clustalo/app.py +46 -61
  16. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/application/dssp/__init__.py +1 -1
  17. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/application/dssp/app.py +8 -11
  18. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/application/localapp.py +62 -60
  19. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/application/mafft/__init__.py +1 -1
  20. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/application/mafft/app.py +16 -22
  21. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/application/msaapp.py +78 -89
  22. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/application/muscle/__init__.py +1 -1
  23. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/application/muscle/app3.py +50 -64
  24. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/application/muscle/app5.py +23 -31
  25. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/application/sra/__init__.py +1 -1
  26. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/application/sra/app.py +64 -68
  27. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/application/tantan/__init__.py +1 -1
  28. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/application/tantan/app.py +22 -45
  29. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/application/util.py +7 -9
  30. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/application/viennarna/rnaalifold.py +34 -28
  31. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/application/viennarna/rnafold.py +24 -39
  32. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/application/viennarna/rnaplot.py +36 -21
  33. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/application/viennarna/util.py +17 -12
  34. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/application/webapp.py +13 -14
  35. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/copyable.py +13 -13
  36. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/database/__init__.py +1 -1
  37. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/database/entrez/__init__.py +1 -1
  38. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/database/entrez/check.py +2 -3
  39. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/database/entrez/dbnames.py +7 -5
  40. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/database/entrez/download.py +55 -49
  41. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/database/entrez/key.py +1 -1
  42. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/database/entrez/query.py +62 -23
  43. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/database/error.py +2 -1
  44. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/database/pubchem/__init__.py +1 -1
  45. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/database/pubchem/download.py +43 -45
  46. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/database/pubchem/error.py +2 -2
  47. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/database/pubchem/query.py +34 -31
  48. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/database/pubchem/throttle.py +3 -4
  49. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/database/rcsb/__init__.py +1 -1
  50. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/database/rcsb/download.py +44 -52
  51. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/database/rcsb/query.py +85 -80
  52. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/database/uniprot/check.py +6 -3
  53. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/database/uniprot/download.py +6 -11
  54. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/database/uniprot/query.py +115 -31
  55. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/file.py +12 -31
  56. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/__init__.py +16 -5
  57. biotite-1.0.0/src/biotite/sequence/align/__init__.py +203 -0
  58. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/alignment.py +99 -90
  59. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/buckets.py +12 -10
  60. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/cigar.py +43 -52
  61. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/kmeralphabet.pyx +55 -51
  62. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/kmertable.pyx +3 -2
  63. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix.py +81 -82
  64. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/multiple.pyx +35 -35
  65. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/permutation.pyx +12 -4
  66. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/selector.pyx +52 -54
  67. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/statistics.py +32 -33
  68. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/alphabet.py +112 -126
  69. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/annotation.py +78 -77
  70. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/codon.py +90 -79
  71. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/graphics/alignment.py +184 -103
  72. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/graphics/colorschemes.py +10 -12
  73. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/graphics/dendrogram.py +79 -34
  74. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/graphics/features.py +133 -99
  75. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/graphics/logo.py +22 -28
  76. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/graphics/plasmid.py +229 -178
  77. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/io/fasta/__init__.py +1 -1
  78. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/io/fasta/convert.py +44 -33
  79. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/io/fasta/file.py +42 -55
  80. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/io/fastq/__init__.py +1 -1
  81. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/io/fastq/convert.py +11 -14
  82. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/io/fastq/file.py +68 -112
  83. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/io/genbank/__init__.py +2 -2
  84. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/io/genbank/annotation.py +12 -20
  85. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/io/genbank/file.py +74 -76
  86. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/io/genbank/metadata.py +74 -62
  87. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/io/genbank/sequence.py +13 -14
  88. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/io/general.py +39 -30
  89. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/io/gff/__init__.py +2 -2
  90. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/io/gff/convert.py +10 -15
  91. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/io/gff/file.py +81 -65
  92. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/phylo/__init__.py +1 -1
  93. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/profile.py +57 -28
  94. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/search.py +17 -15
  95. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/seqtypes.py +200 -164
  96. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/sequence.py +64 -64
  97. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/__init__.py +3 -3
  98. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/atoms.py +226 -240
  99. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/basepairs.py +260 -271
  100. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/bonds.pyx +88 -100
  101. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/box.py +67 -71
  102. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/chains.py +55 -39
  103. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/compare.py +32 -32
  104. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/density.py +13 -18
  105. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/dotbracket.py +20 -22
  106. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/error.py +10 -2
  107. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/filter.py +82 -77
  108. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/geometry.py +130 -119
  109. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/graphics/atoms.py +60 -43
  110. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/graphics/rna.py +81 -68
  111. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/hbond.py +112 -93
  112. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/info/__init__.py +0 -2
  113. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/info/atoms.py +10 -11
  114. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/info/bonds.py +41 -43
  115. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/info/ccd.py +21 -7
  116. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/info/groups.py +10 -15
  117. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/info/masses.py +5 -10
  118. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/info/misc.py +1 -1
  119. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/info/radii.py +20 -20
  120. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/info/standardize.py +15 -26
  121. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/integrity.py +18 -71
  122. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/io/__init__.py +3 -4
  123. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/io/dcd/__init__.py +1 -1
  124. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/io/dcd/file.py +22 -20
  125. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/io/general.py +47 -61
  126. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/io/gro/__init__.py +1 -1
  127. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/io/gro/file.py +73 -72
  128. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/io/mol/__init__.py +1 -1
  129. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/io/mol/convert.py +8 -11
  130. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/io/mol/ctab.py +37 -36
  131. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/io/mol/header.py +14 -10
  132. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/io/mol/mol.py +9 -53
  133. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/io/mol/sdf.py +47 -50
  134. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/io/netcdf/__init__.py +1 -1
  135. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/io/netcdf/file.py +24 -23
  136. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/io/pdb/__init__.py +1 -1
  137. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/io/pdb/convert.py +32 -20
  138. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/io/pdb/file.py +151 -172
  139. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/io/pdbqt/__init__.py +1 -1
  140. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/io/pdbqt/convert.py +17 -11
  141. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/io/pdbqt/file.py +128 -80
  142. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/io/pdbx/__init__.py +1 -2
  143. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/io/pdbx/bcif.py +36 -52
  144. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/io/pdbx/cif.py +64 -62
  145. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/io/pdbx/component.py +10 -16
  146. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/io/pdbx/convert.py +235 -246
  147. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/io/trajfile.py +76 -93
  148. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/io/trr/__init__.py +1 -1
  149. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/io/trr/file.py +12 -15
  150. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/io/xtc/__init__.py +1 -1
  151. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/io/xtc/file.py +11 -14
  152. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/mechanics.py +9 -11
  153. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/molecules.py +3 -4
  154. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/pseudoknots.py +53 -67
  155. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/rdf.py +23 -21
  156. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/repair.py +137 -86
  157. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/residues.py +26 -16
  158. biotite-0.41.1/src/biotite/structure/resutil.py → biotite-1.0.0/src/biotite/structure/segments.py +24 -23
  159. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/sequence.py +10 -11
  160. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/sse.py +100 -119
  161. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/superimpose.py +39 -77
  162. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/transform.py +97 -71
  163. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/util.py +11 -13
  164. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/version.py +2 -2
  165. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/visualize.py +69 -55
  166. biotite-0.41.1/.gitattributes +0 -3
  167. biotite-0.41.1/.github/workflows/test_and_deploy.yml +0 -290
  168. biotite-0.41.1/pyproject.toml +0 -72
  169. biotite-0.41.1/src/biotite/application/__init__.py +0 -43
  170. biotite-0.41.1/src/biotite/sequence/align/__init__.py +0 -49
  171. biotite-0.41.1/src/biotite/structure/io/ctab.py +0 -72
  172. biotite-0.41.1/src/biotite/structure/io/mmtf/__init__.py +0 -21
  173. biotite-0.41.1/src/biotite/structure/io/mmtf/assembly.py +0 -214
  174. biotite-0.41.1/src/biotite/structure/io/mmtf/convertarray.pyx +0 -341
  175. biotite-0.41.1/src/biotite/structure/io/mmtf/convertfile.pyx +0 -501
  176. biotite-0.41.1/src/biotite/structure/io/mmtf/decode.pyx +0 -152
  177. biotite-0.41.1/src/biotite/structure/io/mmtf/encode.pyx +0 -183
  178. biotite-0.41.1/src/biotite/structure/io/mmtf/file.py +0 -233
  179. biotite-0.41.1/src/biotite/structure/io/npz/__init__.py +0 -20
  180. biotite-0.41.1/src/biotite/structure/io/npz/file.py +0 -152
  181. biotite-0.41.1/src/biotite/structure/io/pdbx/legacy.py +0 -267
  182. biotite-0.41.1/src/biotite/structure/io/tng/__init__.py +0 -13
  183. biotite-0.41.1/src/biotite/structure/io/tng/file.py +0 -46
  184. biotite-0.41.1/src/biotite/temp.py +0 -86
  185. {biotite-0.41.1 → biotite-1.0.0}/LICENSE.rst +0 -0
  186. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/application/viennarna/__init__.py +0 -0
  187. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/database/uniprot/__init__.py +0 -0
  188. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/banded.pyx +0 -0
  189. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/kmersimilarity.pyx +0 -0
  190. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/localgapped.pyx +0 -0
  191. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/localungapped.pyx +0 -0
  192. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/BLOSUM100.mat +0 -0
  193. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/BLOSUM30.mat +0 -0
  194. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/BLOSUM35.mat +0 -0
  195. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/BLOSUM40.mat +0 -0
  196. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/BLOSUM45.mat +0 -0
  197. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/BLOSUM50.mat +0 -0
  198. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/BLOSUM50_13p.mat +0 -0
  199. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/BLOSUM50_14.3.mat +0 -0
  200. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/BLOSUM50_5.0.mat +0 -0
  201. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/BLOSUM55.mat +0 -0
  202. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/BLOSUM60.mat +0 -0
  203. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/BLOSUM62.mat +0 -0
  204. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/BLOSUM62_13p.mat +0 -0
  205. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/BLOSUM62_14.3.mat +0 -0
  206. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/BLOSUM62_5.0.mat +0 -0
  207. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/BLOSUM65.mat +0 -0
  208. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/BLOSUM70.mat +0 -0
  209. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/BLOSUM75.mat +0 -0
  210. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/BLOSUM80.mat +0 -0
  211. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/BLOSUM85.mat +0 -0
  212. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/BLOSUM90.mat +0 -0
  213. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/BLOSUMN.mat +0 -0
  214. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/CorBLOSUM49_5.0.mat +0 -0
  215. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/CorBLOSUM57_13p.mat +0 -0
  216. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/CorBLOSUM57_14.3.mat +0 -0
  217. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/CorBLOSUM61_5.0.mat +0 -0
  218. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/CorBLOSUM66_13p.mat +0 -0
  219. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/CorBLOSUM67_14.3.mat +0 -0
  220. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/DAYHOFF.mat +0 -0
  221. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/GONNET.mat +0 -0
  222. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/IDENTITY.mat +0 -0
  223. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/MATCH.mat +0 -0
  224. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/NUC.mat +0 -0
  225. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/PAM10.mat +0 -0
  226. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/PAM100.mat +0 -0
  227. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/PAM110.mat +0 -0
  228. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/PAM120.mat +0 -0
  229. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/PAM130.mat +0 -0
  230. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/PAM140.mat +0 -0
  231. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/PAM150.mat +0 -0
  232. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/PAM160.mat +0 -0
  233. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/PAM170.mat +0 -0
  234. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/PAM180.mat +0 -0
  235. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/PAM190.mat +0 -0
  236. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/PAM20.mat +0 -0
  237. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/PAM200.mat +0 -0
  238. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/PAM210.mat +0 -0
  239. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/PAM220.mat +0 -0
  240. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/PAM230.mat +0 -0
  241. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/PAM240.mat +0 -0
  242. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/PAM250.mat +0 -0
  243. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/PAM260.mat +0 -0
  244. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/PAM270.mat +0 -0
  245. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/PAM280.mat +0 -0
  246. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/PAM290.mat +0 -0
  247. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/PAM30.mat +0 -0
  248. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/PAM300.mat +0 -0
  249. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/PAM310.mat +0 -0
  250. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/PAM320.mat +0 -0
  251. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/PAM330.mat +0 -0
  252. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/PAM340.mat +0 -0
  253. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/PAM350.mat +0 -0
  254. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/PAM360.mat +0 -0
  255. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/PAM370.mat +0 -0
  256. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/PAM380.mat +0 -0
  257. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/PAM390.mat +0 -0
  258. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/PAM40.mat +0 -0
  259. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/PAM400.mat +0 -0
  260. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/PAM410.mat +0 -0
  261. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/PAM420.mat +0 -0
  262. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/PAM430.mat +0 -0
  263. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/PAM440.mat +0 -0
  264. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/PAM450.mat +0 -0
  265. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/PAM460.mat +0 -0
  266. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/PAM470.mat +0 -0
  267. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/PAM480.mat +0 -0
  268. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/PAM490.mat +0 -0
  269. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/PAM50.mat +0 -0
  270. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/PAM500.mat +0 -0
  271. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/PAM60.mat +0 -0
  272. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/PAM70.mat +0 -0
  273. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/PAM80.mat +0 -0
  274. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/PAM90.mat +0 -0
  275. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/RBLOSUM52_5.0.mat +0 -0
  276. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/RBLOSUM59_13p.mat +0 -0
  277. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/RBLOSUM59_14.3.mat +0 -0
  278. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/RBLOSUM64_5.0.mat +0 -0
  279. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/RBLOSUM69_13p.mat +0 -0
  280. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/matrix_data/RBLOSUM69_14.3.mat +0 -0
  281. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/pairwise.pyx +0 -0
  282. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/primes.txt +0 -0
  283. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/tracetable.pxd +0 -0
  284. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/align/tracetable.pyx +0 -0
  285. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/codec.pyx +0 -0
  286. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/codon_tables.txt +0 -0
  287. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/graphics/__init__.py +1 -1
  288. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/graphics/color_schemes/autumn.json +0 -0
  289. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/graphics/color_schemes/blossom.json +0 -0
  290. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/graphics/color_schemes/clustalx_dna.json +0 -0
  291. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/graphics/color_schemes/clustalx_protein.json +0 -0
  292. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/graphics/color_schemes/flower.json +0 -0
  293. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/graphics/color_schemes/jalview_buried.json +0 -0
  294. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/graphics/color_schemes/jalview_hydrophobicity.json +0 -0
  295. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/graphics/color_schemes/jalview_prop_helix.json +0 -0
  296. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/graphics/color_schemes/jalview_prop_strand.json +0 -0
  297. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/graphics/color_schemes/jalview_prop_turn.json +0 -0
  298. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/graphics/color_schemes/jalview_taylor.json +0 -0
  299. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/graphics/color_schemes/jalview_zappo.json +0 -0
  300. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/graphics/color_schemes/ocean.json +0 -0
  301. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/graphics/color_schemes/pb_flower.json +0 -0
  302. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/graphics/color_schemes/rainbow_dna.json +0 -0
  303. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/graphics/color_schemes/rainbow_protein.json +0 -0
  304. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/graphics/color_schemes/spring.json +0 -0
  305. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/graphics/color_schemes/sunset.json +0 -0
  306. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/graphics/color_schemes/wither.json +0 -0
  307. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/io/__init__.py +0 -0
  308. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/phylo/nj.pyx +0 -0
  309. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/phylo/tree.pyx +0 -0
  310. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/sequence/phylo/upgma.pyx +0 -0
  311. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/celllist.pyx +0 -0
  312. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/charges.pyx +0 -0
  313. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/graphics/__init__.py +0 -0
  314. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/info/atom_masses.json +0 -0
  315. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/info/ccd/README.rst +0 -0
  316. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/info/ccd/amino_acids.txt +0 -0
  317. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/info/ccd/carbohydrates.txt +0 -0
  318. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/info/ccd/components.bcif +0 -0
  319. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/info/ccd/nucleotides.txt +0 -0
  320. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/io/pdb/hybrid36.pyx +0 -0
  321. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/io/pdbx/encoding.pyx +0 -0
  322. {biotite-0.41.1 → biotite-1.0.0}/src/biotite/structure/sasa.pyx +0 -0
@@ -20,10 +20,9 @@ htmlcov
20
20
  # Ignore version file created by hatch-vcs
21
21
  /src/biotite/version.py
22
22
 
23
- # Ignore autogenerated API reference
23
+ # Ignore autogenerated documentation files
24
+ /doc/static/switcher.json
24
25
  /doc/apidoc
25
-
26
- # Ignore autogenerated example gallery
27
26
  /doc/examples/gallery
28
27
  /doc/examples/backreferences
29
28
  /doc/sg_execution_times.rst
@@ -40,7 +39,6 @@ htmlcov
40
39
  # Ignore all compiled python files (e.g. from running the unit tests)
41
40
  *.pyc
42
41
  *.pyo
43
- *.py{}
44
42
  *.py-e
45
43
 
46
44
  # Ignore potential directory created during install
@@ -58,8 +56,9 @@ biotite.egg-info
58
56
  *.code-workspace
59
57
  .vscode/*
60
58
 
61
- # Ignore fuse_hidden files on Linux systems
59
+ # Ignore hidden OS related files
62
60
  *.fuse_hidden*
61
+ .DS_Store
63
62
 
64
63
  # Ignore temp files created via Jupyter
65
64
  **/.ipynb_checkpoints/
@@ -4,6 +4,7 @@ CONTRIBUTORS
4
4
  - Fabrice Allain <https://github.com/f-allain>
5
5
  - Jacob Marcel Anter <https://github.com/JacobAnter>
6
6
  - Daniel Bauer <https://github.com/dnlbauer>
7
+ - Lukas Jarosch <https://github.com/ljarosch>
7
8
  - Patrick Kunzmann <https://github.com/padix-key>
8
9
  - Tom David Müller <https://github.com/t0mdavid-m>
9
10
  - Thomas Nevolianis <https://github.com/thomasnevolianis>
@@ -16,4 +17,5 @@ CONTRIBUTORS
16
17
  - Jincai Yang <https://github.com/0ut0fcontrol>
17
18
  - Tom Eulenfeld <https://github.com/trichter>
18
19
  - Benjamin E. Mayer <https://github.com/entropybit>
19
- - Natasha Jaffe <https://github.com/tcjaffe>
20
+ - Natasha Jaffe <https://github.com/tcjaffe>
21
+ - Tristen J. Mier <https://github.com/tjmier>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: biotite
3
- Version: 0.41.1
3
+ Version: 1.0.0
4
4
  Summary: A comprehensive library for computational molecular biology
5
5
  Project-URL: homepage, https://www.biotite-python.org
6
6
  Project-URL: repository, https://github.com/biotite-dev/biotite
@@ -37,7 +37,7 @@ License: BSD 3-Clause License
37
37
  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
38
38
  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
39
39
  License-File: LICENSE.rst
40
- Classifier: Development Status :: 4 - Beta
40
+ Classifier: Development Status :: 5 - Production/Stable
41
41
  Classifier: Intended Audience :: Developers
42
42
  Classifier: Intended Audience :: Science/Research
43
43
  Classifier: License :: OSI Approved :: BSD License
@@ -49,9 +49,10 @@ Classifier: Programming Language :: Python :: 3
49
49
  Classifier: Programming Language :: Python :: Implementation :: CPython
50
50
  Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
51
51
  Requires-Python: >=3.10
52
+ Requires-Dist: biotraj<2.0,>=1.0
52
53
  Requires-Dist: msgpack>=0.5.6
53
54
  Requires-Dist: networkx>=2.0
54
- Requires-Dist: numpy<2.0,>=1.14.5
55
+ Requires-Dist: numpy>=1.25
55
56
  Requires-Dist: requests>=2.12
56
57
  Provides-Extra: test
57
58
  Requires-Dist: pytest; extra == 'test'
@@ -80,7 +81,7 @@ This package bundles popular tasks in computational molecular biology
80
81
  into a uniform *Python* library.
81
82
  It can handle a major part of the typical workflow
82
83
  for sequence and biomolecular structure data:
83
-
84
+
84
85
  - Searching and fetching data from biological databases
85
86
  - Reading and writing popular sequence/structure file formats
86
87
  - Analyzing and editing sequence/structure data
@@ -116,7 +117,6 @@ Installation
116
117
 
117
118
  Some functions require some extra packages:
118
119
 
119
- - **mdtraj** - Required for trajetory file I/O operations.
120
120
  - **matplotlib** - Required for plotting purposes.
121
121
 
122
122
  *Biotite* can be installed via *Conda*...
@@ -184,4 +184,4 @@ Contribution
184
184
  Interested in improving *Biotite*?
185
185
  Have a look at the
186
186
  `contribution guidelines <https://www.biotite-python.org/contribute.html>`_.
187
- Feel free to join or community chat on `Discord <https://discord.gg/cUjDguF>`_.
187
+ Feel free to join our community chat on `Discord <https://discord.gg/cUjDguF>`_.
@@ -21,7 +21,7 @@ This package bundles popular tasks in computational molecular biology
21
21
  into a uniform *Python* library.
22
22
  It can handle a major part of the typical workflow
23
23
  for sequence and biomolecular structure data:
24
-
24
+
25
25
  - Searching and fetching data from biological databases
26
26
  - Reading and writing popular sequence/structure file formats
27
27
  - Analyzing and editing sequence/structure data
@@ -57,7 +57,6 @@ Installation
57
57
 
58
58
  Some functions require some extra packages:
59
59
 
60
- - **mdtraj** - Required for trajetory file I/O operations.
61
60
  - **matplotlib** - Required for plotting purposes.
62
61
 
63
62
  *Biotite* can be installed via *Conda*...
@@ -125,4 +124,4 @@ Contribution
125
124
  Interested in improving *Biotite*?
126
125
  Have a look at the
127
126
  `contribution guidelines <https://www.biotite-python.org/contribute.html>`_.
128
- Feel free to join or community chat on `Discord <https://discord.gg/cUjDguF>`_.
127
+ Feel free to join our community chat on `Discord <https://discord.gg/cUjDguF>`_.
@@ -0,0 +1,121 @@
1
+ [project]
2
+ name = "biotite"
3
+ requires-python = ">=3.10"
4
+ description = "A comprehensive library for computational molecular biology"
5
+ readme = "README.rst"
6
+ authors = [{name = "The Biotite contributors"}]
7
+ license = {"file" = "LICENSE.rst"}
8
+ classifiers = [
9
+ "Development Status :: 5 - Production/Stable",
10
+ "Intended Audience :: Developers",
11
+ "Intended Audience :: Science/Research",
12
+ "License :: OSI Approved :: BSD License",
13
+ "Natural Language :: English",
14
+ "Operating System :: POSIX :: Linux",
15
+ "Operating System :: MacOS",
16
+ "Operating System :: Microsoft :: Windows",
17
+ "Programming Language :: Python :: 3",
18
+ "Programming Language :: Python :: Implementation :: CPython",
19
+ "Topic :: Scientific/Engineering :: Bio-Informatics",
20
+ ]
21
+
22
+ dependencies = [
23
+ # Wheels compiled with NumPy 2.0 are backward compatible with NumPy 1.x
24
+ # https://numpy.org/devdocs/dev/depending_on_numpy.html#numpy-2-0-specific-advice
25
+ "numpy >= 1.25",
26
+ "biotraj >= 1.0, < 2.0",
27
+ "requests >= 2.12",
28
+ "msgpack >= 0.5.6",
29
+ "networkx >= 2.0",
30
+ "requests >= 2.12",
31
+ ]
32
+ dynamic = ["version"]
33
+
34
+ [project.optional-dependencies]
35
+ test = [
36
+ "pytest",
37
+ ]
38
+
39
+ [project.urls]
40
+ homepage = "https://www.biotite-python.org"
41
+ repository = "https://github.com/biotite-dev/biotite"
42
+ documentation = "https://www.biotite-python.org"
43
+
44
+ [tool.ruff.lint]
45
+ # pyflakes, pycodestyle isort and varibale naming
46
+ select = ["F", "E", "W", "I", "TID", "N"]
47
+ ignore = [
48
+ # In docstrings long lines are often intentional
49
+ # Most other ocassions are caught by the ruff formatter
50
+ "E501",
51
+ # Due to constants and class placeholders defined in functions
52
+ "N806",
53
+ ]
54
+
55
+ [tool.ruff.lint.per-file-ignores]
56
+ # Due to `* import` of BCIF encoding
57
+ "setup_ccd.py" = ["F405", "F403"]
58
+ # Due to imports after the PATH has been adjusted
59
+ "doc/conf.py" = ["E402"]
60
+ # Due to `from .module import *` imports in `__init__.py` modules
61
+ "__init__.py" = ["F403", "TID252"]
62
+ # Due to pymol scripts that are evaluated in other example scripts
63
+ "doc/examples/**/*_pymol.py" = ["F821"]
64
+
65
+ [tool.ruff.lint.flake8-tidy-imports]
66
+ ban-relative-imports = "all"
67
+
68
+ [tool.ruff.lint.isort]
69
+ # No separator lines between import sections
70
+ no-lines-before = [
71
+ "future",
72
+ "standard-library",
73
+ "third-party",
74
+ "first-party",
75
+ "local-folder",
76
+ ]
77
+ order-by-type = true
78
+ known-first-party = ["biotite"]
79
+
80
+ [tool.pytest.ini_options]
81
+ filterwarnings = [
82
+ # Appears in loading NetCDF trajectory files
83
+ "ignore:The 'netCDF4' Python package is not installed.",
84
+ "ignore:Input structure has no associated 'BondList'",
85
+ ]
86
+
87
+ [tool.hatch.build.targets.sdist]
88
+ exclude = [
89
+ "tests",
90
+ "doc",
91
+ "environment.yml",
92
+ "setup_ccd.py",
93
+ # .github, .gitignore, .gitattributes
94
+ ".git*",
95
+ ]
96
+
97
+ [tool.hatch.version]
98
+ source = "vcs"
99
+
100
+ [tool.hatch.build.hooks.vcs]
101
+ version-file = "src/biotite/version.py"
102
+
103
+ [tool.hatch.build.targets.wheel.hooks.cython]
104
+ dependencies = ["hatch-cython"]
105
+
106
+ [tool.hatch.build.targets.wheel.hooks.cython.options]
107
+ include_numpy = true
108
+ compile_py = false
109
+ define_macros = [
110
+ ["NPY_NO_DEPRECATED_API", "NPY_1_7_API_VERSION"],
111
+ ]
112
+
113
+ [build-system]
114
+ requires = [
115
+ "hatchling",
116
+ "hatch-vcs == 0.4",
117
+ "hatch-cython == 0.5",
118
+ "numpy >= 2.0",
119
+ "cython >= 3.0",
120
+ ]
121
+ build-backend = "hatchling.build"
@@ -12,8 +12,7 @@ modules.
12
12
  __name__ = "biotite"
13
13
  __author__ = "Patrick Kunzmann"
14
14
 
15
- from .file import *
16
- from .temp import *
17
15
  from .copyable import *
16
+ from .file import *
17
+ from .version import __version__, __version_tuple__ # noqa: F401
18
18
  from .visualize import *
19
- from .version import __version__, __version_tuple__
@@ -0,0 +1,69 @@
1
+ # This source code is part of the Biotite package and is distributed
2
+ # under the 3-Clause BSD License. Please see 'LICENSE.rst' for further
3
+ # information.
4
+
5
+ """
6
+ A subpackage that provides interfaces for external software in case
7
+ *Biotite*’s integrated functionality is not sufficient for your tasks.
8
+ These interfaces range from locally installed software
9
+ (e.g. MSA software) to web services (e.g. BLAST).
10
+ The interfaces are seamless:
11
+ Writing input files and reading output files is handled internally.
12
+ The user only needs to provide objects like a :class:`Sequence`
13
+ and will receive objects like an :class:`Alignment`.
14
+
15
+ Note that in order to use an interface in :mod:`biotite.application`
16
+ the corresponding software must be installed or the web server must be
17
+ reachable, respectively.
18
+ These programs are not shipped with the *Biotite* package.
19
+
20
+ Each application is represented by its respective :class:`Application`
21
+ class.
22
+ Each :class:`Application` instance has a life cycle, starting with its
23
+ creation and ending with the result extraction.
24
+ Each state in this life cycle is described by the value of the
25
+ *enum* :class:`AppState`, that each :class:`Application` contains:
26
+ Directly after its instantiation the app is in the ``CREATED`` state.
27
+ In this state further parameters can be set for the application run.
28
+ After the user calls the :func:`Application.start()` method, the app
29
+ state is set to ``RUNNING`` and the app performs the calculations.
30
+ When the application finishes the AppState
31
+ changes to ``FINISHED``.
32
+ The user can now call the :func:`Application.join()` method, concluding
33
+ the application in the ``JOINED`` state and making the results of the
34
+ application accessible.
35
+ Furthermore, this may trigger cleanup actions in some applications.
36
+ :func:`Application.join()` can even be called in the ``RUNNING`` state:
37
+ This will constantly check if the application has finished and will
38
+ directly go into the ``JOINED`` state as soon as the application reaches
39
+ the ``FINISHED`` state.
40
+ Calling the :func:`Application.cancel()` method while the application is
41
+ ``RUNNING`` or ``FINISHED`` leaves the application in the ``CANCELLED``
42
+ state.
43
+ This triggers cleanup, too, but there are no accessible results.
44
+ If a method is called in an unsuitable app state, an
45
+ :class:`AppStateError` is called.
46
+ At each state in the life cycle, :class:`Application` type specific
47
+ methods are called, as shown in the following diagram.
48
+
49
+ .. figure:: /static/assets/figures/app_lifecycle.png
50
+ :alt: Application life cycle
51
+ :scale: 50%
52
+
53
+ Taken from
54
+ `Kunzmann & Hamacher 2018 <https://doi.org/10.1186/s12859-018-2367-z>`_
55
+ licensed under `CC BY 4.0 <https://creativecommons.org/licenses/by/4.0/>`_.
56
+
57
+ The execution of an :class:`Application` can run in parallel:
58
+ The time between starting the run and collecting the results can be
59
+ used to run other code, similar to the *Python* :class:`Thread` or
60
+ :class:`Process` classes.
61
+ """
62
+
63
+ __name__ = "biotite.application"
64
+ __author__ = "Patrick Kunzmann"
65
+
66
+ from .application import *
67
+ from .localapp import *
68
+ from .msaapp import *
69
+ from .webapp import *
@@ -4,19 +4,26 @@
4
4
 
5
5
  __name__ = "biotite.application"
6
6
  __author__ = "Patrick Kunzmann"
7
- __all__ = ["Application", "AppStateError", "TimeoutError", "VersionError",
8
- "AppState", "requires_state"]
7
+ __all__ = [
8
+ "Application",
9
+ "AppStateError",
10
+ "TimeoutError",
11
+ "VersionError",
12
+ "AppState",
13
+ "requires_state",
14
+ ]
9
15
 
10
16
  import abc
11
17
  import time
12
- from functools import wraps
13
18
  from enum import Flag, auto
19
+ from functools import wraps
14
20
 
15
21
 
16
22
  class AppState(Flag):
17
23
  """
18
24
  This enum type represents the app states of an application.
19
25
  """
26
+
20
27
  CREATED = auto()
21
28
  RUNNING = auto()
22
29
  FINISHED = auto()
@@ -45,6 +52,7 @@ def requires_state(app_state):
45
52
  ... def function(self):
46
53
  ... pass
47
54
  """
55
+
48
56
  def decorator(func):
49
57
  @wraps(func)
50
58
  def wrapper(*args, **kwargs):
@@ -52,16 +60,16 @@ def requires_state(app_state):
52
60
  try:
53
61
  instance = args[0]
54
62
  except IndexError:
55
- raise TypeError(
56
- "This method must be called from a class instance"
57
- )
63
+ raise TypeError("This method must be called from a class instance")
58
64
  if not instance._state & app_state:
59
65
  raise AppStateError(
60
66
  f"The application is in {instance.get_app_state()} state, "
61
67
  f"but {app_state} state is required"
62
68
  )
63
69
  return func(*args, **kwargs)
70
+
64
71
  return wrapper
72
+
65
73
  return decorator
66
74
 
67
75
 
@@ -74,7 +82,8 @@ class Application(metaclass=abc.ABCMeta):
74
82
 
75
83
  Every :class:`Application` runs through a different app states
76
84
  (instances of enum :class:`AppState`) from its creation until its
77
- termination:
85
+ termination.
86
+
78
87
  Directly after its instantiation the app is in the *CREATED* state.
79
88
  In this state further parameters can be set for the application run.
80
89
  After the user calls the :func:`start()` method, the app state is
@@ -145,11 +154,10 @@ class Application(metaclass=abc.ABCMeta):
145
154
  """
146
155
  time.sleep(self.wait_interval())
147
156
  while self.get_app_state() != AppState.FINISHED:
148
- if timeout is not None and time.time()-self._start_time > timeout:
157
+ if timeout is not None and time.time() - self._start_time > timeout:
149
158
  self.cancel()
150
159
  raise TimeoutError(
151
- f"The application expired its timeout "
152
- f"({timeout:.1f} s)"
160
+ f"The application expired its timeout " f"({timeout:.1f} s)"
153
161
  )
154
162
  else:
155
163
  time.sleep(self.wait_interval())
@@ -248,6 +256,7 @@ class AppStateError(Exception):
248
256
  """
249
257
  Indicate that the application lifecycle was violated.
250
258
  """
259
+
251
260
  pass
252
261
 
253
262
 
@@ -255,6 +264,7 @@ class TimeoutError(Exception):
255
264
  """
256
265
  Indicate that the application's timeout expired.
257
266
  """
267
+
258
268
  pass
259
269
 
260
270
 
@@ -262,4 +272,5 @@ class VersionError(Exception):
262
272
  """
263
273
  Indicate that the application's version is invalid.
264
274
  """
265
- pass
275
+
276
+ pass
@@ -9,4 +9,4 @@ A subpackage for static ligand docking with *Autodock*.
9
9
  __name__ = "biotite.application.autodock"
10
10
  __author__ = "Patrick Kunzmann"
11
11
 
12
- from .app import *
12
+ from .app import *