PSP: excepción de búsqueda HHBlits de AlphaFold2 "número máximo de residuos 32763 excedido en la secuencia UniRef100"

Bienvenido a mi CSDN: https://spike.blog.csdn.net/
Dirección de este artículo: https://blog.csdn.net/caroline_wendy/article/details/131229922

HHBlits

HHBlits es una herramienta eficaz de alineación de secuencias de proteínas que puede buscar rápidamente secuencias homólogas en grandes bases de datos. El principio de HHBlits es utilizar modelos ocultos de Markov (HMM) para representar familias de proteínas, mejorando así la sensibilidad y la precisión de las alineaciones. La ventaja de HHBlits es que se puede realizar una búsqueda en minutos y se pueden manejar consultas con hasta miles de secuencias. La desventaja de HHBlits es que se requiere una base de datos de HMM preconstruida, y para secuencias de proteínas muy raras o nuevas, puede que no sea posible encontrar suficientes secuencias homólogas.

Origen del error:
AlphaFold2 utiliza la herramienta HHBlits para buscar en las bibliotecas BFD y UniRef30 y se produce una excepción, a saber:

I0615 03:59:25.956802 140204622899008 hhblits.py:129] Launching subprocess "/root/miniconda3/envs/alphafold/bin/hhblits -i mydata/gly-fasta-211/7n28_X.fasta -cpu 128 -oa3m /tmp/tmp335fuu56/output.a3m -o /dev/null -n 3 -e 0.001 -maxseq 1000000 -realign_max 100000 -maxfilt 100000 -min_prefilter_hits 1000 -d af2_data_dir/bfd/bfd_metaclust_clu_complete_id30_c90_final_seq.sorted_opt -d af2_data_dir/uniref30/UniRef30_2021_03"
...
HHblits failed. HHblits stderr begin:
...
maximum number of residues 32763 exceeded in sequence UniRef100_UPI001401E5A6_consensus
...

La razón es que el volumen de búsqueda de HHblits en algunos casos es demasiado grande, lo que resulta en anormalidades, simplemente reduzca el volumen de búsqueda, modifique alphafold/data/tools/hhblits.py:

...
class HHBlits:
  """Python wrapper of the HHblits binary."""

  # BUG: maximum number of residues 32763 exceeded in sequence UniRef100_UPI001401E5A6_consensus
  # 降低参数,以及去除异常
  def __init__(self,
               *,
               binary_path: str,
               databases: Sequence[str],
               # n_cpu: int = 4,
               n_cpu: int = 64,  # 根据服务器设定
               n_iter: int = 3,
               e_value: float = 0.001,
               # maxseq: int = 1_000_000,
               maxseq: int = 2_00_000,
               # realign_max: int = 100_000,
               realign_max: int = 50_000,
               # maxfilt: int = 100_000,
               maxfilt: int = 50_000,
               min_prefilter_hits: int = 1000,
               all_seqs: bool = False,
               alt: Optional[int] = None,
               p: int = _HHBLITS_DEFAULT_P,
               z: int = _HHBLITS_DEFAULT_Z):
...

Supongo que te gusta

Origin blog.csdn.net/u012515223/article/details/131229922
Recomendado
Clasificación