biotite 1.1.0__cp313-cp313-win_amd64.whl → 1.2.0__cp313-cp313-win_amd64.whl

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

Potentially problematic release.


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

Files changed (155) hide show
  1. biotite/application/application.py +3 -3
  2. biotite/application/autodock/app.py +1 -1
  3. biotite/application/blast/webapp.py +1 -1
  4. biotite/application/clustalo/app.py +1 -1
  5. biotite/application/localapp.py +2 -2
  6. biotite/application/msaapp.py +10 -10
  7. biotite/application/muscle/app3.py +3 -3
  8. biotite/application/muscle/app5.py +3 -3
  9. biotite/application/sra/app.py +0 -5
  10. biotite/application/util.py +21 -1
  11. biotite/application/viennarna/rnaalifold.py +8 -8
  12. biotite/application/viennarna/rnaplot.py +3 -1
  13. biotite/application/viennarna/util.py +1 -1
  14. biotite/application/webapp.py +1 -1
  15. biotite/database/afdb/__init__.py +12 -0
  16. biotite/database/afdb/download.py +191 -0
  17. biotite/database/entrez/dbnames.py +10 -0
  18. biotite/database/entrez/download.py +9 -10
  19. biotite/database/entrez/key.py +1 -1
  20. biotite/database/entrez/query.py +5 -4
  21. biotite/database/pubchem/download.py +6 -6
  22. biotite/database/pubchem/error.py +10 -0
  23. biotite/database/pubchem/query.py +12 -23
  24. biotite/database/rcsb/download.py +3 -2
  25. biotite/database/rcsb/query.py +2 -3
  26. biotite/database/uniprot/check.py +2 -2
  27. biotite/database/uniprot/download.py +2 -5
  28. biotite/database/uniprot/query.py +3 -4
  29. biotite/file.py +14 -2
  30. biotite/interface/__init__.py +19 -0
  31. biotite/interface/openmm/__init__.py +16 -0
  32. biotite/interface/openmm/state.py +93 -0
  33. biotite/interface/openmm/system.py +227 -0
  34. biotite/interface/pymol/__init__.py +198 -0
  35. biotite/interface/pymol/cgo.py +346 -0
  36. biotite/interface/pymol/convert.py +185 -0
  37. biotite/interface/pymol/display.py +267 -0
  38. biotite/interface/pymol/object.py +1226 -0
  39. biotite/interface/pymol/shapes.py +178 -0
  40. biotite/interface/pymol/startup.py +169 -0
  41. biotite/interface/rdkit/__init__.py +15 -0
  42. biotite/interface/rdkit/mol.py +490 -0
  43. biotite/interface/version.py +71 -0
  44. biotite/interface/warning.py +19 -0
  45. biotite/sequence/align/__init__.py +0 -4
  46. biotite/sequence/align/alignment.py +33 -11
  47. biotite/sequence/align/banded.cp313-win_amd64.pyd +0 -0
  48. biotite/sequence/align/banded.pyx +21 -21
  49. biotite/sequence/align/cigar.py +2 -2
  50. biotite/sequence/align/kmeralphabet.cp313-win_amd64.pyd +0 -0
  51. biotite/sequence/align/kmeralphabet.pyx +2 -2
  52. biotite/sequence/align/kmersimilarity.cp313-win_amd64.pyd +0 -0
  53. biotite/sequence/align/kmertable.cp313-win_amd64.pyd +0 -0
  54. biotite/sequence/align/kmertable.pyx +6 -6
  55. biotite/sequence/align/localgapped.cp313-win_amd64.pyd +0 -0
  56. biotite/sequence/align/localgapped.pyx +47 -47
  57. biotite/sequence/align/localungapped.cp313-win_amd64.pyd +0 -0
  58. biotite/sequence/align/localungapped.pyx +10 -10
  59. biotite/sequence/align/matrix.py +12 -3
  60. biotite/sequence/align/multiple.cp313-win_amd64.pyd +0 -0
  61. biotite/sequence/align/pairwise.cp313-win_amd64.pyd +0 -0
  62. biotite/sequence/align/pairwise.pyx +35 -35
  63. biotite/sequence/align/permutation.cp313-win_amd64.pyd +0 -0
  64. biotite/sequence/align/selector.cp313-win_amd64.pyd +0 -0
  65. biotite/sequence/align/selector.pyx +2 -2
  66. biotite/sequence/align/statistics.py +1 -1
  67. biotite/sequence/align/tracetable.cp313-win_amd64.pyd +0 -0
  68. biotite/sequence/alphabet.py +2 -2
  69. biotite/sequence/annotation.py +19 -13
  70. biotite/sequence/codec.cp313-win_amd64.pyd +0 -0
  71. biotite/sequence/codon.py +1 -2
  72. biotite/sequence/graphics/alignment.py +25 -39
  73. biotite/sequence/graphics/dendrogram.py +4 -2
  74. biotite/sequence/graphics/features.py +2 -2
  75. biotite/sequence/graphics/logo.py +10 -12
  76. biotite/sequence/io/fasta/convert.py +1 -2
  77. biotite/sequence/io/fasta/file.py +1 -1
  78. biotite/sequence/io/fastq/file.py +3 -3
  79. biotite/sequence/io/genbank/file.py +3 -3
  80. biotite/sequence/io/genbank/sequence.py +2 -0
  81. biotite/sequence/io/gff/convert.py +1 -1
  82. biotite/sequence/io/gff/file.py +1 -2
  83. biotite/sequence/phylo/nj.cp313-win_amd64.pyd +0 -0
  84. biotite/sequence/phylo/tree.cp313-win_amd64.pyd +0 -0
  85. biotite/sequence/phylo/upgma.cp313-win_amd64.pyd +0 -0
  86. biotite/sequence/profile.py +19 -25
  87. biotite/sequence/search.py +0 -1
  88. biotite/sequence/seqtypes.py +12 -5
  89. biotite/sequence/sequence.py +1 -2
  90. biotite/structure/__init__.py +2 -0
  91. biotite/structure/alphabet/i3d.py +1 -2
  92. biotite/structure/alphabet/pb.py +1 -2
  93. biotite/structure/alphabet/unkerasify.py +8 -2
  94. biotite/structure/atoms.py +35 -27
  95. biotite/structure/basepairs.py +26 -26
  96. biotite/structure/bonds.cp313-win_amd64.pyd +0 -0
  97. biotite/structure/bonds.pyx +8 -5
  98. biotite/structure/box.py +19 -21
  99. biotite/structure/celllist.cp313-win_amd64.pyd +0 -0
  100. biotite/structure/celllist.pyx +83 -67
  101. biotite/structure/chains.py +5 -37
  102. biotite/structure/charges.cp313-win_amd64.pyd +0 -0
  103. biotite/structure/compare.py +420 -13
  104. biotite/structure/density.py +1 -1
  105. biotite/structure/dotbracket.py +27 -28
  106. biotite/structure/filter.py +8 -8
  107. biotite/structure/geometry.py +15 -15
  108. biotite/structure/hbond.py +17 -19
  109. biotite/structure/info/atoms.py +11 -2
  110. biotite/structure/info/ccd.py +0 -2
  111. biotite/structure/info/components.bcif +0 -0
  112. biotite/structure/info/groups.py +0 -3
  113. biotite/structure/info/misc.py +0 -1
  114. biotite/structure/info/radii.py +92 -22
  115. biotite/structure/info/standardize.py +1 -2
  116. biotite/structure/integrity.py +4 -6
  117. biotite/structure/io/general.py +2 -2
  118. biotite/structure/io/gro/file.py +8 -9
  119. biotite/structure/io/mol/convert.py +1 -1
  120. biotite/structure/io/mol/ctab.py +33 -28
  121. biotite/structure/io/mol/mol.py +1 -1
  122. biotite/structure/io/mol/sdf.py +39 -13
  123. biotite/structure/io/pdb/convert.py +2 -3
  124. biotite/structure/io/pdb/file.py +11 -22
  125. biotite/structure/io/pdb/hybrid36.cp313-win_amd64.pyd +0 -0
  126. biotite/structure/io/pdbqt/file.py +4 -4
  127. biotite/structure/io/pdbx/bcif.py +22 -7
  128. biotite/structure/io/pdbx/cif.py +20 -7
  129. biotite/structure/io/pdbx/component.py +6 -0
  130. biotite/structure/io/pdbx/compress.py +2 -2
  131. biotite/structure/io/pdbx/convert.py +222 -33
  132. biotite/structure/io/pdbx/encoding.cp313-win_amd64.pyd +0 -0
  133. biotite/structure/io/trajfile.py +9 -6
  134. biotite/structure/io/util.py +38 -0
  135. biotite/structure/mechanics.py +0 -1
  136. biotite/structure/molecules.py +0 -15
  137. biotite/structure/pseudoknots.py +7 -13
  138. biotite/structure/repair.py +2 -4
  139. biotite/structure/residues.py +13 -24
  140. biotite/structure/rings.py +335 -0
  141. biotite/structure/sasa.cp313-win_amd64.pyd +0 -0
  142. biotite/structure/sasa.pyx +2 -1
  143. biotite/structure/segments.py +68 -9
  144. biotite/structure/sequence.py +0 -1
  145. biotite/structure/sse.py +0 -2
  146. biotite/structure/superimpose.py +74 -62
  147. biotite/structure/tm.py +581 -0
  148. biotite/structure/transform.py +12 -25
  149. biotite/structure/util.py +3 -3
  150. biotite/version.py +9 -4
  151. biotite/visualize.py +111 -1
  152. {biotite-1.1.0.dist-info → biotite-1.2.0.dist-info}/METADATA +5 -3
  153. {biotite-1.1.0.dist-info → biotite-1.2.0.dist-info}/RECORD +155 -135
  154. {biotite-1.1.0.dist-info → biotite-1.2.0.dist-info}/WHEEL +0 -0
  155. {biotite-1.1.0.dist-info → biotite-1.2.0.dist-info}/licenses/LICENSE.rst +0 -0
