biotite 0.40.0__tar.gz → 0.41.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 (332) hide show
  1. {biotite-0.40.0/src/biotite.egg-info → biotite-0.41.0}/PKG-INFO +2 -2
  2. {biotite-0.40.0 → biotite-0.41.0}/pyproject.toml +1 -1
  3. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/__init__.py +1 -1
  4. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/database/pubchem/download.py +23 -23
  5. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/database/pubchem/query.py +7 -7
  6. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/file.py +17 -9
  7. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/banded.c +119 -119
  8. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/cigar.py +60 -15
  9. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/kmeralphabet.c +119 -119
  10. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/kmersimilarity.c +119 -119
  11. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/kmertable.cpp +119 -119
  12. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/localgapped.c +119 -119
  13. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/localungapped.c +119 -119
  14. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/multiple.c +119 -119
  15. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/pairwise.c +119 -119
  16. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/permutation.c +119 -119
  17. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/selector.c +119 -119
  18. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/tracetable.c +119 -119
  19. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/annotation.py +2 -2
  20. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/codec.c +119 -119
  21. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/io/fasta/convert.py +27 -24
  22. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/phylo/nj.c +119 -119
  23. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/phylo/tree.c +119 -119
  24. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/phylo/upgma.c +119 -119
  25. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/__init__.py +2 -0
  26. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/bonds.c +1124 -915
  27. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/celllist.c +119 -119
  28. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/charges.c +119 -119
  29. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/dotbracket.py +2 -0
  30. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/info/atoms.py +6 -1
  31. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/info/bonds.py +1 -1
  32. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/info/ccd/amino_acids.txt +17 -0
  33. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/info/ccd/carbohydrates.txt +2 -0
  34. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/info/ccd/components.bcif +0 -0
  35. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/info/ccd/nucleotides.txt +1 -0
  36. biotite-0.41.0/src/biotite/structure/info/misc.py +144 -0
  37. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/integrity.py +19 -70
  38. biotite-0.41.0/src/biotite/structure/io/ctab.py +72 -0
  39. biotite-0.41.0/src/biotite/structure/io/general.py +257 -0
  40. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/io/gro/file.py +16 -16
  41. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/io/mmtf/convertarray.c +119 -119
  42. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/io/mmtf/convertfile.c +119 -119
  43. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/io/mmtf/decode.c +119 -119
  44. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/io/mmtf/encode.c +119 -119
  45. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/io/mol/__init__.py +4 -2
  46. biotite-0.41.0/src/biotite/structure/io/mol/convert.py +115 -0
  47. biotite-0.41.0/src/biotite/structure/io/mol/ctab.py +414 -0
  48. biotite-0.41.0/src/biotite/structure/io/mol/header.py +116 -0
  49. biotite-0.40.0/src/biotite/structure/io/mol/file.py → biotite-0.41.0/src/biotite/structure/io/mol/mol.py +69 -82
  50. biotite-0.41.0/src/biotite/structure/io/mol/sdf.py +909 -0
  51. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/io/pdb/file.py +84 -31
  52. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/io/pdbx/__init__.py +0 -1
  53. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/io/pdbx/bcif.py +2 -3
  54. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/io/pdbx/cif.py +9 -5
  55. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/io/pdbx/component.py +4 -1
  56. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/io/pdbx/convert.py +203 -79
  57. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/io/pdbx/encoding.c +119 -119
  58. biotite-0.41.0/src/biotite/structure/repair.py +253 -0
  59. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/sasa.c +119 -119
  60. biotite-0.41.0/src/biotite/structure/sequence.py +112 -0
  61. biotite-0.41.0/src/biotite/structure/superimpose.py +727 -0
  62. {biotite-0.40.0 → biotite-0.41.0/src/biotite.egg-info}/PKG-INFO +2 -2
  63. {biotite-0.40.0 → biotite-0.41.0}/src/biotite.egg-info/SOURCES.txt +6 -2
  64. {biotite-0.40.0 → biotite-0.41.0}/tests/test_doctest.py +1 -1
  65. biotite-0.40.0/src/biotite/structure/info/misc.py +0 -80
  66. biotite-0.40.0/src/biotite/structure/io/ctab.py +0 -166
  67. biotite-0.40.0/src/biotite/structure/io/general.py +0 -265
  68. biotite-0.40.0/src/biotite/structure/io/mol/convert.py +0 -51
  69. biotite-0.40.0/src/biotite/structure/io/pdbx/error.py +0 -14
  70. biotite-0.40.0/src/biotite/structure/superimpose.py +0 -268
  71. {biotite-0.40.0 → biotite-0.41.0}/LICENSE.rst +0 -0
  72. {biotite-0.40.0 → biotite-0.41.0}/MANIFEST.in +0 -0
  73. {biotite-0.40.0 → biotite-0.41.0}/README.rst +0 -0
  74. {biotite-0.40.0 → biotite-0.41.0}/setup.cfg +0 -0
  75. {biotite-0.40.0 → biotite-0.41.0}/setup.py +0 -0
  76. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/application/__init__.py +0 -0
  77. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/application/application.py +0 -0
  78. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/application/autodock/__init__.py +0 -0
  79. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/application/autodock/app.py +0 -0
  80. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/application/blast/__init__.py +0 -0
  81. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/application/blast/alignment.py +0 -0
  82. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/application/blast/webapp.py +0 -0
  83. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/application/clustalo/__init__.py +0 -0
  84. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/application/clustalo/app.py +0 -0
  85. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/application/dssp/__init__.py +0 -0
  86. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/application/dssp/app.py +0 -0
  87. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/application/localapp.py +0 -0
  88. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/application/mafft/__init__.py +0 -0
  89. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/application/mafft/app.py +0 -0
  90. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/application/msaapp.py +0 -0
  91. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/application/muscle/__init__.py +0 -0
  92. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/application/muscle/app3.py +0 -0
  93. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/application/muscle/app5.py +0 -0
  94. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/application/sra/__init__.py +0 -0
  95. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/application/sra/app.py +0 -0
  96. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/application/tantan/__init__.py +0 -0
  97. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/application/tantan/app.py +0 -0
  98. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/application/util.py +0 -0
  99. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/application/viennarna/__init__.py +0 -0
  100. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/application/viennarna/rnaalifold.py +0 -0
  101. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/application/viennarna/rnafold.py +0 -0
  102. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/application/viennarna/rnaplot.py +0 -0
  103. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/application/viennarna/util.py +0 -0
  104. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/application/webapp.py +0 -0
  105. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/copyable.py +0 -0
  106. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/database/__init__.py +0 -0
  107. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/database/entrez/__init__.py +0 -0
  108. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/database/entrez/check.py +0 -0
  109. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/database/entrez/dbnames.py +0 -0
  110. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/database/entrez/download.py +0 -0
  111. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/database/entrez/key.py +0 -0
  112. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/database/entrez/query.py +0 -0
  113. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/database/error.py +0 -0
  114. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/database/pubchem/__init__.py +0 -0
  115. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/database/pubchem/error.py +0 -0
  116. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/database/pubchem/throttle.py +0 -0
  117. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/database/rcsb/__init__.py +0 -0
  118. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/database/rcsb/download.py +0 -0
  119. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/database/rcsb/query.py +0 -0
  120. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/database/uniprot/__init__.py +0 -0
  121. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/database/uniprot/check.py +0 -0
  122. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/database/uniprot/download.py +0 -0
  123. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/database/uniprot/query.py +0 -0
  124. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/__init__.py +0 -0
  125. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/__init__.py +0 -0
  126. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/alignment.py +0 -0
  127. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/buckets.py +0 -0
  128. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix.py +0 -0
  129. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/BLOSUM100.mat +0 -0
  130. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/BLOSUM30.mat +0 -0
  131. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/BLOSUM35.mat +0 -0
  132. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/BLOSUM40.mat +0 -0
  133. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/BLOSUM45.mat +0 -0
  134. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/BLOSUM50.mat +0 -0
  135. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/BLOSUM50_13p.mat +0 -0
  136. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/BLOSUM50_14.3.mat +0 -0
  137. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/BLOSUM50_5.0.mat +0 -0
  138. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/BLOSUM55.mat +0 -0
  139. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/BLOSUM60.mat +0 -0
  140. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/BLOSUM62.mat +0 -0
  141. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/BLOSUM62_13p.mat +0 -0
  142. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/BLOSUM62_14.3.mat +0 -0
  143. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/BLOSUM62_5.0.mat +0 -0
  144. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/BLOSUM65.mat +0 -0
  145. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/BLOSUM70.mat +0 -0
  146. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/BLOSUM75.mat +0 -0
  147. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/BLOSUM80.mat +0 -0
  148. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/BLOSUM85.mat +0 -0
  149. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/BLOSUM90.mat +0 -0
  150. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/BLOSUMN.mat +0 -0
  151. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/CorBLOSUM49_5.0.mat +0 -0
  152. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/CorBLOSUM57_13p.mat +0 -0
  153. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/CorBLOSUM57_14.3.mat +0 -0
  154. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/CorBLOSUM61_5.0.mat +0 -0
  155. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/CorBLOSUM66_13p.mat +0 -0
  156. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/CorBLOSUM67_14.3.mat +0 -0
  157. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/DAYHOFF.mat +0 -0
  158. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/GONNET.mat +0 -0
  159. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/IDENTITY.mat +0 -0
  160. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/MATCH.mat +0 -0
  161. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/NUC.mat +0 -0
  162. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/PAM10.mat +0 -0
  163. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/PAM100.mat +0 -0
  164. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/PAM110.mat +0 -0
  165. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/PAM120.mat +0 -0
  166. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/PAM130.mat +0 -0
  167. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/PAM140.mat +0 -0
  168. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/PAM150.mat +0 -0
  169. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/PAM160.mat +0 -0
  170. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/PAM170.mat +0 -0
  171. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/PAM180.mat +0 -0
  172. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/PAM190.mat +0 -0
  173. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/PAM20.mat +0 -0
  174. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/PAM200.mat +0 -0
  175. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/PAM210.mat +0 -0
  176. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/PAM220.mat +0 -0
  177. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/PAM230.mat +0 -0
  178. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/PAM240.mat +0 -0
  179. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/PAM250.mat +0 -0
  180. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/PAM260.mat +0 -0
  181. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/PAM270.mat +0 -0
  182. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/PAM280.mat +0 -0
  183. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/PAM290.mat +0 -0
  184. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/PAM30.mat +0 -0
  185. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/PAM300.mat +0 -0
  186. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/PAM310.mat +0 -0
  187. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/PAM320.mat +0 -0
  188. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/PAM330.mat +0 -0
  189. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/PAM340.mat +0 -0
  190. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/PAM350.mat +0 -0
  191. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/PAM360.mat +0 -0
  192. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/PAM370.mat +0 -0
  193. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/PAM380.mat +0 -0
  194. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/PAM390.mat +0 -0
  195. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/PAM40.mat +0 -0
  196. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/PAM400.mat +0 -0
  197. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/PAM410.mat +0 -0
  198. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/PAM420.mat +0 -0
  199. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/PAM430.mat +0 -0
  200. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/PAM440.mat +0 -0
  201. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/PAM450.mat +0 -0
  202. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/PAM460.mat +0 -0
  203. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/PAM470.mat +0 -0
  204. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/PAM480.mat +0 -0
  205. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/PAM490.mat +0 -0
  206. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/PAM50.mat +0 -0
  207. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/PAM500.mat +0 -0
  208. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/PAM60.mat +0 -0
  209. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/PAM70.mat +0 -0
  210. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/PAM80.mat +0 -0
  211. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/PAM90.mat +0 -0
  212. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/RBLOSUM52_5.0.mat +0 -0
  213. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/RBLOSUM59_13p.mat +0 -0
  214. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/RBLOSUM59_14.3.mat +0 -0
  215. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/RBLOSUM64_5.0.mat +0 -0
  216. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/RBLOSUM69_13p.mat +0 -0
  217. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/matrix_data/RBLOSUM69_14.3.mat +0 -0
  218. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/primes.txt +0 -0
  219. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/align/statistics.py +0 -0
  220. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/alphabet.py +0 -0
  221. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/codon.py +0 -0
  222. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/codon_tables.txt +0 -0
  223. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/graphics/__init__.py +0 -0
  224. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/graphics/alignment.py +0 -0
  225. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/graphics/color_schemes/autumn.json +0 -0
  226. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/graphics/color_schemes/blossom.json +0 -0
  227. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/graphics/color_schemes/clustalx_dna.json +0 -0
  228. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/graphics/color_schemes/clustalx_protein.json +0 -0
  229. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/graphics/color_schemes/flower.json +0 -0
  230. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/graphics/color_schemes/jalview_buried.json +0 -0
  231. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/graphics/color_schemes/jalview_hydrophobicity.json +0 -0
  232. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/graphics/color_schemes/jalview_prop_helix.json +0 -0
  233. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/graphics/color_schemes/jalview_prop_strand.json +0 -0
  234. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/graphics/color_schemes/jalview_prop_turn.json +0 -0
  235. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/graphics/color_schemes/jalview_taylor.json +0 -0
  236. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/graphics/color_schemes/jalview_zappo.json +0 -0
  237. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/graphics/color_schemes/ocean.json +0 -0
  238. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/graphics/color_schemes/pb_flower.json +0 -0
  239. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/graphics/color_schemes/rainbow_dna.json +0 -0
  240. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/graphics/color_schemes/rainbow_protein.json +0 -0
  241. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/graphics/color_schemes/spring.json +0 -0
  242. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/graphics/color_schemes/sunset.json +0 -0
  243. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/graphics/color_schemes/wither.json +0 -0
  244. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/graphics/colorschemes.py +0 -0
  245. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/graphics/dendrogram.py +0 -0
  246. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/graphics/features.py +0 -0
  247. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/graphics/logo.py +0 -0
  248. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/graphics/plasmid.py +0 -0
  249. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/io/__init__.py +0 -0
  250. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/io/fasta/__init__.py +0 -0
  251. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/io/fasta/file.py +0 -0
  252. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/io/fastq/__init__.py +0 -0
  253. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/io/fastq/convert.py +0 -0
  254. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/io/fastq/file.py +0 -0
  255. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/io/genbank/__init__.py +0 -0
  256. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/io/genbank/annotation.py +0 -0
  257. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/io/genbank/file.py +0 -0
  258. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/io/genbank/metadata.py +0 -0
  259. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/io/genbank/sequence.py +0 -0
  260. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/io/general.py +0 -0
  261. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/io/gff/__init__.py +0 -0
  262. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/io/gff/convert.py +0 -0
  263. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/io/gff/file.py +0 -0
  264. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/phylo/__init__.py +0 -0
  265. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/profile.py +0 -0
  266. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/search.py +0 -0
  267. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/seqtypes.py +0 -0
  268. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/sequence/sequence.py +0 -0
  269. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/atoms.py +0 -0
  270. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/basepairs.py +0 -0
  271. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/box.py +0 -0
  272. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/chains.py +0 -0
  273. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/compare.py +0 -0
  274. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/density.py +0 -0
  275. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/error.py +0 -0
  276. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/filter.py +0 -0
  277. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/geometry.py +0 -0
  278. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/graphics/__init__.py +0 -0
  279. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/graphics/atoms.py +0 -0
  280. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/graphics/rna.py +0 -0
  281. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/hbond.py +0 -0
  282. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/info/__init__.py +0 -0
  283. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/info/atom_masses.json +0 -0
  284. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/info/ccd/README.rst +0 -0
  285. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/info/ccd.py +0 -0
  286. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/info/groups.py +0 -0
  287. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/info/masses.py +0 -0
  288. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/info/radii.py +0 -0
  289. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/info/standardize.py +0 -0
  290. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/io/__init__.py +0 -0
  291. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/io/dcd/__init__.py +0 -0
  292. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/io/dcd/file.py +0 -0
  293. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/io/gro/__init__.py +0 -0
  294. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/io/mmtf/__init__.py +0 -0
  295. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/io/mmtf/assembly.py +0 -0
  296. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/io/mmtf/file.py +0 -0
  297. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/io/netcdf/__init__.py +0 -0
  298. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/io/netcdf/file.py +0 -0
  299. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/io/npz/__init__.py +0 -0
  300. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/io/npz/file.py +0 -0
  301. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/io/pdb/__init__.py +0 -0
  302. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/io/pdb/convert.py +0 -0
  303. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/io/pdb/hybrid36.c +0 -0
  304. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/io/pdbqt/__init__.py +0 -0
  305. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/io/pdbqt/convert.py +0 -0
  306. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/io/pdbqt/file.py +0 -0
  307. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/io/pdbx/legacy.py +0 -0
  308. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/io/tng/__init__.py +0 -0
  309. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/io/tng/file.py +0 -0
  310. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/io/trajfile.py +0 -0
  311. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/io/trr/__init__.py +0 -0
  312. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/io/trr/file.py +0 -0
  313. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/io/xtc/__init__.py +0 -0
  314. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/io/xtc/file.py +0 -0
  315. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/mechanics.py +0 -0
  316. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/molecules.py +0 -0
  317. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/pseudoknots.py +0 -0
  318. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/rdf.py +0 -0
  319. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/residues.py +0 -0
  320. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/resutil.py +0 -0
  321. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/sse.py +0 -0
  322. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/transform.py +0 -0
  323. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/structure/util.py +0 -0
  324. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/temp.py +0 -0
  325. {biotite-0.40.0 → biotite-0.41.0}/src/biotite/visualize.py +0 -0
  326. {biotite-0.40.0 → biotite-0.41.0}/src/biotite.egg-info/dependency_links.txt +0 -0
  327. {biotite-0.40.0 → biotite-0.41.0}/src/biotite.egg-info/not-zip-safe +0 -0
  328. {biotite-0.40.0 → biotite-0.41.0}/src/biotite.egg-info/requires.txt +0 -0
  329. {biotite-0.40.0 → biotite-0.41.0}/src/biotite.egg-info/top_level.txt +0 -0
  330. {biotite-0.40.0 → biotite-0.41.0}/tests/test_init.py +0 -0
  331. {biotite-0.40.0 → biotite-0.41.0}/tests/test_modname.py +0 -0
  332. {biotite-0.40.0 → biotite-0.41.0}/tests/test_repr.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: biotite
