Skip to content

Commit 4b767ca

Browse files
committedMar 16, 2025·
chore(data_analysis): complete filtering_toxicity and logs refactor
1 parent b598c8b commit 4b767ca

File tree

13 files changed

+511
-2931
lines changed

13 files changed

+511
-2931
lines changed
 

‎.vscode/settings.json

+1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
"cardiotoxicity",
1919
"celerybeat",
2020
"cellosaurus",
21+
"charact",
2122
"chembl",
2223
"ChEMBL",
2324
"chemidplus",

‎ChEMBL_download_activities/download.py

+6-6
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ def DownloadTargetChEMBLActivities(targets_data: pd.DataFrame):
3939
activities_config["logger_color"])
4040

4141
v_logger.info("Start download activities connected with targets...")
42-
v_logger.info(f"{'-' * 77}", LogMode.VERBOSELY)
42+
v_logger.info("-", LogMode.VERBOSELY)
4343

4444
# итерируемся по идентификаторам мишеней.
4545
for target_id in targets_data['target_chembl_id']:
@@ -56,7 +56,7 @@ def DownloadTargetChEMBLActivities(targets_data: pd.DataFrame):
5656
v_logger.info("Activities connected with target "
5757
f"{target_id} is already downloaded, skip.",
5858
LogMode.VERBOSELY)
59-
v_logger.info(f"{'-' * 77}", LogMode.VERBOSELY)
59+
v_logger.info("-", LogMode.VERBOSELY)
6060

6161
continue # переходим к следующей мишени.
6262

@@ -173,7 +173,7 @@ def DownloadTargetChEMBLActivities(targets_data: pd.DataFrame):
173173
v_logger.UpdateFormat(activities_config["logger_label"],
174174
activities_config["logger_color"])
175175

176-
v_logger.info(f"{'-' * 77}", LogMode.VERBOSELY)
176+
v_logger.info("-", LogMode.VERBOSELY)
177177

178178
v_logger.success("End download activities connected with targets!")
179179

@@ -208,7 +208,7 @@ def GetCellLineChEMBLActivitiesFromCSV(cell_lines_data: pd.DataFrame):
208208
activities_config["logger_color"]) - 1
209209

210210
v_logger.info("Start getting activities connected with cell_lines...")
211-
v_logger.info(f"{'-' * 77}", LogMode.VERBOSELY)
211+
v_logger.info("-", LogMode.VERBOSELY)
212212

213213
# итерируемся по идентификаторам клеточных линий.
214214
for cell_id in cell_lines_data['cell_chembl_id']:
@@ -224,7 +224,7 @@ def GetCellLineChEMBLActivitiesFromCSV(cell_lines_data: pd.DataFrame):
224224

225225
v_logger.info("Activities connected with target "
226226
f"{cell_id} is already gotten, skip", LogMode.VERBOSELY)
227-
v_logger.info(f"{'-' * 77}", LogMode.VERBOSELY)
227+
v_logger.info("-", LogMode.VERBOSELY)
228228

229229
continue # переходим к следующей клеточной линии.
230230

@@ -341,7 +341,7 @@ def GetCellLineChEMBLActivitiesFromCSV(cell_lines_data: pd.DataFrame):
341341
v_logger.UpdateFormat(activities_config["logger_label"],
342342
activities_config["logger_color"])
343343

344-
v_logger.info(f"{'-' * 77}", LogMode.VERBOSELY)
344+
v_logger.info("-", LogMode.VERBOSELY)
345345

346346
v_logger.success("End getting activities connected with cell_lines!")
347347