@@ -338,8 +338,8 @@ def base_pairs_edge(atom_array, base_pairs):
338
338
 
339
339
  See Also
340
340
  --------
341
- base_pairs
342
- base_pairs_glycosidic_bond
341
+ base_pairs : Get the base pairs required for this function.
342
+ base_pairs_glycosidic_bond : Determine the orientation for each base pair.
343
343
 
344
344
  Notes
345
345
  -----
@@ -351,6 +351,11 @@ def base_pairs_edge(atom_array, base_pairs):
351
351
  The edge returned always corresponds to the edge with the most
352
352
  hydrogen bonding interactions.
353
353
 
354
+ References
355
+ ----------
356
+
357
+ .. footbibliography::
358
+
354
359
  Examples
355
360
  --------
356
361
  Compute the interacting base edges for the dna helix with the PDB
@@ -392,11 +397,6 @@ def base_pairs_edge(atom_array, base_pairs):
392
397
  WATSON_CRICK to WATSON_CRICK
393
398
  WATSON_CRICK to WATSON_CRICK
394
399
  WATSON_CRICK to WATSON_CRICK
395
-
396
- References
397
- ----------
398
-
399
- .. footbibliography::
400
400
  """
401
401
  # Result-``ndarray`` matches the dimensions of the input array
402
402
  results = np.zeros_like(base_pairs, dtype="uint8")
@@ -494,7 +494,7 @@ def base_pairs_glycosidic_bond(atom_array, base_pairs):
494
494
 
495
495
  Returns
496
496
  -------
497
- results : ndarray, dtype=edge, shape=(n,)
497
+ results : ndarray, dtype=int, shape=(n,)
498
498
  The ``ndarray`` has the same dimensions as ``base_pairs``. Each
499
499
  cell corresponds to the interacting edge of the referenced base
500
500
  in ``base_pairs``.
@@ -504,15 +504,20 @@ def base_pairs_glycosidic_bond(atom_array, base_pairs):
504
504
 
505
505
  See Also
506
506
  --------
507
- base_pairs
508
- base_pairs_edge
509
- GlycosidicBond
507
+ base_pairs : Get the base pairs required for this function.
508
+ base_pairs_edge : Determine the interacting edge for each base pair.
509
+ GlycosidicBond : The Enum type for interpretation of the return value.
510
510
 
511
511
  Notes
512
512
  -----
513
513
  The orientation is found using the geometric centers of the bases
514
514
  and the glycosidic bonds as described in :footcite:`Yang2003`.
515
515
 
516
+ References
517
+ ----------
518
+
519
+ .. footbibliography::
520
+
516
521
  Examples
517
522
  --------
518
523
  Compute the glycosidic bond orientations for the dna helix with the
@@ -544,11 +549,6 @@ def base_pairs_glycosidic_bond(atom_array, base_pairs):
544
549
  CIS
545
550
  CIS
546
551
  CIS
547
-
548
- References
549
- ----------
550
-
551
- .. footbibliography::
552
552
  """
