diff --git a/app/__init__.py b/app/__init__.py deleted file mode 100644 index bf42823..0000000 --- a/app/__init__.py +++ /dev/null @@ -1 +0,0 @@ -__version__ = "0.1.11" \ No newline at end of file diff --git a/app/config/__init__.py b/config/__init__.py similarity index 100% rename from app/config/__init__.py rename to config/__init__.py diff --git a/config_parser.py b/config/config_parser.py similarity index 76% rename from config_parser.py rename to config/config_parser.py index f238b6d..ca5fe33 100644 --- a/config_parser.py +++ b/config/config_parser.py @@ -23,7 +23,7 @@ def get_conn_str(): """ Get database related configurations """ - config = os.environ.get('DB_CONFIG', 'database.ini') + config = os.environ.get('DB_CONFIG', '../database.ini') db_info = parse_config(config) hostname = db_info.get("host") database = db_info.get("database") @@ -34,17 +34,17 @@ def get_conn_str(): return conn_str -def security_API_key(): - config = os.environ.get('DB_CONFIG', 'database.ini') - security_info = parse_info(config, 'security') - apikey = security_info.get("apikey") - return apikey +# def security_API_key(): +# config = os.environ.get('DB_CONFIG', '../database.ini') +# security_info = parse_config(config, 'security') +# apikey = security_info.get("apikey") +# return apikey def get_api_configs(): """ Get API related configurations """ - config = os.environ.get('DB_CONFIG', 'database.ini') + config = os.environ.get('DB_CONFIG', '../database.ini') api_configs = parse_config(config, "api") return api_configs diff --git a/app/config/database.py b/config/database.py similarity index 100% rename from app/config/database.py rename to config/database.py diff --git a/index.py b/config/index.py similarity index 78% rename from index.py rename to config/index.py index 19441c0..b9929b7 100644 --- a/index.py +++ b/config/index.py @@ -1,4 +1,4 @@ -from app.config.database import SessionLocal +from config.database import SessionLocal # Helper function to get database session diff --git a/logging.ini b/logging.ini index 6da719c..aebca28 100644 --- a/logging.ini +++ b/logging.ini @@ -21,7 +21,7 @@ args=(sys.stdout,) class=handlers.TimedRotatingFileHandler level=DEBUG formatter=fileFormatter -args=('logs/xi_mzidentml_converter.log', 'midnight', 1, 30, 'utf-8') +args=('../logs/xi_mzidentml_converter.log', 'midnight', 1, 30, 'utf-8') [formatter_consoleFormatter] format=%(asctime)s - %(name)s - %(levelname)s - %(message)s diff --git a/app/models/__init__.py b/models/__init__.py similarity index 100% rename from app/models/__init__.py rename to models/__init__.py diff --git a/app/models/analysiscollection.py b/models/analysiscollection.py similarity index 96% rename from app/models/analysiscollection.py rename to models/analysiscollection.py index 29d9511..f22c076 100644 --- a/app/models/analysiscollection.py +++ b/models/analysiscollection.py @@ -1,6 +1,6 @@ from sqlalchemy.orm import Mapped, mapped_column from sqlalchemy import ForeignKey, Text, ForeignKeyConstraint, Integer -from app.models.base import Base +from models.base import Base class AnalysisCollection(Base): diff --git a/app/models/base.py b/models/base.py similarity index 100% rename from app/models/base.py rename to models/base.py diff --git a/app/models/dbsequence.py b/models/dbsequence.py similarity index 94% rename from app/models/dbsequence.py rename to models/dbsequence.py index ebd4f09..377a0d0 100644 --- a/app/models/dbsequence.py +++ b/models/dbsequence.py @@ -1,6 +1,6 @@ from sqlalchemy.orm import Mapped, mapped_column from sqlalchemy import ForeignKey, Text, Integer -from app.models.base import Base +from models.base import Base class DBSequence(Base): diff --git a/app/models/enzyme.py b/models/enzyme.py similarity index 89% rename from app/models/enzyme.py rename to models/enzyme.py index a194df7..4440280 100644 --- a/app/models/enzyme.py +++ b/models/enzyme.py @@ -1,6 +1,6 @@ from sqlalchemy.orm import Mapped, mapped_column -from sqlalchemy import ForeignKey, Text, Integer, BOOLEAN, ForeignKeyConstraint, Integer -from app.models.base import Base +from sqlalchemy import ForeignKey, Text, BOOLEAN, ForeignKeyConstraint, Integer +from models.base import Base class Enzyme(Base): diff --git a/app/models/index.py b/models/index.py similarity index 100% rename from app/models/index.py rename to models/index.py diff --git a/app/models/modifiedpeptide.py b/models/modifiedpeptide.py similarity index 97% rename from app/models/modifiedpeptide.py rename to models/modifiedpeptide.py index e3b9035..2297208 100644 --- a/app/models/modifiedpeptide.py +++ b/models/modifiedpeptide.py @@ -1,6 +1,6 @@ from sqlalchemy.orm import Mapped, mapped_column from sqlalchemy import ForeignKey, Text, Integer, JSON, FLOAT -from app.models.base import Base +from models.base import Base from typing import Optional, Any class ModifiedPeptide(Base): diff --git a/app/models/peptideevidence.py b/models/peptideevidence.py similarity index 96% rename from app/models/peptideevidence.py rename to models/peptideevidence.py index fb09082..2e93743 100644 --- a/app/models/peptideevidence.py +++ b/models/peptideevidence.py @@ -1,6 +1,6 @@ from sqlalchemy.orm import Mapped, mapped_column from sqlalchemy import ForeignKey, Text, Integer, BOOLEAN, ForeignKeyConstraint -from app.models.base import Base +from models.base import Base class PeptideEvidence(Base): diff --git a/app/models/projectdetail.py b/models/projectdetail.py similarity index 92% rename from app/models/projectdetail.py rename to models/projectdetail.py index 300ff4f..10b456a 100644 --- a/app/models/projectdetail.py +++ b/models/projectdetail.py @@ -1,6 +1,6 @@ from sqlalchemy.orm import Mapped, mapped_column, relationship -from sqlalchemy import ForeignKey, Text, Integer -from app.models.base import Base +from sqlalchemy import Text, Integer +from models.base import Base class ProjectDetail(Base): diff --git a/app/models/projectsubdetail.py b/models/projectsubdetail.py similarity index 97% rename from app/models/projectsubdetail.py rename to models/projectsubdetail.py index f6dc820..c20f34b 100644 --- a/app/models/projectsubdetail.py +++ b/models/projectsubdetail.py @@ -1,6 +1,6 @@ from sqlalchemy.orm import Mapped, mapped_column, relationship from sqlalchemy import ForeignKey, Text, Integer, Boolean -from app.models.base import Base +from models.base import Base class ProjectSubDetail(Base): diff --git a/app/models/searchmodification.py b/models/searchmodification.py similarity index 97% rename from app/models/searchmodification.py rename to models/searchmodification.py index 8e61ef1..3f5c812 100644 --- a/app/models/searchmodification.py +++ b/models/searchmodification.py @@ -1,6 +1,6 @@ from sqlalchemy.orm import Mapped, mapped_column from sqlalchemy import ForeignKey, Text, BOOLEAN, BIGINT, FLOAT, JSON, ForeignKeyConstraint, Integer -from app.models.base import Base +from models.base import Base from typing import Any diff --git a/app/models/spectrum.py b/models/spectrum.py similarity index 96% rename from app/models/spectrum.py rename to models/spectrum.py index 3aafb97..27fdc9f 100644 --- a/app/models/spectrum.py +++ b/models/spectrum.py @@ -1,6 +1,6 @@ from sqlalchemy.orm import Mapped, mapped_column from sqlalchemy import ForeignKey, Text, LargeBinary, SMALLINT, FLOAT, Integer -from app.models.base import Base +from models.base import Base class Spectrum(Base): diff --git a/app/models/spectrumidentification.py b/models/spectrumidentification.py similarity index 98% rename from app/models/spectrumidentification.py rename to models/spectrumidentification.py index 6b38c49..fec350f 100644 --- a/app/models/spectrumidentification.py +++ b/models/spectrumidentification.py @@ -1,6 +1,6 @@ from sqlalchemy.orm import Mapped, mapped_column from sqlalchemy import ForeignKey, Text, FLOAT, JSON, BOOLEAN, Integer, ForeignKeyConstraint -from app.models.base import Base +from models.base import Base from typing import Optional, Any diff --git a/app/models/spectrumidentificationprotocol.py b/models/spectrumidentificationprotocol.py similarity index 96% rename from app/models/spectrumidentificationprotocol.py rename to models/spectrumidentificationprotocol.py index 270d550..4819fb9 100644 --- a/app/models/spectrumidentificationprotocol.py +++ b/models/spectrumidentificationprotocol.py @@ -1,6 +1,6 @@ from sqlalchemy.orm import Mapped, mapped_column from sqlalchemy import ForeignKey, Text, JSON, Integer, Float -from app.models.base import Base +from models.base import Base from typing import Optional, Any diff --git a/app/models/upload.py b/models/upload.py similarity index 88% rename from app/models/upload.py rename to models/upload.py index b0b5327..433be29 100644 --- a/app/models/upload.py +++ b/models/upload.py @@ -1,6 +1,6 @@ -from sqlalchemy.orm import Mapped, mapped_column, relationship -from sqlalchemy import ForeignKey, Text, JSON, BOOLEAN, TIMESTAMP, func, Integer -from app.models.base import Base +from sqlalchemy.orm import Mapped, mapped_column +from sqlalchemy import Text, JSON, BOOLEAN, TIMESTAMP, func, Integer +from models.base import Base from typing import Optional, Any import datetime diff --git a/parser/api_writer.py b/parser/api_writer.py index 337d85f..bf6584d 100644 --- a/parser/api_writer.py +++ b/parser/api_writer.py @@ -1,7 +1,7 @@ import traceback import requests -from config_parser import get_api_configs +from config.config_parser import get_api_configs from parser.writer import Writer diff --git a/create_db_schema.py b/parser/database/create_db_schema.py similarity index 89% rename from create_db_schema.py rename to parser/database/create_db_schema.py index 64494ee..9d7f95d 100644 --- a/create_db_schema.py +++ b/parser/database/create_db_schema.py @@ -3,8 +3,7 @@ from sqlalchemy import create_engine from sqlalchemy_utils import database_exists, drop_database, create_database -from app.models.base import Base -from app.models import * +from models.base import Base def create_db(connection_str): @@ -27,7 +26,7 @@ def create_schema(connection_str): if __name__ == "__main__": try: - from config_parser import get_conn_str + from config.config_parser import get_conn_str except ModuleNotFoundError: raise ModuleNotFoundError( 'Database credentials missing! ' diff --git a/parser/database_writer.py b/parser/database_writer.py index 703875c..b3c607c 100644 --- a/parser/database_writer.py +++ b/parser/database_writer.py @@ -1,6 +1,6 @@ from sqlalchemy import create_engine, MetaData from sqlalchemy import Table -from create_db_schema import create_schema +from parser.database.create_db_schema import create_schema from sqlalchemy_utils import database_exists diff --git a/parser/process_dataset.py b/parser/process_dataset.py index 8ced78c..080688e 100644 --- a/parser/process_dataset.py +++ b/parser/process_dataset.py @@ -13,10 +13,9 @@ from urllib.parse import urlparse from parser.MzIdParser import MzIdParser -from parser.writer import Writer import logging.config -from parser.api_writer import Writer, APIWriter -from config_parser import get_conn_str +from parser.api_writer import APIWriter +from config.config_parser import get_conn_str from parser.database_writer import DatabaseWriter logging.config.fileConfig("../logging.ini") diff --git a/setup.py b/setup.py index 60c3d78..f3d507a 100644 --- a/setup.py +++ b/setup.py @@ -24,7 +24,7 @@ def get_version(rel_path): setup( name="xi-mzidentml-converter", - version=get_version("app/__init__.py"), + version="0.1.12", description="xi-mzidentml-converter uses pyteomics (https://pyteomics.readthedocs.io/en/latest/index.html) to parse mzIdentML files (v1.2.0) and extract crosslink information. Results are written to a relational database (PostgreSQL or SQLite) using sqlalchemy.", long_description_content_type="text/markdown", long_description=long_description, diff --git a/tests/db_pytest_fixtures.py b/tests/db_pytest_fixtures.py index 0dac692..c0e5c9f 100644 --- a/tests/db_pytest_fixtures.py +++ b/tests/db_pytest_fixtures.py @@ -1,4 +1,4 @@ -from create_db_schema import create_schema, create_db, drop_db +from parser.database.create_db_schema import create_schema, create_db, drop_db import pytest from sqlalchemy import create_engine