Skip to content

Commit

Permalink
prepared for buliding package
Browse files Browse the repository at this point in the history
  • Loading branch information
OnlyBelter committed May 11, 2023
1 parent 8d8fd4d commit 0bcd427
Show file tree
Hide file tree
Showing 10 changed files with 253 additions and 8 deletions.
21 changes: 21 additions & 0 deletions DeSide-1.0.0.dist-info/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2022 Xin Xiong

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
110 changes: 110 additions & 0 deletions DeSide-1.0.0.dist-info/METADATA
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
Metadata-Version: 2.1
Name: DeSide
Version: 1.0.0
Summary: A DEep-learning and SIngle-cell based DEconvolution method for solid tumors
Home-page:
Author: Xin (Belter) Xiong
Author-email: OnlyBelter <[email protected]>
License: MIT License

Copyright (c) 2022 Xin Xiong

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Project-URL: Homepage, https://github.com/OnlyBelter/DeSide
Project-URL: Source, https://github.com/OnlyBelter/DeSide
Project-URL: Tracker, https://github.com/OnlyBelter/DeSide/issues
Keywords: DeSide,RNA-seq,deconvolution
Platform: any
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Typing :: Typed
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: tensorflow (>=2.8.0)
Requires-Dist: scikit-learn (==0.24.0)
Requires-Dist: anndata (>=0.8.0)
Requires-Dist: scanpy (==1.8.0)
Requires-Dist: pandas (==1.2.5)
Requires-Dist: numpy (<1.22)
Requires-Dist: matplotlib
Requires-Dist: seaborn (>=0.11.2)
Requires-Dist: bbknn (==1.5.1)
Requires-Dist: SciencePlots
Provides-Extra: full
Requires-Dist: py ; extra == 'full'
Requires-Dist: tqdm ; extra == 'full'

# DeSide <img src="./docs/_static/logo.png" width="50">

DeSide is a DEep-learning and SIngle-cell based DEconvolution method for solid tumors, which can be used to infer cellular proportions of different cell types from bulk RNA-seq data.

DeSide consists of the following four parts (see figure below):
- DNN Model
- Single Cell Dataset Integration
- Cell Proportion Generation
- Bulk Tumor Synthesis

<img src="Fig.1a_b.svg" width="800" alt="Overview of DeSide">

In this repository, we provide the code for implementing these four parts and visualizing the results.

### Requirements
DeSide requires Python 3.8 or higher. It has been tested on Linux and MacOS, but should work on Windows as well.
- tensorflow>=2.8.0
- scikit-learn==0.24.0
- anndata>=0.8.0
- scanpy==1.8.0
- pandas==1.2.5
- numpy<1.22
- matplotlib
- seaborn>=0.11.2
- bbknn==1.5.1
- SciencePlots

### Installation

pip should work out of the box:
```
# create a virtual environment if necessary
conda create -n deside python=3.8
conda activate deside
pip install deside
```

### Documentation
Documentation is available either in the source tree (doc/), or online. (will be available soon)