553
553
  results = np.zeros(len(base_pairs), dtype="uint8")
554
554
 
@@ -654,6 +654,11 @@ def base_stacking(atom_array, min_atoms_per_base=3):
654
654
  Please note that ring normal vectors are assumed to be equal to the
655
655
  base normal vectors.
656
656
 
657
+ References
658
+ ----------
659
+
660
+ .. footbibliography::
661
+
657
662
  Examples
658
663
  --------
659
664
  Compute the stacking interactions for a DNA-double-helix (PDB ID
@@ -685,11 +690,6 @@ def base_stacking(atom_array, min_atoms_per_base=3):
685
690
  [21 22]
686
691
  [22 23]
687
692
  [23 24]]
688
-
689
- References
690
- ----------
691
-
692
- .. footbibliography::
693
693
  """
694
694
  # Get the stacking candidates according to a cutoff distance, where
695
695
  # each base is identified as the first index of its respective
@@ -833,6 +833,11 @@ def base_pairs(atom_array, min_atoms_per_base=3, unique=True):
833
833
  1.00Å and 0.96Å respectively. Thus, including some buffer, a 3.6Å
834
834
  cutoff should cover all hydrogen bonds.
835
835
 
836
+ References
837
+ ----------
838
+
839
+ .. footbibliography::
840
+
836
841
  Examples
837
842
  --------
838
843
  Compute the base pairs for the structure with the PDB ID 1QXB:
@@ -855,11 +860,6 @@ def base_pairs(atom_array, min_atoms_per_base=3, unique=True):
855
860
  ['DG' 'DC']
856
861
  ['DC' 'DG']
857
862
  ['DG' 'DC']]
858
-
859
- References
860
- ----------
861
-
862
- .. footbibliography::
863
863
  """
