Skip to content

Commit 9cac0dd

Browse files
committed
More efficient assembly sorting
1 parent 4d3c197 commit 9cac0dd

File tree

1 file changed

+3
-16
lines changed

1 file changed

+3
-16
lines changed

src/biotite/structure/io/pdbx/convert.py

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
AtomArrayStack,
2929
concatenate,
3030
repeat,
31-
stack,
3231
)
3332
from biotite.structure.bonds import BondList, BondType, connect_via_residue_names
3433
from biotite.structure.box import (
@@ -1739,21 +1738,9 @@ def get_assembly(
17391738

17401739
# Sort AtomArray or AtomArrayStack by 'sym_id'
17411740
max_sym_id = assembly.sym_id.max()
1742-
if isinstance(assembly, AtomArray):
1743-
# Handle single array case
1744-
assembly = concatenate(
1745-
[assembly[assembly.sym_id == sym_id] for sym_id in range(max_sym_id + 1)]
1746-
)
1747-
else:
1748-
# Handle array stack case
1749-
assembly = stack(
1750-
[
1751-
concatenate(
1752-
[array[array.sym_id == sym_id] for sym_id in range(max_sym_id + 1)]
1753-
)
1754-
for array in assembly
1755-
]
1756-
)
1741+
assembly = concatenate(
1742+
[assembly[..., assembly.sym_id == sym_id] for sym_id in range(max_sym_id + 1)]
1743+
)
17571744

17581745
# Remove 'label_asym_id', if it was not included in the original
17591746
# user-supplied 'extra_fields'

0 commit comments

Comments
 (0)