3
- Version: 0.40.0
3
+ Version: 0.41.0
4
4
  Summary: A comprehensive library for computational molecular biology
5
5
  Author: The Biotite contributors
6
6
  License: BSD 3-Clause License
@@ -48,7 +48,7 @@ Classifier: Operating System :: Microsoft :: Windows
48
48
  Classifier: Programming Language :: Python :: 3
49
49
  Classifier: Programming Language :: Python :: Implementation :: CPython
50
50
  Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
51
- Requires-Python: >=3.7
51
+ Requires-Python: >=3.10
52
52
  Description-Content-Type: text/x-rst
53
53
  License-File: LICENSE.rst
54
54
  Requires-Dist: requests>=2.12
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "biotite"
3
- requires-python = ">=3.7"
3
+ requires-python = ">=3.10"
4
4
  description = "A comprehensive library for computational molecular biology"
5
5
  readme = "README.rst"
6
6
  authors = [{name = "The Biotite contributors"}]
@@ -9,7 +9,7 @@ it does provide utilities and base classes used by a lot of *Biotite*'s
9
9
  modules.
10
10
  """
11
11
 
12
- __version__ = "0.40.0"
12
+ __version__ = "0.41.0"
13
13
  __name__ = "biotite"
14
14
  __author__ = "Patrick Kunzmann"
15
15
 
@@ -26,9 +26,9 @@ def fetch(cids, format="sdf", target_path=None, as_structural_formula=False,
26
26
  throttle_threshold=0.5, return_throttle_status=False):
27
27
  """