864
864
 
865
865
  # Get the nucleotides for the given atom_array
Binary file
@@ -60,6 +60,7 @@ class BondType(IntEnum):
60
60
  - `AROMATIC_SINGLE` - Aromatic bond with a single formal bond
61
61
  - `AROMATIC_DOUBLE` - Aromatic bond with a double formal bond
62
62
  - `AROMATIC_TRIPLE` - Aromatic bond with a triple formal bond
63
+ - `AROMATIC` - Aromatic bond without specification of the formal bond
63
64
  - `COORDINATION` - Coordination complex involving a metal atom
64
65
  """
65
66
  ANY = 0
@@ -71,6 +72,7 @@ class BondType(IntEnum):
71
72
  AROMATIC_DOUBLE = 6
72
73
  AROMATIC_TRIPLE = 7
73
74
  COORDINATION = 8
75
+ AROMATIC = 9
74
76
 
75
77
 
76
78
  def without_aromaticity(self):
@@ -97,6 +99,8 @@ class BondType(IntEnum):
97
99
  return BondType.DOUBLE
98
100
  elif self == BondType.AROMATIC_TRIPLE:
99
101
  return BondType.TRIPLE
102
+ elif self == BondType.AROMATIC:
103
+ return BondType.ANY
100
104
  else:
101
105
  return self
102
106
 
@@ -517,7 +521,8 @@ class BondList(Copyable):
517
521
  for aromatic_type, non_aromatic_type in [
518
522
  (BondType.AROMATIC_SINGLE, BondType.SINGLE),
519
523
  (BondType.AROMATIC_DOUBLE, BondType.DOUBLE),
520
- (BondType.AROMATIC_TRIPLE, BondType.TRIPLE)
524
+ (BondType.AROMATIC_TRIPLE, BondType.TRIPLE),
525
+ (BondType.AROMATIC, BondType.ANY),
521
526
  ]:
522
527
  bond_types[bond_types == aromatic_type] = non_aromatic_type
523
528
 
@@ -938,7 +943,6 @@ class BondList(Copyable):
938
943
  ----------
939
944
  atom_index : int
940
945
  The index of the atom whose bonds should be removed.
941
-
942
946
  """