‎ChEMBL_download_activities/functions.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ def CleanedTargetActivitiesDF(data: pd.DataFrame,
189189
v_logger.success("Reindexing columns in logical order!", LogMode.VERBOSELY)
190190
v_logger.success(f"End cleaning activities DataFrame from {target_id}!",
191191
LogMode.VERBOSELY)
192-
v_logger.info(f"{'-' * 77}", LogMode.VERBOSELY)
192+
v_logger.info("-", LogMode.VERBOSELY)
193193

194194
return data
195195

@@ -278,6 +278,6 @@ def CleanedCellLineActivitiesDF(data: pd.DataFrame,
278278
v_logger.success("Reindexing columns in logical order!", LogMode.VERBOSELY)
279279
v_logger.success(f"End cleaning activities DataFrame from {cell_id}!",
280280
LogMode.VERBOSELY)
281-
v_logger.info(f"{'-' * 77}", LogMode.VERBOSELY)
281+
v_logger.info("-", LogMode.VERBOSELY)
282282

283283
return data

‎ChEMBL_download_cell_lines/download.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ def DownloadChEMBLCellLines():
2929
v_logger.UpdateFormat(cell_lines_config["logger_label"],
3030
cell_lines_config["logger_color"])
3131

32-
v_logger.info(f"{'-' * 21} ChEMBL downloading for DrugDesign {'-' * 21}")
32+
v_logger.info(f"{"• " * 10} ChEMBL downloading for DrugDesign.")
3333

3434
# создаем директорию для сохранения результатов, если она не существует.
3535
os.makedirs(cell_lines_config["results_folder_name"], exist_ok=True)
@@ -60,5 +60,5 @@ def DownloadChEMBLCellLines():
6060
f"downloaded, skip.",
6161
LogMode.VERBOSELY)
6262

63-
v_logger.success(f"{'-' * 21} ChEMBL downloading for DrugDesign {'-' * 21}")
64-
v_logger.info(f"{'-' * 77}")
63+
v_logger.success(f"{"• " * 10} ChEMBL downloading for DrugDesign!")
64+
v_logger.info()

‎ChEMBL_download_compounds/download.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ def DownloadChEMBLCompounds():
3737
v_logger.UpdateFormat(compounds_config["logger_label"],
3838
compounds_config["logger_color"])
3939

40-
v_logger.info(f"{'-' * 21} ChEMBL downloading for DrugDesign {'-' * 21}")
40+
v_logger.info(f"{"• " * 10} ChEMBL downloading for DrugDesign.")
4141

4242
# создаем директорию для результатов, если она не существует.
4343
os.makedirs(compounds_config["results_folder_name"], exist_ok=True)
@@ -69,7 +69,7 @@ def DownloadChEMBLCompounds():
6969
f"{greater_limit}) is already downloaded, skip.",
7070
LogMode.VERBOSELY)
7171

72-
v_logger.info(f"{'-' * 77}", LogMode.VERBOSELY)
72+
v_logger.info("-", LogMode.VERBOSELY)
7373

7474
# если нужно объединять файлы.
7575
if compounds_config["need_combining"]:
@@ -92,5 +92,5 @@ def DownloadChEMBLCompounds():
9292
f"Deleting files after combining in "
9393
f"'{compounds_config["results_folder_name"]}'!")
9494

95-
v_logger.success(f"{'-' * 21} ChEMBL downloading for DrugDesign {'-' * 21}")
96-
v_logger.info(f"{'-' * 77}")
95+
v_logger.success(f"{"• " * 10} ChEMBL downloading for DrugDesign!")
96+
v_logger.info()

‎ChEMBL_download_targets/download.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ def DownloadChEMBLTargets():
2929
v_logger.UpdateFormat(targets_config["logger_label"],
3030
targets_config["logger_color"])
3131

32-
v_logger.info(f"{'-' * 21} ChEMBL downloading for DrugDesign {'-' * 21}")
32+
v_logger.info(f"{"• " * 10} ChEMBL downloading for DrugDesign.")
3333

3434
# создаем директорию для результатов скачивания, если она не существует.
3535
os.makedirs(targets_config["results_folder_name"], exist_ok=True)
@@ -60,5 +60,5 @@ def DownloadChEMBLTargets():
6060
f"downloaded, skip",
6161
LogMode.VERBOSELY)
6262

63-
v_logger.success(f"{'-' * 21} ChEMBL downloading for DrugDesign {'-' * 21}")
64-
v_logger.info(f"{'-' * 77}")
63+
v_logger.info(f"{"• " * 10} ChEMBL downloading for DrugDesign!")
64+
v_logger.info()

‎Configurations/config.json

+5-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"testing_flag": false,
3-
"skip_downloaded": true,
3+
"skip_downloaded": false,
44
"csv_separator": ";",
55
"keyboard_end_message": "\n End of downloading for DrugDesign by keyboard...\n",
66
"ChEMBL_download_activities": {
@@ -133,7 +133,10 @@
133133
"route": [
134134
"inhalation"
135135
]
136-
}
136+
},
137+
"need_filtering_by_characteristics": true,
138+
"occurrence_characteristics_number": 100,
139+
"characteristics_folder_name": "characteristics"
137140
},
138141
"sleep_time": 0.211,
139142
"start_page": 1,

