Skip to content
Snippets Groups Projects
Commit ce37382e authored by mjbonifa's avatar mjbonifa
Browse files

updated readme and counts for omop table messages

parent 56caa2af
No related branches found
No related tags found
No related merge requests found
......@@ -136,6 +136,22 @@ Please execute the following process:
```bash
acmc omop install -f <path to downloaded OMOP zip file> -v <release version from email>
```
Expected output:
```bash
[INFO] - Installing OMOP from zip file: ../data/acmc-omop.zip
[INFO] - Extracted OMOP zip file ../data/acmc-omop.zip to vocab/omop/
[INFO] - Processing 1 of 9 tables: vocab/omop/CONCEPT.csv
[INFO] - Processing 2 of 9 tables: vocab/omop/DOMAIN.csv
[INFO] - Processing 3 of 9 tables: vocab/omop/CONCEPT_CLASS.csv
[INFO] - Processing 4 of 9 tables: vocab/omop/RELATIONSHIP.csv
[INFO] - Processing 5 of 9 tables: vocab/omop/DRUG_STRENGTH.csv
[INFO] - Processing 6 of 9 tables: vocab/omop/VOCABULARY.csv
[INFO] - Processing 7 of 9 tables: vocab/omop/CONCEPT_SYNONYM.csv
[INFO] - Processing 8 of 9 tables: vocab/omop/CONCEPT_ANCESTOR.csv
[INFO] - Processing 9 of 9 tables: vocab/omop/CONCEPT_RELATIONSHIP.csv
[INFO] - OMOP installation completed
```
---
......@@ -451,7 +467,7 @@ The `phen` command is used phenotype-related operations.
## License
MIT License
This project is licensed under the terms of the **Apache License 2.0**. For more details, please see the full license [here](http://www.apache.org/licenses/LICENSE-2.0).
## Support
......
......@@ -42,7 +42,7 @@ vocabularies = {
#Populate SQLite3 Database with default OMOP CONCEPTS
def install (omop_zip_file, version):
"""Installs the OMOP release csv files in a file-based sql database"""
logger.info(f"Installing OMOP downloads {omop_zip_file}")
logger.info(f"Installing OMOP from zip file: {omop_zip_file}")
omop_zip_path = Path(omop_zip_file)
# Check if the file exists and is a ZIP file
......@@ -74,22 +74,24 @@ def install (omop_zip_file, version):
# connect to database, if it does not exist it will be created
conn = sqlite3.connect(DB_PATH)
# Iterate through files in the folder
for filename in os.listdir(VOCAB_PATH):
if filename.endswith(".csv"): # Check if the file is a CSV
file_path = os.path.join(VOCAB_PATH, filename)
try:
logger.info(f"Reading table: {file_path}")
# read the CSV file with the specified delimiter
df = pd.read_csv(file_path, delimiter="\t", low_memory=False)
table_name = os.path.splitext(os.path.basename(file_path))[0] #Get name of file
csv_files = list(VOCAB_PATH.glob("*.csv"))
total_tables_count = len(csv_files)
table_count = 1
for filename in csv_files:
try:
logger.info(f"Processing {table_count} of {total_tables_count} tables: {filename}")
# read the CSV file with the specified delimiter
df = pd.read_csv(filename, delimiter="\t", low_memory=False)
# export Table to sqlite db
df.to_sql(filename.stem, conn, if_exists='replace', index=False)
# export Table to sqlite db
df.to_sql(table_name, conn, if_exists='replace', index=False)
# add to the metadata
vocabularies["tables"].append(filename.stem)
table_count = table_count + 1
except Exception as e:
raise Exception(f"Error reading file {filename}: {e}")
# add to the metadata
vocabularies["tables"].append(filename)
except Exception as e:
raise Exception(f"Error reading file {file_path}: {e}")
conn.close()
# write version file
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment