Skip to content

Commit

Permalink
Fix naming error in alignment runner, add error message for missing u…
Browse files Browse the repository at this point in the history
…niprot files.
  • Loading branch information
christinaflo committed Nov 10, 2023
1 parent 7e2b36e commit d8c2a97
Showing 1 changed file with 8 additions and 3 deletions.
11 changes: 8 additions & 3 deletions openfold/data/data_pipeline.py
Original file line number Diff line number Diff line change
Expand Up @@ -448,7 +448,7 @@ def __init__(
n_cpu=no_cpus,
)

self._uniprot_msa_runner = None
self.jackhmmer_uniprot_runner = None
if(uniprot_database_path is not None):
self.jackhmmer_uniprot_runner = jackhmmer.Jackhmmer(
binary_path=jackhmmer_binary_path,
Expand Down Expand Up @@ -1180,15 +1180,20 @@ def _process_single_chain(
# sequences.
if not is_homomer_or_monomer:
all_seq_msa_features = self._all_seq_msa_features(
chain_fasta_path,
chain_alignment_dir
)
chain_features.update(all_seq_msa_features)
return chain_features

def _all_seq_msa_features(self, fasta_path, alignment_dir):
@staticmethod
def _all_seq_msa_features(alignment_dir):
"""Get MSA features for unclustered uniprot, for pairing."""
uniprot_msa_path = os.path.join(alignment_dir, "uniprot_hits.sto")
if not os.path.exists(uniprot_msa_path):
chain_id = os.path.basename(os.path.normpath(alignment_dir))
raise ValueError(f"Missing 'uniprot_hits.sto' for {chain_id}. "
f"This is required for Multimer MSA pairing.")

with open(uniprot_msa_path, "r") as fp:
uniprot_msa_string = fp.read()
msa = parsers.parse_stockholm(uniprot_msa_string)
Expand Down

0 comments on commit d8c2a97

Please sign in to comment.