‎PubChem_download_toxicity/download.py

+219-192
Large diffs are not rendered by default.

‎PubChem_download_toxicity/functions.py

+256-32
Large diffs are not rendered by default.

‎README.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,9 @@
188188
* `m3`: *dictionary* - фильтрация для дозы, указанной в `mg/m3`.
189189
* `organism`: *list[string]* - список организмов для фильтрации.
190190
* `route`: *list[string]* - список способов введения для фильтрации.
191+
* `need_filtering_by_characteristics`: *boolean* - логический флаг, указывающий, следует сохранять отфильтрованные по количеству вхождений характеристик выборки токсичности.
192+
* `occurrence_characteristics_number`: *integer* - минимальное количество вхождений характеристик в соотв. выборки.
193+
* `characteristics_folder_name`: *string* - имя папки для хранения отфильтрованных по количеству вхождений характеристик выборок токсичности.
191194
* `sleep_time`: *float* - число с плавающей точкой, представляющее время ожидания между запросами (в секундах, для предотвращения блокировки со стороны PubChem).
192195
* `start_page`: *integer* - число, представляющее начальную страницу данных о токсичности.
193196
* `end_page`: *integer* - число, представляющее последнюю страницу данных о токсичности.
@@ -242,4 +245,3 @@
242245

243246
* IUPAC WFChemCookbook repository / International Union of Pure and Applied Chemistry. — Текст : электронный // GitHub : [сайт](https://github.com/IUPAC/WFChemCookbook)
244247
* FionaEBI ChEMBL notebooks repository / FionaEBI. — Текст : электронный // GitHub : [сайт](https://github.com/chembl/notebooks)
245-

‎Utils/files_funcs.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ def CombineCSVInFolder(folder_name: str,
138138
combine_config["logger_label"], combine_config["logger_color"]) - 1
139139

140140
v_logger.info("Start combining downloads...")
141-
v_logger.info(f"{'-' * 77}", LogMode.VERBOSELY)
141+
v_logger.info("-", LogMode.VERBOSELY)
142142

143143
# если файл уже существует и нужно пропускать скачанные, выходим.
144144
if IsFileInFolder(folder_name, f"{combined_file_name}.csv") and\
@@ -193,7 +193,7 @@ def CombineCSVInFolder(folder_name: str,
193193
v_logger.success(
194194
f"Concatenating '{file_name}' to combined_data_frame!",
195195
LogMode.VERBOSELY)
196-
v_logger.info(f"{'-' * 77}", LogMode.VERBOSELY)
196+
v_logger.info("-", LogMode.VERBOSELY)
197197

198198
v_logger.info(f"Collecting to combined .csv file in '{folder_name}'...",
199199
LogMode.VERBOSELY)
@@ -203,9 +203,9 @@ def CombineCSVInFolder(folder_name: str,
203203
f"{folder_name}/{combined_file_name}.csv",
204204
sep=config["csv_separator"], index=False)
205205

206-
v_logger.success(f"Collecting to combined .csv file in '{folder_name}'!",
207-
LogMode.VERBOSELY)
208-
v_logger.info(f"{'-' * 77}", LogMode.VERBOSELY)
206+
v_logger.success(
207+
f"Collecting to combined .csv file in '{folder_name}'!", LogMode.VERBOSELY)
208+
v_logger.info("-", LogMode.VERBOSELY)
209209
v_logger.success("End combining downloads!")
210210

211211
# восстанавливаем формат логгера.

‎Utils/verbose_logger.py

+4
Original file line numberDiff line numberDiff line change
@@ -271,6 +271,10 @@ def __LogMethod(self,
271271

272272
def Wrapper(message: str = f"{"-" * (self.__message_ljust - 1)}",
273273
log_mode: LogMode = LogMode.RETICENTLY):
274+
# в том случае, если сообщение состоит из одного символа, превращаем в полосу.
275+
if len(message) == 1:
276+
message = f"{f"{message}" * (self.__message_ljust - 1)}"
277+
274278
# вызываем метод Log с заданным уровнем и сообщением.
275279
self.Log(level_name, message, log_mode)
276280

‎filtering_toxicity.ipynb

-2,681
This file was deleted.

0 commit comments

Comments
 (0)
Please sign in to comment.