@@ -97,7 +97,7 @@ def generate_ars_mapping(db_connection: sqlite3.Connection, imgt_version):
9797 return dup_g , g_group , lg_group , lgx_group
9898
9999
100- def generate_mac_codes (db_connection : sqlite3 .Connection ):
100+ def generate_mac_codes (db_connection : sqlite3 .Connection , refresh_mac : bool ):
101101 """
102102 MAC files come in 2 different versions:
103103
@@ -144,14 +144,16 @@ def generate_mac_codes(db_connection: sqlite3.Connection):
144144 :return:
145145 """
146146 mac_table_name = 'mac_codes'
147- if not db .table_exists (db_connection , mac_table_name ):
147+ if refresh_mac or not db .table_exists (db_connection , mac_table_name ):
148148 # Load the MAC file to a DataFrame
149149 mac_url = 'https://hml.nmdp.org/mac/files/numer.v3.zip'
150- df_mac = pd .read_csv (mac_url , sep = '\t ' , compression = 'zip' , skiprows = 3 , names = ['Code' , 'Alleles' ])
150+ df_mac = pd .read_csv (mac_url , sep = '\t ' , compression = 'zip' ,
151+ skiprows = 3 , names = ['Code' , 'Alleles' ])
151152 # Create a dict from code to alleles
152153 mac = df_mac .set_index ("Code" )["Alleles" ].to_dict ()
153154 # Save the mac dict to db
154- db .save_dict (db_connection , table_name = mac_table_name , dictionary = mac , columns = ('code' , 'alleles' ))
155+ db .save_dict (db_connection , table_name = mac_table_name ,
156+ dictionary = mac , columns = ('code' , 'alleles' ))
155157
156158
157159def generate_alleles_and_xx_codes (db_connection : sqlite3 .Connection , imgt_version ):
0 commit comments