Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
OpenDAS
OpenFold
Commits
fe8869c3
Commit
fe8869c3
authored
Dec 14, 2023
by
Christina Floristean
Browse files
Bug fixes for multi-chain permutation alignment
parent
4f38c826
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
10 additions
and
2 deletions
+10
-2
openfold/utils/multi_chain_permutation.py
openfold/utils/multi_chain_permutation.py
+10
-2
No files found.
openfold/utils/multi_chain_permutation.py
View file @
fe8869c3
...
@@ -111,6 +111,12 @@ def get_least_asym_entity_or_longest_length(batch, input_asym_id):
...
@@ -111,6 +111,12 @@ def get_least_asym_entity_or_longest_length(batch, input_asym_id):
for
entity_id
in
unique_entity_ids
:
for
entity_id
in
unique_entity_ids
:
asym_ids
=
torch
.
unique
(
batch
[
"asym_id"
][
batch
[
"entity_id"
]
==
entity_id
])
asym_ids
=
torch
.
unique
(
batch
[
"asym_id"
][
batch
[
"entity_id"
]
==
entity_id
])
# Make sure some asym IDs associated with ground truth entity ID exist in cropped prediction
asym_ids_in_pred
=
[
a
for
a
in
asym_ids
if
a
in
input_asym_id
]
if
not
asym_ids_in_pred
:
continue
entity_asym_count
[
int
(
entity_id
)]
=
len
(
asym_ids
)
entity_asym_count
[
int
(
entity_id
)]
=
len
(
asym_ids
)
# Calculate entity length
# Calculate entity length
...
@@ -127,12 +133,14 @@ def get_least_asym_entity_or_longest_length(batch, input_asym_id):
...
@@ -127,12 +133,14 @@ def get_least_asym_entity_or_longest_length(batch, input_asym_id):
# If still multiple entities, return a random one
# If still multiple entities, return a random one
if
len
(
least_asym_entities
)
>
1
:
if
len
(
least_asym_entities
)
>
1
:
least_asym_entities
=
random
.
choice
(
least_asym_entities
)
least_asym_entities
=
[
random
.
choice
(
least_asym_entities
)]
assert
len
(
least_asym_entities
)
==
1
assert
len
(
least_asym_entities
)
==
1
least_asym_entities
=
least_asym_entities
[
0
]
least_asym_entities
=
least_asym_entities
[
0
]
anchor_gt_asym_id
=
random
.
choice
(
entity_2_asym_list
[
least_asym_entities
])
anchor_gt_asym_id
=
random
.
choice
(
entity_2_asym_list
[
least_asym_entities
])
anchor_pred_asym_ids
=
[
id
for
id
in
entity_2_asym_list
[
least_asym_entities
]
if
id
in
input_asym_id
]
anchor_pred_asym_ids
=
[
asym_id
for
asym_id
in
entity_2_asym_list
[
least_asym_entities
]
if
asym_id
in
input_asym_id
]
return
anchor_gt_asym_id
,
anchor_pred_asym_ids
return
anchor_gt_asym_id
,
anchor_pred_asym_ids
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment