CoolFace
Modelpublic

OneScience-Group/DiffDock

sourceHugging Facemitupdated 1mo agoView on Hugging Face
0likes31downloads
score_wrapper.cpython-311.pyc49 linesDownload Raw Back to __pycache__
12�aOj4����ddlmZddlmZddlmZddlZddlZddlm	Z	ddl3mZmZ
ddlmZdd	lmZdd4lmZddlmZdZd
�Zd�Zd�Zdd�Zdd�Z			dd�Z					dd�ZdS)�)�	Namespace)�partial)�PathN)�DataParallel)�get_timestep_embedding�5t_to_sigma)�ExponentialMovingAverage�)�AAModel)�CGModel)�6AAOldModel)�moad_esm_embeddings_path�pdbbind_esm_embeddings_path� pdbsidechain_esm_embeddings_path�esm_embeddings_path�esm_embeddings_modelc���t|��}|dz}|�dd���5}tj|��pi}ddd��n#1swxYwYt	di|��S)Nzmodel_parameters.yml�rzutf-8)�encoding�)r�open�yaml�	full_loadr)�	model_dir�config_path�handle�configs    �@/public/home/liuyx19/modelscope/diffdock/models/score_wrapper.py�load_model_argsrs����Y���I��4�4�K�	�	�	�#��	�	0�	0�.�F����'�'�-�2��.�.�.�.�.�.�.�.�.�.�.����.�.�.�.����v���s�A�A�Ac�D��t�fd�tD����S)Nc3�>�K�|]}t�|d��duV��dS�N)�getattr)�.0�key�7model_argss  �r�	<genexpr>z+model_uses_lm_embeddings.<locals>.<genexpr>#s4�����X�X�c�w�z�3��-�-�T�9�X�X�X�X�X�X�)�any�_LM_EMBEDDING_KEYS)r&s`r�model_uses_lm_embeddingsr+"s'����X�X�X�X�EW�X�X�X�X�X�Xr(c�L�	||vS#t$rt||��cYSwxYwr")�	TypeError�hasattr)�args�names  r�_has_argr1&sB��#��t�|����#�#�#��t�T�"�"�"�"�"�#���s��#�#c��t|t��r|�||��St||��rt	||��S|Sr")�8isinstance�dict�getr1r#)r/r0�defaults   r�_get_argr7-sO���$����'��x�x��g�&�&�&���d���#��t�T�"�"�"��Nr(Fc�F�tt|dd��|jt|dd�����}t|dd��}|r|std���d}t|d	���0t|d9��� t|d���t|d���d
}t|d���|j}|rt10}	n|rt}	nt}	tdLid|�d|�d|j	�d|�d|j11�d|j�d|j�d|j�dt|dd���d|j
�d|j�d|j�d|j�d|j�d|j�d|j�d|j�d |j�d!t|d!d���d"t|d"d���d#|�d$|�d%t|d%d&���d't|d'd���d(t|d(d���d)t|d)d*���d+t-t|d,��t.��rt1|j��d*znd*�d-t-t|d.��t.��rt1|j��d*znd*�d/t|d/d0���d1t|d2d���d3t|d3d���d4t|d4d���d5t|d5d6���d7t|d8d���d9t|d9d6���d:t|d:d;���d<t|d<d���d=t|d=d���d>t|d?d&��d&k�d@t7|dA��r|jd;kpt7|dB��o12|jd;k�dCt|dCd����}13|	turt|dDd��|14dD<nO|	t15urFdED]}|16�|d���t|d���dFnd|17d#<t|dGdH��|18dG<|	dLi|19��}|jdIkr%|s#t|dJ��dKkrtA|��}|�!|��|S)MN�embedding_type�20sinusoidal�embedding_scalei')r9�
embedding_dimr;�	all_atomsFz�The old coarse-grained DiffDock model path is not migrated yet. Use old=True only with all_atoms=True, or migrate old_cg_model.py first.rrrr�precomputedrr�device�21no_torsion�timestep_emb_func�num_conv_layers�lig_max_radius�scale_by_sigma�sigma_embed_dim�
norm_by_sigma�ns�nv�distance_embed_dim�cross_distance_embed_dim�22batch_norm�dropout�use_second_order_repr�cross_max_distance�dynamic_max_cross�smooth_edges�23odd_parity�lm_embedding_type�confidence_mode�confidence_dropoutg�confidence_no_batchnorm�affinity_prediction�parallelr24�num_confidence_outputs�rmsd_classification_cutoff�atom_num_confidence_outputs�atom_rmsd_classification_cutoff�parallel_aggregators��fixed_center_conv�not_fixed_center_conv�no_aminoacid_identities�include_miscellaneous_atoms�sh_lmax��differentiate_convolutions�no_differentiate_convolutions�tp_weights_layers�num_prot_emb_layersr�reduce_pseudoscalars�embed_also_ligand�atom_confidence�atom_confidence_loss_weight�sidechain_pred�sidechain_loss_weight�backbone_loss_weight�depthwise_convolution�crop_beyond)	rZrdrfrgrhrirjrlro�esm�use_old_atom_encoderT�cuda�dataset�	torsionalr)"rr7rE�NotImplementedErrorrr
rrr4r@rB�25max_radiusrDrGrHrIrJ�
no_batch_normrLrMrNrOr3�list�lenrYr[r1rmrn�pop�typer�to)
r/r?r�no_parallelrS�oldrAr=rR�model_class�model_kwargsr%�models
             r�	get_modelr�5s���.���&6��E�E��*� ��'8�%�@�@�������{�E�2�2�I�26�27�9�28�!�
W�29�30�	3132����1�2�2�>��D�7�8�8�D��D�<�=�=�I��D�/�0�0�<�)����,�-�-�9� �5��33�� ���	��������5�5�5��:�5��v�5��?�?�5�,�+�	5�34�,�,�5����
5��*�*�5��,�,�5��t�_�e�<�<�<�5��7�7�5��7�7�5� �2�2�5�"&�!>�!>�5��)�)�)�5����5� #�8�8�!5�" �2�2�#5�$�0�0�%5�&�d�N�E�:�:�:�'5�(�D�,��6�6�6�)5�*,�+�+5�,(��-5�.$�D�*>��D�D�D�/5�0!)��/H�%� P� P� P�15�2%�T�+@�%�H�H�H�35�4�$�35�A�.�.�.�55�:�(�4�)E�F�F��M�M�
�C��/�0�0�1�4�4���=5�D�(�4�)J�K�K�T�R�R�
�C��4�5�5��9�9���G5�J&�d�,B�B�G�G�G�K5�L'�t�-D�e�L�L�L�L�M5�N!)��/H�%� P� P� P�O5�P%-�T�3P�RW�$X�$X�$X�Q5�R��y�!�,�,�,�S5�T(0��6U�W\�']�']�#]�#]�U5�V#�4�)<�a�@�@�@�W5�X%�T�+@�!�D�D�D�Y5�Z&�d�,B�E�J�J�J�[5�\#�4�)<�e�D�D�D�]5�^!��'D�c�J�J�S�P�P�_5�b�d�3�
4�
4�
W��9S�VW�9W�
Z���5�6�6�X�4�;T�WX�;X��e5�h'�t�-D�e�L�L�L�i5�L�l�g���&.�t�]�D�&I�&I��]�#�#�	�36�	"�	"�3738�	(�	(�C�
���S�$�'�'�'�'��d�$9�:�:�F�E�E�D�	�(�)�08��>T�VZ�/[�/[��+�,��K�'�'�,�'�'�E�
�{�f���[��X�d�I�5N�5N�R]�5]�5]��U�#�#��	�H�H�V�����Lr(c�`�tt|���}t||||||���}||fS)N)r/)rr~rSr)r�t_to_sigma_complr�)r&r?r~rSrrr�s       r�build_score_modelr��sJ���)�39�;�;�;�J������'��

�
�
�E��*��r(Tc�0�|�4tjtj���rdnd��}t	|��}t|||||���\}}	t
|��|z}40tj|41tjd�����}t|t��r�d|vr�d|vr�|�42|d|���d|vr}t|d	d���lt|�
��|j�43��}|�44|d|���|�|�
����n|�45||���|�|��}|���|||	fS)Nrs�cpu)r&r?r~rSr)�map_locationr��	optimizer)�strict�ema_weights�ema_rate)�decay)r?)�torchr?rs�is_availablerr�r�loadr3r4�load_state_dictr#r	�46parametersr��copy_tor}�eval)
r�ckptr?r~rSrr�r&r�r�checkpoint_path�47state_dictr�s
             r�load_score_modelr��s����~����48�(?�(?�(A�(A�L�f�f�u�M�M�� ��+�+�J�)����'������E�:��9�o�o��,�O���O�%�,�u�:M�:M�N�N�N�J��*�d�#�#�9��:�(=�(=�+�Q[�B[�B[�
���j��1�&��A�A�A��J�&�&�7�:�z�4�+P�+P�+\�2�5�3C�3C�3E�3E�Z�M`�a�a�a�K��'�'�49�=�(A�&�'�Q�Q�Q����� 0� 0� 2� 2�3�3�3��
���j���8�8�8��H�H�V���E�	�J�J�L�L�L��*�j�(�(r(r")FFF)NTFFT)�argparser�	functoolsr�pathlibrr�r� torch_geometric.nn.data_parallelr�)onescience.utils.diffdock.diffusion_utilsrrr��onescience.utils.diffdock.utilsr	�aa_modelr�cg_modelr�old_aa_modelr
r*rr+r1r7r�r�r�rr(r�<module>r�sr����������������������������9�9�9�9�9�9�l�l�l�l�l�l�l�l�D�D�D�D�D�D�������������$�$�$�$�$�$������Y�Y�Y�#�#�#�����o�o�o�o�j��
�����,���
��!)�!)�!)�!)�!)�!)r(