28
28
  Download structure files from *PubChem* in various formats.
29
-
29
+
30
30
  This function requires an internet connection.
31
-
31
+
32
32
  Parameters
33
33
  ----------
34
34
  cids : int or iterable object or int
@@ -62,7 +62,7 @@ def fetch(cids, format="sdf", target_path=None, as_structural_formula=False,
62
62
  return_throttle_status : float, optional
63
63
  If set to true, the :class:`ThrottleStatus` of the final request
64
64
  is also returned.
65
-
65
+
66
66
  Returns
67
67
  -------
68
68
  files : str or StringIO or BytesIO or list of (str or StringIO or BytesIO)
@@ -78,10 +78,10 @@ def fetch(cids, format="sdf", target_path=None, as_structural_formula=False,
78
78
  of the final response is returned.
79
79
  This can be used for custom request throttling, for example.
80
80
  Only returned, if `return_throttle_status` is set to true.
81
-
81
+
82
82
  Examples
83
83
  --------
84
-
84
+
85
85
  >>> import os.path
86
86
  >>> file = fetch(2244, "sdf", path_to_directory)
87
87
  >>> print(os.path.basename(file))
@@ -100,7 +100,7 @@ def fetch(cids, format="sdf", target_path=None, as_structural_formula=False,
100
100
  # Create the target folder, if not existing
101
101
  if target_path is not None and not isdir(target_path):
102
102
  os.makedirs(target_path)
103
-
103
+
104
104
  files = []
105
105
  for i, cid in enumerate(cids):
106
106
  # Prevent IDs as strings, this could be a common error, as other
@@ -111,14 +111,14 @@ def fetch(cids, format="sdf", target_path=None, as_structural_formula=False,
111
111
  if verbose:
112
112
  print(f"Fetching file {i+1:d} / {len(cids):d} ({cid})...",
113
113
  end="\r")
114
-
114
+
115
115
  # Fetch file from database
116
116
  if target_path is not None:
117
117
  file = join(target_path, str(cid) + "." + format)
118
118
  else:
119
119
  # 'file = None' -> store content in a file-like object
120
120
  file = None
121
-
121
+
122
122
  if file is None \
123
123
  or not isfile(file) \
124
124
  or getsize(file) == 0 \
@@ -130,12 +130,12 @@ def fetch(cids, format="sdf", target_path=None, as_structural_formula=False,
130
130
  )
131
131
  if not r.ok:
132
132
  raise RequestError(parse_error_details(r.text))
133
-
133
+
134
134
  if format.lower() in _binary_formats:
135
135
  content = r.content
136
136
  else:
137
137
  content = r.text
138
-
138
+
139
139
  if file is None:
140
140
  if format in _binary_formats:
141
141
  file = io.BytesIO(content)
@@ -145,11 +145,11 @@ def fetch(cids, format="sdf", target_path=None, as_structural_formula=False,
145
145
  mode = "wb+" if format in _binary_formats else "w+"
146
146
  with open(file, mode) as f:
147
147
  f.write(content)
148
-
148
+
149
149
  throttle_status = ThrottleStatus.from_response(r)
150
150
  if throttle_threshold is not None:
151
151
  throttle_status.wait_if_busy(throttle_threshold)
152
-
152
+
153
153
  files.append(file)
154
154
  if verbose:
155
155
  print("\nDone")
@@ -168,9 +168,9 @@ def fetch_property(cids, name,
168
168
  throttle_threshold=0.5, return_throttle_status=False):
169
169
  """
170
170
  Download the given property for the given CID(s).
171
-
171
+
172
172
  This function requires an internet connection.
173
-
173
+
174
174
  Parameters
175
175
  ----------
176
176
  cids : int or iterable object or int
@@ -189,7 +189,7 @@ def fetch_property(cids, name,
189
189
  return_throttle_status : float, optional
190
190
  If set to true, the :class:`ThrottleStatus` of the final request
191
191
  is also returned.
192
-
192
+
193
193
  Returns
194
194
  -------
195
195
  property : str or list of str
@@ -202,23 +202,23 @@ def fetch_property(cids, name,
202
202
  The :class:`ThrottleStatus` obtained from the server response.
203
203
  This can be used for custom request throttling, for example.
204
204
  Only returned, if `return_throttle_status` is set to true.
205
-
205
+
206
206
  Examples
207
207
  --------
208
-
208
+
209
209
  >>> butane_cids = np.array(search(FormulaQuery("C4H10")))
210
210
  >>> # Filter natural isotopes...
211
211
  >>> n_iso = np.array(fetch_property(butane_cids, "IsotopeAtomCount"), dtype=int)
212
212
  >>> # ...and neutral compounds
213
213
  >>> charge = np.array(fetch_property(butane_cids, "Charge"), dtype=int)
214
214
  >>> butane_cids = butane_cids[(n_iso == 0) & (charge == 0)]
215
- >>> print(butane_cids.tolist())
216
- [7843, 6360, 161897780, 161295599, 158934736, 158271732, 157632982, 19048342, 19029854, 18402699]
215
+ >>> print(sorted(butane_cids.tolist()))
216
+ [6360, 7843, 18402699, 19029854, 19048342, 157632982, 158271732, 158934736, 161295599, 161897780]
217
217
  >>> # Get the IUPAC names for each compound
218
218
  >>> iupac_names = fetch_property(butane_cids, "IUPACName")
219
219
  >>> # Compounds with multiple molecules use ';' as separator
220
220
  >>> print(iupac_names)
221
- ['butane', '2-methylpropane', 'methylcyclopropane;molecular hydrogen', 'carbanylium;propane', 'carbanide;propane', 'acetylene;methane', 'cyclobutane;molecular hydrogen', 'cyclopropane;methane', 'ethane;ethene', 'methane;prop-1-ene']
221
+ ['butane', '2-methylpropane', 'methane;prop-1-ene', 'ethane;ethene', 'cyclopropane;methane', 'cyclobutane;molecular hydrogen', 'acetylene;methane', 'carbanide;propane', 'carbanylium;propane', 'methylcyclopropane;molecular hydrogen']
222
222
  """
223
223
  # If only a single CID is present,
224
224
  # put it into a single element list
@@ -227,13 +227,13 @@ def fetch_property(cids, name,
227
227
  single_element = True
228
228
  else:
229
229
  single_element = False
230
-
230
+
231
231
  # Property names may only contain letters and numbers
232
232
  if not name.isalnum():
233
233
  raise ValueError(
234
234
  f"Property '{name}' contains invalid characters"
235
235
  )
236
-
236
+
237
237
  # Use TXT format instead of CSV to avoid issues with ',' characters
238
238
  # within table elements
239
239
  r = requests.post(
@@ -245,7 +245,7 @@ def fetch_property(cids, name,
245
245
  throttle_status = ThrottleStatus.from_response(r)
246
246
  if throttle_threshold is not None:
247
247
  throttle_status.wait_if_busy(throttle_threshold)
248
-
248
+
249
249
  # Each line contains the property for one CID
250
250
  properties = r.text.splitlines()
251
251
 
@@ -16,7 +16,7 @@ import requests
16
16
  from .error import parse_error_details
17
17
  from .throttle import ThrottleStatus
18
18
  from ..error import RequestError
19
- from ...structure.io.mol.file import MOLFile
19
+ from ...structure.io.mol.mol import MOLFile
20
20
 
21
21
 
22
22
  _base_url = "https://pubchem.ncbi.nlm.nih.gov/rest/pug/"
@@ -84,7 +84,7 @@ class NameQuery(Query):
84
84
  --------
85
85
 
86
86
  >>> print(search(NameQuery("Alanine")))
87
- [5950, ..., ..., ...]
87
+ [5950, ..., ...]
88
88
  """
89
89
 
90
90
  def __init__(self, name):
@@ -204,10 +204,10 @@ class FormulaQuery(Query):
204
204
  --------
205
205
 
206
206
  >>> print(search(FormulaQuery("C4H10", number=5)))
207
- [7843, ..., ..., ..., ...]
207
+ [..., ..., ..., ..., ...]
208
208
  >>> atom_array = residue("ALA")
209
209
  >>> print(search(FormulaQuery.from_atoms(atom_array, number=5)))
210
- [5950, ..., ..., ..., ...]
210
+ [..., ..., ..., ..., ...]
211
211
  """
212
212
 
213
213
  def __init__(self, formula, allow_other_elements=False, number=None):
@@ -555,11 +555,11 @@ class SuperstructureQuery(SuperOrSubstructureQuery):
555
555
 
556
556
  >>> # CID of alanine
557
557
  >>> print(search(SuperstructureQuery(cid=5950, number=5)))
558
- [1032, ..., ..., ..., ...]
558
+ [..., ..., ..., ..., ...]
559
559
  >>> # AtomArray of alanine
560
560
  >>> atom_array = residue("ALA")
561
561
  >>> print(search(SuperstructureQuery.from_atoms(atom_array, number=5)))
562
- [1032, ..., ..., ..., ...]
562
+ [..., ..., ..., ..., ...]
563
563
  """
564
564
 
565
565
  def search_type(self):
@@ -801,7 +801,7 @@ def search(query, throttle_threshold=0.5, return_throttle_status=False):
801
801
  --------
802
802
 
803
803
  >>> print(search(NameQuery("Alanine")))
804
- [5950, ..., ..., ...]
804
+ [5950, ..., ...]
805
805
  """
806
806
  # Use POST to be compatible with the larger payloads
807
807
  # of structure searches
@@ -4,7 +4,8 @@
4
4
 
5
5
  __name__ = "biotite"
6
6
  __author__ = "Patrick Kunzmann"
7
- __all__ = ["File", "TextFile", "InvalidFileError"]
7
+ __all__ = ["File", "TextFile", "InvalidFileError",
8
+ "SerializationError", "DeserializationError"]
8
9
 
9
10
  import abc
10
11
  import io
@@ -38,13 +39,13 @@ class File(Copyable, metaclass=abc.ABCMeta):
38
39
  def read(cls, file):
39
40
  """
40
41
  Parse a file (or file-like object).
41
-
42
+
42
43
  Parameters
43
44
  ----------
44
45
  file : file-like object or str
45
46
  The file to be read.
46
47
  Alternatively a file path can be supplied.
47
-
48
+
48
49
  Returns
49
50
  -------
50
51
  file_object : File
@@ -74,7 +75,7 @@ class File(Copyable, metaclass=abc.ABCMeta):
74
75
  def write(self, file):
75
76
  """
76
77
  Write the contents of this :class:`File` object into a file.
77
-
78
+
78
79
  Parameters
79
80
  ----------
80
81
  file_name : file-like object or str
@@ -90,7 +91,7 @@ class TextFile(File, metaclass=abc.ABCMeta):
90
91
  When reading a file, the text content is saved as list of strings,
91
92
  one for each line.
92
93
  When writing a file, this list is written into the file.
93
-
94
+
94
95
  Attributes
95
96
  ----------
96
97
  lines : list
@@ -121,13 +122,13 @@ class TextFile(File, metaclass=abc.ABCMeta):
121
122
  def read_iter(file):
122
123
  """
123
124
  Create an iterator over each line of the given text file.
124
-
125
+
125
126
  Parameters
126
127
  ----------
127
128
  file : file-like object or str
128
129
  The file to be read.
129
130
  Alternatively a file path can be supplied.
130
-
131
+
131
132
  Yields
132
133
  ------
133
134
  line : str
@@ -147,7 +148,7 @@ class TextFile(File, metaclass=abc.ABCMeta):
147
148
  """
148
149
  Write the contents of this object into a file
149
150
  (or file-like object).
150
-
151
+
151
152
  Parameters
152
153
  ----------
153
154
  file : file-like object or str
@@ -174,7 +175,7 @@ class TextFile(File, metaclass=abc.ABCMeta):
174
175
  Hence, this static method may save a large amount of memory if
175
176
  a large file should be written, especially if the `lines`
176
177
  are provided as generator.
177
-
178
+
178
179
  Parameters
179
180
  ----------
180
181
  file : file-like object or str
@@ -211,6 +212,13 @@ class InvalidFileError(Exception):
211
212
  pass
212
213
 
213
214
 
215
+ class SerializationError(Exception):
216
+ pass
217
+
218
+ class DeserializationError(Exception):
219
+ pass
220
+
221
+
214
222
  def wrap_string(text, width):
215
223
  """
216
224
  A much simpler and hence much more efficient version of