943
947
  cdef uint32 index = _to_positive_index(atom_index, self._atom_count)
944
948
 
@@ -1478,7 +1482,7 @@ def connect_via_distances(atoms, dict distance_range=None, bint inter_residue=Tr
1478
1482
  BondList
1479
1483
  The created bond list.
1480
1484
 
1481
- See also
1485
+ See Also
1482
1486
  --------
1483
1487
  connect_via_residue_names
1484
1488
 
@@ -1617,7 +1621,7 @@ def connect_via_residue_names(atoms, bint inter_residue=True,
1617
1621
  No bonds are added for residues that are not found in
1618
1622
  ``components.cif``.
1619
1623
 
1620
- See also
1624
+ See Also
1621
1625
  --------
1622
1626
  connect_via_distances
1623
1627
 
@@ -1659,7 +1663,6 @@ def connect_via_residue_names(atoms, bint inter_residue=True,
1659
1663
  ('OXT', 'HXT'): <BondType.SINGLE: 1>},
1660
1664
  'XYZ': {('A', 'B'): <BondType.SINGLE: 1>,
1661
1665
  ('B', 'C'): <BondType.SINGLE: 1>}}
1662
-
1663
1666
  """
1664
1667
  from .info.bonds import bonds_in_residue
1665
1668
  from .residues import get_residue_starts
biotite/structure/box.py CHANGED
@@ -45,10 +45,10 @@ def vectors_from_unitcell(len_a, len_b, len_c, alpha, beta, gamma):
45
45
  ----------
46
46
  len_a, len_b, len_c : float
47
47
  The lengths of the three box/unit cell vectors *a*, *b* and *c*.
48
- alpha, beta, gamma:
48
+ alpha, beta, gamma : float
49
49
  The angles between the box vectors in radians.
50
50
  *alpha* is the angle between *b* and *c*,
51
- *beta* between *a* and *c*, *gamma* between *a* and *b*
51
+ *beta* between *a* and *c*, *gamma* between *a* and *b*.
52
52
 
53
53
  Returns
54
54
  -------
@@ -58,9 +58,9 @@ def vectors_from_unitcell(len_a, len_b, len_c, alpha, beta, gamma):
58
58
  The value can be directly used as :attr:`box` attribute in an
59
59
  atom array.
60
60
 
61
- See also
61
+ See Also
62
62
  --------
63
- unitcell_from_vectors
63
+ unitcell_from_vectors : The reverse operation.
64
64
  """
65
65
  a_x = len_a
66
66
  b_x = len_b * np.cos(gamma)
@@ -87,7 +87,7 @@ def unitcell_from_vectors(box):
87
87
  Parameters
88
88
  ----------
89
89
  box : ndarray, shape=(3,3)
90
- The box vectors
90
+ The box vectors.
91
91
 
92
92
  Returns
93
93
  -------
@@ -96,9 +96,9 @@ def unitcell_from_vectors(box):
96
96
  alpha, beta, gamma : float
97
97
  The angles between the box vectors in radians.
98
98
 
99
- See also
99
+ See Also
100
100
  --------
101
- vectors_from_unitcell
101
+ vectors_from_unitcell : The reverse operation.
102
102
  """
103
103
  a = box[0]
104
104
  b = box[1]
@@ -124,6 +124,7 @@ def box_volume(box):
124
124
  Returns
125
125
  -------
126
126
  volume : float or ndarray, shape=(m,)
127
+ The volume(s) of the given box(es).
127
128
  """
128
129
  # Using the triple product
129
130
  return np.abs(linalg.det(box))
@@ -164,9 +165,9 @@ def repeat_box(atoms, amount=1):
164
165
  Equal to
165
166
  ``numpy.tile(np.arange(atoms.array_length()), (1 + 2 * amount) ** 3)``.
166
167
 
167
- See also
168
+ See Also
168
169
  --------
169
- repeat_box_coord
170
+ repeat_box_coord : Variant that acts directly on coordinates.
170
171
 
171
172
  Examples
172
173
  --------
@@ -383,9 +384,9 @@ def remove_pbc(atoms, selection=None):
383
384
  The input structure with removed segmentation over periodic
384
385
  boundaries.
385
386
 
386
- See also
387
+ See Also
387
388
  --------
388
- remove_pbc_from_coord
389
+ remove_pbc_from_coord : Variant that acts directly on coordinates.
389
390
 
390
391
  Notes
391
392
  -----
@@ -430,8 +431,6 @@ def remove_pbc_from_coord(coord, box):
430
431
  is moved inside the box.
431
432
  All other coordinates are assembled relative to the origin by using
432
433
  the displacement coordinates in adjacent array positions.
433
- Basically, this function performs the reverse action of
434
- :func:`move_inside_box()`.
435
434
 
436
435
  Parameters
437
436
  ----------
@@ -447,10 +446,9 @@ def remove_pbc_from_coord(coord, box):
447
446
  sanitized_coord : ndarray, dtype=float, shape=(m,n,3) or shape=(n,3)
448
447
  The reassembled coordinates.
449
448
 
450
- See also
449
+ See Also
451
450
  --------
452
- remove_pbc_from_coord
453
- move_inside_box
451
+ move_inside_box : The reverse operation.
454
452
 
455
453
  Notes
456
454
  -----
@@ -501,9 +499,9 @@ def coord_to_fraction(coord, box):
501
499
  fraction : ndarray, dtype=float, shape=(n,3) or shape=(m,n,3)
502
500
  The fractions of the box vectors.
503
501
 
504
- See also
502
+ See Also
505
503
  --------
506
- fraction_to_coord
504
+ fraction_to_coord : The reverse operation.
507
505
 
508
506
  Examples
509
507
  --------
@@ -548,9 +546,9 @@ def fraction_to_coord(fraction, box):
548
546
  coord : ndarray, dtype=float, shape=(n,3) or shape=(m,n,3)
549
547
  The coordinates.
550
548
 
551
- See also
549
+ See Also
552
550
  --------
553
- coord_to_fraction
551
+ coord_to_fraction : The reverse operation.
554
552
  """
555
553
  return np.matmul(fraction, box)
556
554
 
@@ -570,7 +568,7 @@ def is_orthogonal(box):
570
568
  Returns
571
569
  -------
572
570
  is_orthgonal : bool or ndarray, shape=(m,), dtype=bool
573
- True, if the box vectors are orthogonal, false otherwise
571
+ True, if the box vectors are orthogonal, false otherwise.
574
572
 
575
573
  Notes
576
574
  -----