Source code for deepfold.utils.script_utils

import json
import logging
import os
import re
import time
from typing import Dict

import torch

logger = logging.getLogger(__name__)


[docs] def get_basename(path: os.PathLike): return os.path.splitext(os.path.basename(os.path.normpath(path)))[0]
[docs] def make_output_directory(output_dir: os.PathLike, model_name: str): pred_dir = os.path.join(output_dir, model_name) os.makedirs(pred_dir, exist_ok=True) return pred_dir
[docs] def parse_fasta(fasta_str: str): fasta_str = re.sub(">$", "", fasta_str, flags=re.M) lines = [l.replace("\n", "") for prot in fasta_str.split(">") for l in prot.strip().split("\n", 1)][1:] tags, seqs = lines[::2], lines[1::2] tags = [re.split(r"\W| \|", t)[0] for t in tags] return tags, seqs