Team Ai
Modelpublic

OneScience-Group/ESM

sourceHugging Facemitupdated 2mo agoView on Hugging Face
0likes24downloads
pretrained.cpython-311.pyc260 linesDownload Raw Back to __pycache__
1�

275NjfQ��r�ddlZddlZddlZddlmZddlmZddlZddlm	Z	ddl3mZddlm
Z
d�Zd�Zd�Zd	�Zd4�Zd�Zd�Zd
�Zd�Zd�Zd3d�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d�Z"d�Z#d�Z$d�Z%d�Z&d�Z'd �Z(d!�Z)d"�Z*d#�Z+d$�Z,d%�Z-d&�Z.d'�Z/d(�Z0d)�Z1d*�Z2d+�Z3d,�Z4d-�Z5d.�Z6d/�Z7d0�Z8d1�Z9d2�Z:dS)4�N)�	Namespace)�Path)�Alphabet)�ESM2c�$�d|vpd|vpd|vpd|vS)z�Return whether we expect / require regression weights;5    Right now that is all models except ESM-1v, ESM-IF, and partially trained ESM2 models�esm1v�esm_if�270K�500K���6model_names �M/root/private_data/gaozhan/onescience_reconstruct/ESM/model/esm/pretrained.py�_has_regression_weightsrs2���:�%�o��Z�)?�o�6�Z�CW�o�[a�eo�[o�p�p�c�h�|�d��rt|��St|��S)N�.pt)�endswith�load_model_and_alphabet_local�load_model_and_alphabet_hubr
s r�load_model_and_alphabetrs4�����5�!�!�7�,�Z�8�8�8�*�:�6�6�6rc�X�	tj�|dd���}n�#t$rNt	|��j}tjtj����d|��d���}Yn.tj	j7$r}td|�d����d}~wwxYw|S)NF�cpu)�progress�map_locationz
/checkpoints/�rzCould not load z., check if you specified a correct model name?)�torch�hub�load_state_dict_from_url�RuntimeErrorr�name�load�get_dir�urllib�error�	HTTPError�	Exception)�url�data�fn�es    r�load_hub_workaroundr, s���8_��y�1�1�#��TY�1�Z�Z�����9�10�11�
�#�Y�Y�^���z��y� � �"�"�5�5��5�5��12�13�14�����<�!�_�_�_��]�#�]�]�]�^�^�^�����_�����Ks�"%�AB'�<B'�B"�"B'c�0�d|�d�}t|��}|S)Nz3https://dl.fbaipublicfiles.com/fair-esm/regression/�-contact-regression.pt)r,)rr(�regression_datas   r�load_regression_hubr0/s%��15b�16�17b�18b�19b�C�)�#�.�.�O��rc�v�d|�d�}t|��}t|��rt|��}nd}||fS)Nz/https://dl.fbaipublicfiles.com/fair-esm/models/r)r,rr0)rr(�20model_datar/s    r�#_download_model_and_regression_datar35sN��21K�J�22K�23K�24K�C�$�S�)�)�J��z�*�*��-�j�9�9�������&�&rc�H�t|��\}}t|||��S�N)r3�load_model_and_alphabet_core)rr2r/s   rrr?s&��"E�j�"Q�"Q��J��'�25�J��P�P�Prc�0�t|��}tjt|��d���}|j}t|��r<t|�d����dz}tj|d���}nd}t|||��S)zBLoad from local path. The regression weights need to be co-locatedrr�r.N)rrr"�str�stemr�with_suffixr6)�model_locationr2r�regression_locationr/s     rrrDs����.�)�)�N���C��/�/�e�D�D�D�J��$�J��z�*�*��!�.�"<�"<�R�"@�"@�A�A�D\�\���*�%8�u�M�M�M�����'�26�J��P�P�Prc�X�td�|���D����S)zCDetermine whether layer norm needs to be applied before the encoderc3�FK�|]\}}|�d��V��dS)�emb_layer_norm_beforeN)�27startswith)�.0�k�params   r�	<genexpr>z,has_emb_layer_norm_before.<locals>.<genexpr>Ss3����Y�Y���E�q�|�|�3�4�4�Y�Y�Y�Y�Y�Yr)�any�items)�model_states r�has_emb_layer_norm_beforerIQs+���Y�Y�[�EV�EV�EX�EX�Y�Y�Y�Y�Y�Yrc�D��	�28���
�ddlm}|j�|dj��}|djdkr�d��d��29d���fd�t|d�����D��}�30�fd�|d	���D��}|d31|j���t|��|d<|j32}�n�|djdkrhd
��d��	�fd�t|d�����D��}�	fd�|d	���D��}|j33}�n(|djdkr�d��d��34d��d���fd�t|d�����D��}�35��fd�|d	���D��}|�dd��r |d�d��}||d<|j
}nrd|djvrTddl}|jjj}t|d��}d��
�
fd�|d	���D��}nt%d ���|t'd!i|��|��}|||fS)"Nr�args�
roberta_largec�n�d�d|vr|�d��dd�n|��S�Nr8�encoder�encoder_���join�split��ss r�<lambda>z2_load_model_and_alphabet_core_v1.<locals>.<lambda>]�4�����9��>�>����36� 3� 3�A�B�B� 7� 7�q�Q�Q�rc�n�d�d|vr|�d��dd�n|��S�Nr8rO�encoder.rQrRrUs rrWz2_load_model_and_alphabet_core_v1.<locals>.<lambda>^�5�����I��N�N�����!4�!4�Q�R�R�!8�!8�PQ�R�R�rc�n�d�d|vr|�d��dd�n|��S�Nr8�sentence_encoderzsentence_encoder.rQrRrUs rrWz2_load_model_and_alphabet_core_v1.<locals>.<lambda>_�<�����0B�a�0G�0G�A�G�G�'�(�(����,�,�Q�37�38�rc�@��i|]}�|d��|d��S�rrQr�rB�arg�pras  �r�39<dictcomp>z4_load_model_and_alphabet_core_v1.<locals>.<dictcomp>b�+���V�V�V�c�c�c�#�a�&�k�k�3�q�6�V�V�Vrc�R��i|]#}��|d����|d��$Srbr)rBrd�prs1�prs2s  ��rrfz4_load_model_and_alphabet_core_v1.<locals>.<dictcomp>cs5���Y�Y�Y�c�t�t�D�D��Q��L�L�)�)�3�q�6�Y�Y�Yr�modelzembed_tokens.weightr@�protein_bert_basec�n�d�d|vr|�d��dd�n|��S)Nr8�decoder�decoder_rQrRrUs rrWz2_load_model_and_alphabet_core_v1.<locals>.<lambda>krXrc�n�d�d|vr|�d��dd�n|��S)Nr8rnzdecoder.rQrRrUs rrWz2_load_model_and_alphabet_core_v1.<locals>.<lambda>lrXrc�@��i|]}�|d��|d��Srbrrcs  �rrfz4_load_model_and_alphabet_core_v1.<locals>.<dictcomp>mrgrc�@��i|]}�|d��|d��Srbr)rBrd�prss  �rrfz4_load_model_and_alphabet_core_v1.<locals>.<dictcomp>ns+���R�R�R�s�s�s�3�q�6�{�{�C��F�R�R�Rr�msa_transformerc�n�d�d|vr|�d��dd�n|��SrNrRrUs rrWz2_load_model_and_alphabet_core_v1.<locals>.<lambda>srXrc�n�d�d|vr|�d��dd�n|��SrZrRrUs rrWz2_load_model_and_alphabet_core_v1.<locals>.<lambda>tr\rc�n�d�d|vr|�d��dd�n|��Sr^rRrUs rrWz2_load_model_and_alphabet_core_v1.<locals>.<lambda>ur`rc�b�d|vr|�dd��n|�dd��S)N�row�column��replacerUs rrWz2_load_model_and_alphabet_core_v1.<locals>.<lambda>xs1��u��z�z����5�(�3�3�3�q�y�y�QY�[`�Ga�Ga�rc�@��i|]}�|d��|d��Srbrrcs  �rrfz4_load_model_and_alphabet_core_v1.<locals>.<dictcomp>yrgrc40�d��i|],}���|d������|d��-Srbr)rBrdrirj�prs3s  ���rrfz4_load_model_and_alphabet_core_v1.<locals>.<dictcomp>zs?���_�_�_�C�t�t�D�D���c�!�f���.�.�/�/��Q��_�_�_r�embed_positions_msaF�msa_position_embedding������embed_positions_msa_dim�
invariant_gvpc�f�|�dd��}|�dd��}|�dd��}|�dd��}|�d	d41��}|�dd��}|�d
d��}|�dd��}|S)N�W_vzembed_graph.embed_node�W_ezembed_graph.embed_edgezembed_scores.0�embed_confidencezembed_score.zembed_graph.embed_confidence.zseq_logits_projection.r8�embed_ingraham_features�embed_dihedralszembed_gvp_in_local_frame.0�embed_gvp_outputzembed_features_in_local_frame.0�embed_gvp_input_featuresr{rUs r�update_namez5_load_model_and_alphabet_core_v1.<locals>.update_name�s����	�	�%�!9�:�:�A��	�	�%�!9�:�:�A��	�	�*�,>�?�?�A��	�	�.�*I�J�J�A��	�	�2�B�7�7�A��	�	�3�5F�G�G�A��	�	�6�8J�K�K�A��	�	�;�=W�X�X�A��Hrc�6��i|]\}}d|v�	�|��|��S)�versionr)rB�sname�svaluer�s   �rrfz4_load_model_and_alphabet_core_v1.<locals>.<dictcomp>�s>���42�43�44���v���%�%�
�K�����%�%�%rzUnknown architecture selectedr)�	model.esm�esmr�from_architecture�arch�varsrG�mask_idx�zero_rI�ProteinBertModel�get�size�MSATransformer�model.esm.inverse_folding�inverse_folding�gvp_transformer�GVPTransformerModel�45ValueErrorr)r2r��alphabet�46model_argsrH�47model_type�emb_dimrkrersrirjrr�s        @@@@@@r� _load_model_and_alphabet_core_v1r�VsE���������������|�-�-�j��.@�.E�F�F�H��&���/�1�1�Q�Q��R�R��48�49��W�V�V�V�T�*�V�:L�5M�5M�5S�5S�5U�5U�V�V�V�50�Y�Y�Y�Y�Y�Z��=P�=V�=V�=X�=X�Y�Y�Y���)�*�8�+<�=�C�C�E�E�E�.G��.T�.T�51�*�+��)�52�53�	�F�	�	 �$7�	7�	7�R�Q��Q�Q��V�V�V�V�T�*�V�:L�5M�5M�5S�5S�5U�5U�V�V�V�54�R�R�R�R�j��6I�6O�6O�6Q�6Q�R�R�R���)�55�56�	�F�	�	 �$5�	5�	5�R�Q��R�R��57�58��b�a��V�V�V�V�T�*�V�:L�5M�5M�5S�5S�5U�5U�V�V�V�59�_�_�_�_�_�_�:�g�CV�C\�C\�C^�C^�_�_�_���>�>�/��7�7�	<�!�":�;�@�@��D�D�G�4;�J�0�1��'�60�61�	�J�v�.�3�	3�	3�(�(�(�(��(�8�L�62��*�V�,�-�-�63�	�	�	�64�65�66�67�!+�G�!4�!:�!:�!<�!<�68�69�70����8�9�9�9��J����J����
�
�E�71�(�K�'�'rc���d�}|dd}|d}||��}tjd��}t|j|j|j||j���}|||fS)Nc���ddg}tjdd�|��z����fd�|���D��}|S)zHRemoves prefixes 'model.encoder.sentence_encoder.' and 'model.encoder.'.zencoder.sentence_encoder.r[�^�|c�D��i|]\}}��d|��|��S)r8)�sub)rBr!rD�patterns   �rrfzP_load_model_and_alphabet_core_v2.<locals>.upgrade_state_dict.<locals>.<dictcomp>�s-���Y�Y�Y�{�t�U�g�k�k�"�d�+�+�U�Y�Y�Yr)�re�compilerSrG)�72state_dict�prefixesr�s  @r�upgrade_state_dictz<_load_model_and_alphabet_core_v2.<locals>.upgrade_state_dict�sX���/��<���*�S�3�8�8�H�#5�#5�5�6�6��Y�Y�Y�Y�j�FV�FV�FX�FX�Y�Y�Y�73��r�cfgrkzESM-1b)�74num_layers�	embed_dim�attention_headsr��
token_dropout)rr�r�encoder_layers�encoder_embed_dim�encoder_attention_headsr�)r2r�r�r�r�rks      r� _load_model_and_alphabet_core_v2r��s�������U�75�G�76$�C��G�$�J�#�#�J�/�/�J��)�(�3�3�H���%��'��3���'�
�
�
�E��(�J�&�&rc���|�!|d�|d��|�d��rt|��\}}}nt|��\}}}t	|��������}t	|�����}|��ddh}g}	||z77|z78}79|80r|	�d|81�d���||z82}|r|	�d|�d���|	r@td�	|j83jd	�|	�������||z84rtjd85��|�||du���||fS)Nrk�esm2zcontact_head.regression.weightzcontact_head.regression.biaszMissing key(s) in state_dict: �.z!Unexpected key(s) in state_dict: z*Error(s) in loading state_dict for {}:86	{}z87	zSRegression weights not found, predicting contacts will not produce correct results.)�strict)�updaterAr�r��setr��keys�appendr �format�	__class__�__name__rS�warnings�warn�load_state_dict)rr2r/rkr�rH�
expected_keys�88found_keys�expected_missing�89error_msgs�missing�90unexpecteds            rr6r6�s����"��7��"�"�?�7�#;�<�<�<����V�$�$�T�'G�91�'S�'S�$��x���'G�92�'S�'S�$��x����(�(�*�*�/�/�1�1�2�2�M��[�%�%�'�'�(�(�J���<�>\�]���93� �:�-�1A�A���	K����I�w�I�I�I�J�J�J��-�/�94��	Q����O�*�O�O�O�P�P�P��	��>�E�E��O�,�f�k�k�*�.E�.E�����
�95�j�(�	��M�e�
�
�
�96���+�o�T�.I��J�J�J��(�?�rc� �td��S)zx34 layer transformer model with 670M params, trained on Uniref50 Sparse.97 98    Returns a tuple of (Model, Alphabet).99    �esm1_t34_670M_UR50S�rrrrr�r�����100'�'<�=�=�=rc� �td��S)zw34 layer transformer model with 670M params, trained on Uniref50 Dense.101 102    Returns a tuple of (Model, Alphabet).103    �esm1_t34_670M_UR50Dr�rrrr�r��r�rc� �td��S)zr34 layer transformer model with 670M params, trained on Uniref100.104 105    Returns a tuple of (Model, Alphabet).106    �esm1_t34_670M_UR100r�rrrr�r��r�rc� �td��S)zw12 layer transformer model with 85M params, trained on Uniref50 Sparse.107 108    Returns a tuple of (Model, Alphabet).109    �esm1_t12_85M_UR50Sr�rrrr�r�����110'�';�<�<�<rc� �td��S)zv6 layer transformer model with 43M params, trained on Uniref50 Sparse.111 112    Returns a tuple of (Model, Alphabet).113    �esm1_t6_43M_UR50Sr�rrrr�r����114'�':�;�;�;rc� �td��S)z�33 layer transformer model with 650M params, trained on Uniref50 Sparse.115    This is our best performing model, which will be described in a future publication.116 117    Returns a tuple of (Model, Alphabet).118    �esm1b_t33_650M_UR50Sr�rrrr�r�	s��'�'=�>�>�>rc�H�tjd��td��S)NzyThis model had a minor bug in the positional embeddings, please use ESM-MSA-1b: esm.pretrained.esm_msa1b_t12_100M_UR50S()�esm_msa1_t12_100M_UR50S)r�r�rrrrr�r�s-���M�	K����'�'@�A�A�Arc� �td��S)N�esm_msa1b_t12_100M_UR50Sr�rrrr�r�s��&�'A�B�B�Brc� �td��S�z�33 layer transformer model with 650M params, trained on Uniref90.119    This is model 1 of a 5 model ensemble.120 121    Returns a tuple of (Model, Alphabet).122    �esm1v_t33_650M_UR90S_1r�rrr�esm1v_t33_650M_UR90Sr����'�'?�@�@�@rc� �td��Sr�r�rrrr�r�'r�rc� �td��S)z�33 layer transformer model with 650M params, trained on Uniref90.123    This is model 2 of a 5 model ensemble.124 125    Returns a tuple of (Model, Alphabet).126    �esm1v_t33_650M_UR90S_2r�rrrr�r�0r�rc� �td��S)z�33 layer transformer model with 650M params, trained on Uniref90.127    This is model 3 of a 5 model ensemble.128 129    Returns a tuple of (Model, Alphabet).130    �esm1v_t33_650M_UR90S_3r�rrrr�r�9r�rc� �td��S)z�33 layer transformer model with 650M params, trained on Uniref90.131    This is model 4 of a 5 model ensemble.132 133    Returns a tuple of (Model, Alphabet).134    �esm1v_t33_650M_UR90S_4r�rrrr�r�Br�rc� �td��S)z�33 layer transformer model with 650M params, trained on Uniref90.135    This is model 5 of a 5 model ensemble.136 137    Returns a tuple of (Model, Alphabet).138    �esm1v_t33_650M_UR90S_5r�rrrr�r�Kr�rc� �td��S)aInverse folding model with 142M params, with 4 GVP-GNN layers, 8139    Transformer encoder layers, and 8 Transformer decoder layers, trained on140    CATH structures and 12 million alphafold2 predicted structures from UniRef50141    sequences.142 143    Returns a tuple of (Model, Alphabet).144    �esm_if1_gvp4_t16_142M_UR50r�rrrr�r�Ts��'�'C�D�D�Drc� �td��S)zh6 layer ESM-2 model with 8M params, trained on UniRef50.145 146    Returns a tuple of (Model, Alphabet).147    �esm2_t6_8M_UR50Dr�rrrr�r�_s��148'�'9�:�:�:rc� �td��S)zj12 layer ESM-2 model with 35M params, trained on UniRef50.149 150    Returns a tuple of (Model, Alphabet).151    �esm2_t12_35M_UR50Dr�rrrr�r�gr�rc� �td��S)zk30 layer ESM-2 model with 150M params, trained on UniRef50.152 153    Returns a tuple of (Model, Alphabet).154    �esm2_t30_150M_UR50Dr�rrrr�r�or�rc� �td��S)zk33 layer ESM-2 model with 650M params, trained on UniRef50.155 156    Returns a tuple of (Model, Alphabet).157    �esm2_t33_650M_UR50Dr�rrrr�r�wr�rc� �td��S)zi36 layer ESM-2 model with 3B params, trained on UniRef50.158 159    Returns a tuple of (Model, Alphabet).160    �esm2_t36_3B_UR50Dr�rrrr�r�r�rc� �td��S)z�48 layer ESM-2 model with 15B params, trained on UniRef50.161    If you have OOM while loading this model, please refer to README162    on how to employ FSDP and ZeRO CPU offloading163 164    Returns a tuple of (Model, Alphabet).165    �esm2_t48_15B_UR50Dr�rrrr�r��s��'�';�<�<�<rc�Z�ddl}tjjj���S)a
166    ESMFold v0 model with 3B ESM-2, 48 folding blocks.167    This version was used for the paper (Lin et al, 2022). It was trained 168    on all PDB chains until 2020-05, to ensure temporal holdout with CASP14169    and the CAMEO validation and test set reported there.170    rN)�model.esm.esmfold.v1.pretrainedr��esmfold�v1�171pretrained�172esmfold_v0�rks rrr�s)��+�*�*�*��;�>�$�/�/�1�1�1rc�Z�ddl}tjjj���S)a5173    ESMFold v1 model using 3B ESM-2, 48 folding blocks.174    ESMFold provides fast high accuracy atomic level structure prediction175    directly from the individual sequence of a protein. ESMFold uses the ESM2176    protein language model to extract meaningful representations from the177    protein sequence.178    rN)rr�rrr�179esmfold_v1rs rrr�s)��+�*�*�*��;�>�$�/�/�1�1�1rc�Z�ddl}tjjj���S)a%180    ESMFold baseline model using 8M ESM-2, 0 folding blocks.181    ESM-2 here is trained out to 500K updates.182    This is a model designed to test the capabilities of the language model183    when ablated for number of parameters in the language model.184    See table S1 in (Lin et al, 2022).185    rN)rr�rrr� esmfold_structure_module_only_8Mrs rr186r187��)��+�*�*�*��;�>�$�E�E�G�G�Grc�Z�ddl}tjjj���S)a%188    ESMFold baseline model using 8M ESM-2, 0 folding blocks.189    ESM-2 here is trained out to 270K updates.190    This is a model designed to test the capabilities of the language model191    when ablated for number of parameters in the language model.192    See table S1 in (Lin et al, 2022).193    rN)rr�rrr�%esmfold_structure_module_only_8M_270Krs rr
r
��)��+�*�*�*��;�>�$�J�J�L�L�Lrc�Z�ddl}tjjj���S)a&194    ESMFold baseline model using 35M ESM-2, 0 folding blocks.195    ESM-2 here is trained out to 500K updates.196    This is a model designed to test the capabilities of the language model197    when ablated for number of parameters in the language model.198    See table S1 in (Lin et al, 2022).199    rN)rr�rrr�!esmfold_structure_module_only_35Mrs rrr�s)��+�*�*�*��;�>�$�F�F�H�H�Hrc�Z�ddl}tjjj���S)a&200    ESMFold baseline model using 35M ESM-2, 0 folding blocks.201    ESM-2 here is trained out to 270K updates.202    This is a model designed to test the capabilities of the language model203    when ablated for number of parameters in the language model.204    See table S1 in (Lin et al, 2022).205    rN)rr�rrr�&esmfold_structure_module_only_35M_270Krs rrr�s)��+�*�*�*��;�>�$�K�K�M�M�Mrc�Z�ddl}tjjj���S)a'206    ESMFold baseline model using 150M ESM-2, 0 folding blocks.207    ESM-2 here is trained out to 500K updates.208    This is a model designed to test the capabilities of the language model209    when ablated for number of parameters in the language model.210    See table S1 in (Lin et al, 2022).211    rN)rr�rrr�"esmfold_structure_module_only_150Mrs rrr��)��+�*�*�*��;�>�$�G�G�I�I�Irc�Z�ddl}tjjj���S)a'212    ESMFold baseline model using 150M ESM-2, 0 folding blocks.213    ESM-2 here is trained out to 270K updates.214    This is a model designed to test the capabilities of the language model215    when ablated for number of parameters in the language model.216    See table S1 in (Lin et al, 2022).217    rN)rr�rrr�'esmfold_structure_module_only_150M_270Krs rrr��)��+�*�*�*��;�>�$�L�L�N�N�Nrc�Z�ddl}tjjj���S)a'218    ESMFold baseline model using 650M ESM-2, 0 folding blocks.219    ESM-2 here is trained out to 500K updates.220    This is a model designed to test the capabilities of the language model221    when ablated for number of parameters in the language model.222    See table S1 in (Lin et al, 2022).223    rN)rr�rrr�"esmfold_structure_module_only_650Mrs rrr�rrc�Z�ddl}tjjj���S)a'224    ESMFold baseline model using 650M ESM-2, 0 folding blocks.225    ESM-2 here is trained out to 270K updates.226    This is a model designed to test the capabilities of the language model227    when ablated for number of parameters in the language model.228    See table S1 in (Lin et al, 2022).229    rN)rr�rrr�'esmfold_structure_module_only_650M_270Krs rrr�rrc�Z�ddl}tjjj���S)a%230    ESMFold baseline model using 3B ESM-2, 0 folding blocks.231    ESM-2 here is trained out to 500K updates.232    This is a model designed to test the capabilities of the language model233    when ablated for number of parameters in the language model.234    See table S1 in (Lin et al, 2022).235    rN)rr�rrr� esmfold_structure_module_only_3Brs rrrrrc�Z�ddl}tjjj���S)a%236    ESMFold baseline model using 3B ESM-2, 0 folding blocks.237    ESM-2 here is trained out to 270K updates.238    This is a model designed to test the capabilities of the language model239    when ablated for number of parameters in the language model.240    See table S1 in (Lin et al, 2022).241    rN)rr�rrr�%esmfold_structure_module_only_3B_270Krs rr r rrc�Z�ddl}tjjj���S)af242    ESMFold baseline model using 15B ESM-2, 0 folding blocks.243    ESM-2 here is trained out to 270K updates.244    The 15B parameter ESM-2 was not trained out to 500K updates245    This is a model designed to test the capabilities of the language model246    when ablated for number of parameters in the language model.247    See table S1 in (Lin et al, 2022).248    rN)rr�rrr�!esmfold_structure_module_only_15Brs rr"r"s)��+�*�*�*��;�>�$�F�F�H�H�Hrr5);r�r$r��argparser�pathlibrrr�r��onescience.datapipes.esmr�model.esm.esm2rrrr,r0r3rrrIr�r�r6r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrr249r
rrrrrrrr r"rrr�<module>r's���250�	�	�	�
�
�
�
���������������������������-�-�-�-�-�-�������q�q�q�7�7�7�������'�'�'�Q�Q�Q�251 252Q�253Q�254Q�Z�Z�Z�255L(�L(�L(�^'�'�'�,#�#�#�#�L>�>�>�>�>�>�>�>�>�=�=�=�<�<�<�?�?�?�B�B�B�C�C�C�A�A�A�A�A�A�A�A�A�A�A�A�A�A�A�A�A�A�E�E�E�;�;�;�=�=�=�>�>�>�>�>�>�<�<�<�=�=�=�2�2�2�	2�	2�	2�	H�	H�	H�	M�	M�	M�	I�	I�	I�	N�	N�	N�	J�	J�	J�	O�	O�	O�	J�	J�	J�	O�	O�	O�	H�	H�	H�	M�	M�	M�256I�257I�258I�259I�260Ir