### Usage Examples
Usage examples can be found: [DeSide_mini_example](https://github.com/OnlyBelter/DeSide_mini_example)

Three examples are provided:
- Using pre-trained model
- Training a model from scratch
- Generating a synthetic dataset

### License
DeSide can be used under the terms of the MIT License.
29 changes: 29 additions & 0 deletions DeSide-1.0.0.dist-info/RECORD
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
deside/__init__.py,sha256=JV6-OnoUDJ-PMfn1mJ8GLBGE0VvKIchFnwDw6LHFUUs,185
deside/bulk_cell/__init__.py,sha256=3vhYnAgxcfIa5ZA4V929TlKeBdnL417xciA3RUWZmg0,386
deside/bulk_cell/preprocessing.py,sha256=l57cMyaic1DJzY4OT7z7PsEfO83Wh0YGnBgRiHGxDLI,12936
deside/decon_cf/__init__.py,sha256=CmlR9iJaudBjj5h8l__ezgYC1XO6iS5sFeFgwx4Wb9s,27
deside/decon_cf/deside.py,sha256=YJvjVgMvSEEPo7Kjggeu23IJWuttjJ11DOD0_PKyGDM,19538
deside/plot/__init__.py,sha256=-uTTiKFWNdW3XsLEN-_ovOs2BUI3I6svW5SXq8r7n4k,1034
deside/plot/evaluate_result.py,sha256=l_hHQpODMsfgUeGYjU-ZAAtT7fy8Yv7ogn04nnO8dQ8,36060
deside/plot/plot_clustering.py,sha256=yDJaBJzifJDEjO6SgaCWnxr_sYq90wyKYHtyEvk4n_0,11225
deside/plot/plot_gene.py,sha256=ksAXng_jG6N05we2kRkpPckjmDu7NxGlBVTkhZn13uk,24932
deside/plot/plot_nn.py,sha256=QNG1o6lf7xQBQWtq_uSi2yvZR4FXOsSxb7mPGCSVRG8,14207
deside/plot/plot_sample.py,sha256=x_EJyCkcPPMgEhzNn6TI62H34KxcKGaoaYMWinle-hI,2368
deside/simulation/__init__.py,sha256=ek4UglWTI7ulUlherKTAC0nq1nnZdXnxRM_MSYv-Dn4,399
deside/simulation/generate_data.py,sha256=wvF9tqD_f8fcYSMxLbHFdjX2szD2GmCn5qHjdcuztGc,88598
deside/simulation/stats_test.py,sha256=OyZ0YK9vrL1lnbrc5p85fswc3jMnrNeNhm1uoBicHVE,2764
deside/single_cell/__init__.py,sha256=TPM67JrK7NkYknpDbE4Flx0Jp7rO0pL4RlHEO6_mc0Y,355
deside/single_cell/preprocessing.py,sha256=QRjJ6FG2KRm4f34eF-lHZ6m0Aw1qxfnv7bYJYEu5-kI,37134
deside/utility/__init__.py,sha256=CryOoBpoaTTssxvcBOh8llrc7tVK1bNrZYg_yvZQ3ao,5199
deside/utility/compare.py,sha256=pGwrOpdRVUdng_OXK1A-aiAarbVpITyLeTuGECorFtI,14535
deside/utility/core_obj.py,sha256=Pu76BWblQOoOL6bd_gTT4PwtU8Vy3vwmgMu-ShtGMNw,6919
deside/utility/evaluation.py,sha256=t7egOgiI2oBOi6sndQqyZsAPWDkxI-yo30x5T7bzRh8,1337
deside/utility/pub_func.py,sha256=4MdRFPg78q7Pg1rcKUEFeaPAPbVPypJAlS0-dDmgw5I,39996
deside/utility/read_file.py,sha256=RxaZy4ib6_OzbX_4b619Idph_Md0tGx2pkXKMSlz_xE,14824
deside/workflow/__init__.py,sha256=kn8t1Cmcj-GD3EvCNXg2mMAA904BpfC_Gm2MeKusJh4,130
deside/workflow/workflow.py,sha256=deQ7fG8mC9ykd5bdT4LlEMGvGss3z4yEy0lG1JbGVjE,15411
DeSide-1.0.0.dist-info/LICENSE,sha256=a8EO2KtToqJJuEhq-W3NMv2lhnAZ9LTCV-CZ8AnUXF8,1087
DeSide-1.0.0.dist-info/METADATA,sha256=FoUs4okhP7W5lwSk_xec4w_R46VGfOea4DpBaFP2I7U,4053
DeSide-1.0.0.dist-info/WHEEL,sha256=pkctZYzUS4AYVn6dJ-7367OJZivF2e8RA9b_ZBjif18,92
DeSide-1.0.0.dist-info/top_level.txt,sha256=5fQgOaSHTjnED8bXP41-6MUhGmejWhAmqhXFhIQKaPI,7
DeSide-1.0.0.dist-info/RECORD,,
5 changes: 5 additions & 0 deletions DeSide-1.0.0.dist-info/WHEEL
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Wheel-Version: 1.0
Generator: bdist_wheel (0.40.0)
Root-Is-Purelib: true
Tag: py3-none-any

1 change: 1 addition & 0 deletions DeSide-1.0.0.dist-info/top_level.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
deside
2 changes: 2 additions & 0 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
include Fig.1a_b.svg
include docs/*
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# DeSide <img src="./docs/_static/logo.png" width="50">
# DeSide <img src="https://raw.githubusercontent.com/OnlyBelter/DeSide/main/docs/_static/logo.png" width="50">

DeSide is a DEep-learning and SIngle-cell based DEconvolution method for solid tumors, which can be used to infer cellular proportions of different cell types from bulk RNA-seq data.

Expand All @@ -8,7 +8,7 @@ DeSide consists of the following four parts (see figure below):
- Cell Proportion Generation
- Bulk Tumor Synthesis

<img src="Fig.1a_b.svg" width="800" alt="Overview of DeSide">
<img src="https://raw.githubusercontent.com/OnlyBelter/DeSide/main/Fig.1a_b.svg" width="800" alt="Overview of DeSide">

In this repository, we provide the code for implementing these four parts and visualizing the results.

Expand Down
1 change: 0 additions & 1 deletion deside/_version.txt

This file was deleted.

77 changes: 77 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
# pyproject.toml

[build-system]
requires = ["setuptools>=61.0.0", "wheel"]
build-backend = "setuptools.build_meta"

[project]
name = "DeSide"
version = "1.0.1"
description = "A DEep-learning and SIngle-cell based DEconvolution method for solid tumors"
readme = "README.md"
license = { file = "LICENSE" }
requires-python = ">=3.8"
authors = [
{ name = "OnlyBelter", email = "[email protected]" },
]
keywords = [
"DeSide",
"RNA-seq",
"deconvolution",
]
classifiers = [
"Intended Audience :: Science/Research",
"License :: OSI Approved :: BSD License",
"Programming Language :: Python",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Typing :: Typed",
]
dependencies = [
"tensorflow>=2.8.0",
"scikit-learn==0.24.0",
"anndata>=0.8.0",
"scanpy==1.8.0",
"pandas==1.2.5",
"numpy<1.22",
"matplotlib",
"seaborn>=0.11.2",
"bbknn==1.5.1",
"SciencePlots",
]
#dynamic = ["version"]

[project.urls]
#Documentation = "https://deside.readthedocs.io/"
Homepage = "https://github.com/OnlyBelter/DeSide"
Source = "https://github.com/OnlyBelter/DeSide"
Tracker = "https://github.com/OnlyBelter/DeSide/issues"

# https://realpython.com/pypi-publish-python-package/#version-your-package
[tool.bumpver]
current_version = "1.0.0"
version_pattern = "MAJOR.MINOR.PATCH"
commit_message = "bump version {old_version} -> {new_version}"
commit = true
tag = true
push = false

[tool.bumpver.file_patterns]
"pyproject.toml" = [
'current_version = "{version}"',
]
"setup.py" = [
"{version}",
"{pep440_version}",
]
"README.rst" = [
"{version}",
"{pep440_version}",
]
"README.md" = [
"{version}",
"{pep440_version}",
]

11 changes: 6 additions & 5 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,22 @@
import os
import sys
from setuptools import setup, find_packages
# from deside._version import __version__

install_requires = ["matplotlib", "pandas==1.2.5", "scikit-learn==0.24.0",
"seaborn>=0.11.2", "requests", "tensorflow>=2.8.0", "scipy", "numpy<1.22",
"anndata>=0.8.0", "scanpy==1.8.0", "joblib", "leidenalg", "jupyterlab",
"umap-learn==0.5.1", "bbknn==1.5.1", "openpyxl", "tensorboard",
"build", "sphinx==3.5.4", "myst-parser==0.13.6", "fsspec",
"build", "sphinx==3.5.4", "myst-parser>=0.13.6", "fsspec",
"h5py", "sphinx_book_theme", "tables>=3.6.1", "statsmodels", "matplotlib-venn",
"SciencePlots"]
if sys.version_info < (3, 4, 0):
install_requires.append("enum34")


def get_version():
with open(os.path.join("deside", "_version.txt"), 'r') as f:
return f.readline().strip()
# def get_version():
# with open(os.path.join("deside", "_version.txt"), 'r') as f:
# return f.readline().strip()


def get_test_data():
Expand All @@ -34,7 +35,7 @@ def get_test_data():

setup(
name="deside",
version=get_version(),
version='1.0.0',
description="DEep-learning and SIngle-cell based DEconvolution",
long_description=README_rst,
license="BSD-3-Clause",
Expand Down

0 comments on commit 0bcd427

Please sign in to comment.