diff --git a/.github/workflows/python-app.yml b/.github/workflows/python-app.yml index 5d15ef3..a240fa6 100644 --- a/.github/workflows/python-app.yml +++ b/.github/workflows/python-app.yml @@ -27,6 +27,8 @@ jobs: run: | python -m pip install --upgrade pip pip install pytest + pip install pyopenms + pip install psims pip install -e . - name: Unzip system test file run: | diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..fbcbbdb --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,39 @@ +[build-system] +requires = ["setuptools", "setuptools-scm"] +build-backend = "setuptools.build_meta" + +[project] +name = "CsoDIAq" +version = "2.0.0" +authors = [ + { name="Caleb Cranney", email="caleb.cranney.github@proton.me" }, +] +description = "Bioinformatics software package for identifying peptides and proteins in DIA and DISPA mass spectrometry data files." +readme = "README.md" +requires-python = ">=3.8" +classifiers = [ + "Programming Language :: Python :: 3", + "License :: OSI Approved :: MIT License", + "Intended Audience :: Science/Research", + "Topic :: Scientific/Engineering :: Bio-Informatics", +] + +dependencies = [ + 'pyteomics>=4.4.1', + 'matplotlib>=3.3.4', + 'numba>=0.53.1', + 'numpy>=1.20.1', + 'pandas>=1.2.2', + 'Bio>=0.4.1', + 'PyQt5>=5.15.4', + 'lxml>=4.6.2', + 'scikit-learn>=1.1.2', +] + + +[project.urls] +"Homepage" = "https://github.com/xomicsdatascience/CsoDIAq" +"Bug Tracker" = "https://github.com/xomicsdatascience/CsoDIAq/issues" + +[project.scripts] +csodiaq = "csodiaq.csodiaq:main" \ No newline at end of file diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index a1dd95f..0000000 --- a/requirements.txt +++ /dev/null @@ -1,7 +0,0 @@ -pyteomics==4.4.1 -matplotlib==3.3.4 -numba==0.53.1 -numpy==1.20.1 -pandas==1.2.2 -Bio==1.4.0 -PyQt5==5.15.4 diff --git a/setup.py b/setup.py deleted file mode 100644 index d5d80ea..0000000 --- a/setup.py +++ /dev/null @@ -1,55 +0,0 @@ -import setuptools -import os - -def readfile(filename): - with open(filename, 'r+') as f: - return f.read() - - -def get_version(module_path: str) -> str: - """Gets the version from the specified file. Expected to be of format __version__ = 'x.y.z'""" - f = open(module_path, 'r') - lines = f.read().splitlines() - for l in lines: - if l.startswith('__version__'): - # Found version; parse - return l.split('=')[-1].strip().strip("'").strip('"') - -pwd = os.path.abspath(os.path.dirname(__file__)) -version = get_version(os.path.join(pwd, 'csodiaq/__init__.py')) - -setuptools.setup( - name="csodiaq", - version=version, - author="Meyer Lab", - author_email="", - description="CsoDIAq Package", - long_description=readfile('README.md'), - long_description_content_type="text/markdown", - url="", - classifiers=[ - "Development Status :: 4 - Beta", - 'Intended Audience :: Science/Research', - "Programming Language :: Python :: 3", - "License :: OSI Approved :: MIT License" - ], - packages=setuptools.find_packages(), - python_requires='>=3.8', - license="MIT", - entry_points={ - 'console_scripts': [ - 'csodiaq = csodiaq.csodiaq:main' - ] - }, - install_requires=[ - 'pyteomics>=4.4.1', - 'matplotlib>=3.3.4', - 'numba>=0.53.1', - 'numpy>=1.20.1', - 'pandas>=1.2.2', - 'Bio>=0.4.1', - 'PyQt5>=5.15.4', - 'lxml>=4.6.2', - 'scikit-learn>=1.1.2' - ], -) diff --git a/csodiaq/__init__.py b/src/csodiaq/__init__.py similarity index 100% rename from csodiaq/__init__.py rename to src/csodiaq/__init__.py diff --git a/csodiaq/csodiaq.py b/src/csodiaq/csodiaq.py similarity index 100% rename from csodiaq/csodiaq.py rename to src/csodiaq/csodiaq.py diff --git a/csodiaq/csodiaqParser.py b/src/csodiaq/csodiaqParser.py similarity index 100% rename from csodiaq/csodiaqParser.py rename to src/csodiaq/csodiaqParser.py diff --git a/csodiaq/gui/__init__.py b/src/csodiaq/gui/__init__.py similarity index 100% rename from csodiaq/gui/__init__.py rename to src/csodiaq/gui/__init__.py diff --git a/csodiaq/gui/gui.py b/src/csodiaq/gui/gui.py similarity index 96% rename from csodiaq/gui/gui.py rename to src/csodiaq/gui/gui.py index 6867913..64c58ae 100644 --- a/csodiaq/gui/gui.py +++ b/src/csodiaq/gui/gui.py @@ -2,7 +2,6 @@ QApplication, ) import sys -import os from csodiaq.gui.windows import MainWindow diff --git a/csodiaq/gui/windows/MainWindow.py b/src/csodiaq/gui/windows/MainWindow.py similarity index 92% rename from csodiaq/gui/windows/MainWindow.py rename to src/csodiaq/gui/windows/MainWindow.py index 5f1b80f..395bd50 100644 --- a/csodiaq/gui/windows/MainWindow.py +++ b/src/csodiaq/gui/windows/MainWindow.py @@ -1,7 +1,6 @@ from PyQt5.QtWidgets import ( QMainWindow, ) -from PyQt5.QtCore import Qt from csodiaq.gui.windows.TableWindow import TableWindow diff --git a/csodiaq/gui/windows/TableWindow.py b/src/csodiaq/gui/windows/TableWindow.py similarity index 100% rename from csodiaq/gui/windows/TableWindow.py rename to src/csodiaq/gui/windows/TableWindow.py diff --git a/csodiaq/gui/windows/__init__.py b/src/csodiaq/gui/windows/__init__.py similarity index 100% rename from csodiaq/gui/windows/__init__.py rename to src/csodiaq/gui/windows/__init__.py diff --git a/csodiaq/gui/windows/tabs/IdentificationTabWindow.py b/src/csodiaq/gui/windows/tabs/IdentificationTabWindow.py similarity index 100% rename from csodiaq/gui/windows/tabs/IdentificationTabWindow.py rename to src/csodiaq/gui/windows/tabs/IdentificationTabWindow.py diff --git a/csodiaq/gui/windows/tabs/ScoringTabWindow.py b/src/csodiaq/gui/windows/tabs/ScoringTabWindow.py similarity index 100% rename from csodiaq/gui/windows/tabs/ScoringTabWindow.py rename to src/csodiaq/gui/windows/tabs/ScoringTabWindow.py diff --git a/csodiaq/gui/windows/tabs/TabWindow.py b/src/csodiaq/gui/windows/tabs/TabWindow.py similarity index 100% rename from csodiaq/gui/windows/tabs/TabWindow.py rename to src/csodiaq/gui/windows/tabs/TabWindow.py diff --git a/csodiaq/gui/windows/tabs/TargetedReanalysisTabWindow.py b/src/csodiaq/gui/windows/tabs/TargetedReanalysisTabWindow.py similarity index 100% rename from csodiaq/gui/windows/tabs/TargetedReanalysisTabWindow.py rename to src/csodiaq/gui/windows/tabs/TargetedReanalysisTabWindow.py diff --git a/csodiaq/gui/windows/tabs/__init__.py b/src/csodiaq/gui/windows/tabs/__init__.py similarity index 100% rename from csodiaq/gui/windows/tabs/__init__.py rename to src/csodiaq/gui/windows/tabs/__init__.py diff --git a/csodiaq/identification/__init__.py b/src/csodiaq/identification/__init__.py similarity index 100% rename from csodiaq/identification/__init__.py rename to src/csodiaq/identification/__init__.py diff --git a/csodiaq/identification/identifier.py b/src/csodiaq/identification/identifier.py similarity index 100% rename from csodiaq/identification/identifier.py rename to src/csodiaq/identification/identifier.py diff --git a/csodiaq/identification/matchingFunctions.py b/src/csodiaq/identification/matchingFunctions.py similarity index 100% rename from csodiaq/identification/matchingFunctions.py rename to src/csodiaq/identification/matchingFunctions.py diff --git a/csodiaq/identification/outputFormattingFunctions.py b/src/csodiaq/identification/outputFormattingFunctions.py similarity index 93% rename from csodiaq/identification/outputFormattingFunctions.py rename to src/csodiaq/identification/outputFormattingFunctions.py index bab1dad..968f03b 100644 --- a/csodiaq/identification/outputFormattingFunctions.py +++ b/src/csodiaq/identification/outputFormattingFunctions.py @@ -1,9 +1,5 @@ import pandas as pd import numpy as np -from csodiaq.scoring.scoringFunctions import ( - calculate_fdr_rates_of_decoy_array, -) -from csodiaq.utils import format_protein_list_to_string, format_protein_string_to_list def format_output_line(libMetadata, queMetadata, matchMetadata): diff --git a/csodiaq/identification/poolingFunctions.py b/src/csodiaq/identification/poolingFunctions.py similarity index 88% rename from csodiaq/identification/poolingFunctions.py rename to src/csodiaq/identification/poolingFunctions.py index bdefc05..8eed35c 100644 --- a/csodiaq/identification/poolingFunctions.py +++ b/src/csodiaq/identification/poolingFunctions.py @@ -1,6 +1,3 @@ -from csodiaq.loaders.library.libraryLoaderContext import LibraryLoaderContext -from csodiaq.loaders.query.queryLoaderContext import QueryLoaderContext -import pandas as pd import warnings from bisect import bisect diff --git a/csodiaq/loaders/__init__.py b/src/csodiaq/loaders/__init__.py similarity index 100% rename from csodiaq/loaders/__init__.py rename to src/csodiaq/loaders/__init__.py index b1bd748..6f8d5c4 100644 --- a/csodiaq/loaders/__init__.py +++ b/src/csodiaq/loaders/__init__.py @@ -1,2 +1,2 @@ -from csodiaq.loaders.query import QueryLoaderContext from csodiaq.loaders.library import LibraryLoaderContext +from csodiaq.loaders.query import QueryLoaderContext diff --git a/csodiaq/loaders/library/__init__.py b/src/csodiaq/loaders/library/__init__.py similarity index 100% rename from csodiaq/loaders/library/__init__.py rename to src/csodiaq/loaders/library/__init__.py diff --git a/csodiaq/loaders/library/libraryLoaderContext.py b/src/csodiaq/loaders/library/libraryLoaderContext.py similarity index 94% rename from csodiaq/loaders/library/libraryLoaderContext.py rename to src/csodiaq/loaders/library/libraryLoaderContext.py index 5652a5d..e39255b 100644 --- a/csodiaq/loaders/library/libraryLoaderContext.py +++ b/src/csodiaq/loaders/library/libraryLoaderContext.py @@ -4,7 +4,6 @@ from csodiaq.loaders.library.libraryLoaderStrategyMgf import ( LibraryLoaderStrategyMgf as Mgf, ) -from csodiaq.loaders.library.libraryLoaderStrategy import LibraryLoaderStrategy import os diff --git a/csodiaq/loaders/library/libraryLoaderStrategy.py b/src/csodiaq/loaders/library/libraryLoaderStrategy.py similarity index 100% rename from csodiaq/loaders/library/libraryLoaderStrategy.py rename to src/csodiaq/loaders/library/libraryLoaderStrategy.py diff --git a/csodiaq/loaders/library/libraryLoaderStrategyMgf.py b/src/csodiaq/loaders/library/libraryLoaderStrategyMgf.py similarity index 99% rename from csodiaq/loaders/library/libraryLoaderStrategyMgf.py rename to src/csodiaq/loaders/library/libraryLoaderStrategyMgf.py index ae91d52..333b0b6 100644 --- a/csodiaq/loaders/library/libraryLoaderStrategyMgf.py +++ b/src/csodiaq/loaders/library/libraryLoaderStrategyMgf.py @@ -4,7 +4,6 @@ remove_low_intensity_peaks_below_max_peak_num, finalVariableNames, ) -import pandas as pd import os from pyteomics import mgf import re diff --git a/csodiaq/loaders/library/libraryLoaderStrategyTable.py b/src/csodiaq/loaders/library/libraryLoaderStrategyTable.py similarity index 100% rename from csodiaq/loaders/library/libraryLoaderStrategyTable.py rename to src/csodiaq/loaders/library/libraryLoaderStrategyTable.py diff --git a/csodiaq/loaders/library/mappings.py b/src/csodiaq/loaders/library/mappings.py similarity index 100% rename from csodiaq/loaders/library/mappings.py rename to src/csodiaq/loaders/library/mappings.py diff --git a/csodiaq/loaders/query/__init__.py b/src/csodiaq/loaders/query/__init__.py similarity index 100% rename from csodiaq/loaders/query/__init__.py rename to src/csodiaq/loaders/query/__init__.py diff --git a/csodiaq/loaders/query/queryLoaderContext.py b/src/csodiaq/loaders/query/queryLoaderContext.py similarity index 100% rename from csodiaq/loaders/query/queryLoaderContext.py rename to src/csodiaq/loaders/query/queryLoaderContext.py diff --git a/csodiaq/loaders/query/queryLoaderStrategy.py b/src/csodiaq/loaders/query/queryLoaderStrategy.py similarity index 100% rename from csodiaq/loaders/query/queryLoaderStrategy.py rename to src/csodiaq/loaders/query/queryLoaderStrategy.py diff --git a/csodiaq/loaders/query/queryLoaderStrategyMzxml.py b/src/csodiaq/loaders/query/queryLoaderStrategyMzxml.py similarity index 100% rename from csodiaq/loaders/query/queryLoaderStrategyMzxml.py rename to src/csodiaq/loaders/query/queryLoaderStrategyMzxml.py diff --git a/csodiaq/plotting/__init__.py b/src/csodiaq/plotting/__init__.py similarity index 100% rename from csodiaq/plotting/__init__.py rename to src/csodiaq/plotting/__init__.py diff --git a/csodiaq/plotting/spectra.py b/src/csodiaq/plotting/spectra.py similarity index 97% rename from csodiaq/plotting/spectra.py rename to src/csodiaq/plotting/spectra.py index 51b0efd..8ea1342 100644 --- a/csodiaq/plotting/spectra.py +++ b/src/csodiaq/plotting/spectra.py @@ -1,5 +1,5 @@ from matplotlib import pyplot as plt -from csodiaq.plotting.spectrum import Spectrum +from src.csodiaq.plotting.spectrum import Spectrum def spectrum_lineplot(spectrum: Spectrum, diff --git a/csodiaq/plotting/spectrum.py b/src/csodiaq/plotting/spectrum.py similarity index 100% rename from csodiaq/plotting/spectrum.py rename to src/csodiaq/plotting/spectrum.py diff --git a/csodiaq/scoring/__init__.py b/src/csodiaq/scoring/__init__.py similarity index 100% rename from csodiaq/scoring/__init__.py rename to src/csodiaq/scoring/__init__.py diff --git a/csodiaq/scoring/fdrCalculationFunctions.py b/src/csodiaq/scoring/fdrCalculationFunctions.py similarity index 100% rename from csodiaq/scoring/fdrCalculationFunctions.py rename to src/csodiaq/scoring/fdrCalculationFunctions.py diff --git a/csodiaq/scoring/idpickerFunctions.py b/src/csodiaq/scoring/idpickerFunctions.py similarity index 100% rename from csodiaq/scoring/idpickerFunctions.py rename to src/csodiaq/scoring/idpickerFunctions.py diff --git a/csodiaq/scoring/scoringFunctions.py b/src/csodiaq/scoring/scoringFunctions.py similarity index 100% rename from csodiaq/scoring/scoringFunctions.py rename to src/csodiaq/scoring/scoringFunctions.py diff --git a/csodiaq/targetedReanalysis/__init__.py b/src/csodiaq/targetedReanalysis/__init__.py similarity index 100% rename from csodiaq/targetedReanalysis/__init__.py rename to src/csodiaq/targetedReanalysis/__init__.py diff --git a/csodiaq/targetedReanalysis/targetedReanalysisFunctions.py b/src/csodiaq/targetedReanalysis/targetedReanalysisFunctions.py similarity index 100% rename from csodiaq/targetedReanalysis/targetedReanalysisFunctions.py rename to src/csodiaq/targetedReanalysis/targetedReanalysisFunctions.py diff --git a/csodiaq/utils/Printer.py b/src/csodiaq/utils/Printer.py similarity index 100% rename from csodiaq/utils/Printer.py rename to src/csodiaq/utils/Printer.py diff --git a/csodiaq/utils/__init__.py b/src/csodiaq/utils/__init__.py similarity index 100% rename from csodiaq/utils/__init__.py rename to src/csodiaq/utils/__init__.py diff --git a/csodiaq/utils/utils.py b/src/csodiaq/utils/utils.py similarity index 100% rename from csodiaq/utils/utils.py rename to src/csodiaq/utils/utils.py