diff --git a/README.md b/README.md
index 57a28bb..416b7d8 100644
--- a/README.md
+++ b/README.md
@@ -5,13 +5,13 @@
BioMANIA
-[![Paper](https://img.shields.io/badge/Paper-burgundy?style=flat&logo=arxiv)](https://www.biorxiv.org/content/10.1101/2023.10.29.564479v1)
+[![Paper](https://img.shields.io/badge/Paper-burgundy?style=flat&logo=arxiv)](https://www.biorxiv.org/content/10.1101/2023.10.29.564479)
[![GitHub stars](https://img.shields.io/github/stars/batmen-lab/BioMANIA?style=social)](https://github.com/batmen-lab/BioMANIA)
[![Documentation Status](https://img.shields.io/readthedocs/biomania/latest?style=flat&logo=readthedocs&label=Doc)](https://biomania.readthedocs.io/en/latest/?badge=latest)
[![License](https://img.shields.io/badge/license-Apache%203.0-blue?style=flat&logo=open-source-initiative)](https://github.com/batmen-lab/BioMANIA/blob/main/LICENSE)
[![Docker Version](https://img.shields.io/badge/Docker-v1.1.9-blue?style=flat&logo=docker)](https://hub.docker.com/repositories/chatbotuibiomania)
-[![Railway](https://img.shields.io/badge/Railway-purple?style=flat&logo=railway)](https://railway.app/template/qaQEvv)
[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/drive/14K4562oeesEz5qMoXmjv9gW_4VeLh6_U?usp=sharing)
+
@@ -21,8 +21,9 @@ Welcome to the BioMANIA! This guide provides detailed instructions on how to set
Project Overview:
-![](./images/Motivation.jpg)
-![](./images/Methods.jpg)
+
+
+![](./images/overview.jpg)
🌟 We warmly invite you to share your trained models and datasets in our [issues section](https://github.com/batmen-lab/BioMANIA/issues/2), making it easier for others to utilize and extend your work, thus amplifying its impact. Feel free to explore and provide feedback on tools shared by other contributors as well! 🚀🔍
@@ -39,9 +40,9 @@ We also offer a command-line interface (CLI) demo through the terminal.
-We also offer a GPTs demo (under developing).
+
# Web access online demo
@@ -109,11 +110,11 @@ ngrok http 3000
then get the url like `https://[ngrok_id].ngrok-free.app` and copy it to chrome to start!
-## Run with Railway
+
## Run with script
@@ -231,8 +232,8 @@ model.run_pipeline(user_input, library, top_k=1, files=[], conversation_started=
Please refer to the separate README for tutorials that supporting converting different coding tools to our APP.
- [For PyPI Tools](./docs/PyPI2APP.md)
-- [For Python Source Code from Git Repo](./docs/Git2APP.md)
-- [For R Package](./docs/R2APP.md) (231123-Still under developing)
+- [For Python Source Code from Git Repo](./docs/Git2APP.md) (240925-Under developing)
+- [For R Package](./docs/R2APP.md) (231123-Under developing)
## Share your APP!
@@ -269,10 +270,9 @@ Thank you for choosing BioMANIA. We hope this guide assists you in navigating th
## **Version History**
-- v1.1.11 (2024-06)
- - Include task planning, execution correction into the logic.
- - Polish prompt.
- - Wrap backend service to be compatible for newer UI
+- v1.1.12 (2024-09-25)
+ - Update code scripts which are aligned with paper.
+ - Will renew the data, docker, scripts for generating report, documents for Git2APP, R2APP soon.
view [version_history](./docs/version_history.md) for more details!
diff --git a/docs/Report_Generation.md b/docs/Report_Generation.md
index 325831e..c61ba52 100644
--- a/docs/Report_Generation.md
+++ b/docs/Report_Generation.md
@@ -11,7 +11,7 @@ Firstly, press `export chat` button on UI to get the chat json data. Convert the
# cd src
python report/Chat2Py.py report/demo_Preprocessing_and_clustering_3k_PBMCs.json
```
-![](./images/pyfile.jpg)
+![](https://github.com/batmen-lab/BioMANIA/tree/main/images/pyfile.jpg)
### For chat report
@@ -22,7 +22,7 @@ Convert the chat JSON into an [ipynb report](https://github.com/batmen-lab/BioMA
# cd src
python report/Chat2jupyter.py report/demo_Preprocessing_and_clustering_3k_PBMCs.json
```
-![](./images/jupyter.jpg)
+![](https://github.com/batmen-lab/BioMANIA/tree/main/images/jupyter.jpg)
### For performance report
@@ -36,7 +36,7 @@ python report/PNG2report.py scanpy
Please note that the generation of this report must be based on the premise that the retriever models have already been trained, and the gpt baseline has already been tested. You need to first obtain the results of each model before running this script. Here is a reference for a [demo report](https://github.com/batmen-lab/BioMANIA/tree/main/src/report/performance_report.pdf).
-![](./images/performance_report.jpg)
+![](https://github.com/batmen-lab/BioMANIA/tree/main/images/performance_report.jpg)
### For common issue report
@@ -51,6 +51,9 @@ python report/Py2report.py scanpy
The output files are located in the ./report folder.
+![](https://github.com/batmen-lab/BioMANIA/tree/main/images/error_category.jpg)
+
+
TODO:
We will provide the below files and the data of more tools later
diff --git a/docs/version_history.md b/docs/version_history.md
index 159b47c..cdc3419 100644
--- a/docs/version_history.md
+++ b/docs/version_history.md
@@ -1,5 +1,10 @@
## Version History
+
+- v1.1.11 (2024-06)
+ - Include task planning, execution correction into the logic.
+ - Polish prompt.
+ - Wrap backend service to be compatible for newer UI
- v1.1.9 (2023-12-24)
- Add Drive URL installation feature for convenient uploading of large files by users.
- Real-time informative displays for API execution, and enable image zoom and download features.
diff --git a/examples/result_demo_ehrapy.png b/examples/result_demo_ehrapy.png
new file mode 100644
index 0000000..b6fea24
Binary files /dev/null and b/examples/result_demo_ehrapy.png differ
diff --git a/examples/result_demo_ehrapy_all.png b/examples/result_demo_ehrapy_all.png
new file mode 100644
index 0000000..1a9a29a
Binary files /dev/null and b/examples/result_demo_ehrapy_all.png differ
diff --git a/examples/result_demo_scanpy_indiv.png b/examples/result_demo_scanpy_indiv.png
new file mode 100644
index 0000000..f7ba1c9
Binary files /dev/null and b/examples/result_demo_scanpy_indiv.png differ
diff --git a/examples/result_demo_scanpy_plan.png b/examples/result_demo_scanpy_plan.png
new file mode 100644
index 0000000..81f93c3
Binary files /dev/null and b/examples/result_demo_scanpy_plan.png differ
diff --git a/examples/result_demo_snapatac2.png b/examples/result_demo_snapatac2.png
new file mode 100644
index 0000000..32b13b4
Binary files /dev/null and b/examples/result_demo_snapatac2.png differ
diff --git a/examples/result_demo_squidpy.png b/examples/result_demo_squidpy.png
new file mode 100644
index 0000000..a341d9b
Binary files /dev/null and b/examples/result_demo_squidpy.png differ
diff --git a/images/Methods.jpg b/images/Methods.jpg
deleted file mode 100644
index da4c6dd..0000000
Binary files a/images/Methods.jpg and /dev/null differ
diff --git a/images/Motivation.jpg b/images/Motivation.jpg
deleted file mode 100644
index b384991..0000000
Binary files a/images/Motivation.jpg and /dev/null differ
diff --git a/images/demo_full.jpg b/images/demo_full.jpg
index c0b3658..1c7f8bd 100644
Binary files a/images/demo_full.jpg and b/images/demo_full.jpg differ
diff --git a/images/error_category.jpg b/images/error_category.jpg
new file mode 100644
index 0000000..0e718d2
Binary files /dev/null and b/images/error_category.jpg differ
diff --git a/images/overview.jpg b/images/overview.jpg
new file mode 100644
index 0000000..29336cd
Binary files /dev/null and b/images/overview.jpg differ
diff --git a/images/overview_v2.jpg b/images/overview_v2.jpg
deleted file mode 100644
index 6ad4807..0000000
Binary files a/images/overview_v2.jpg and /dev/null differ
diff --git a/src/configs/Base_cheatsheet.py b/src/configs/Base_cheatsheet.py
index 9a9a3cb..719bd42 100644
--- a/src/configs/Base_cheatsheet.py
+++ b/src/configs/Base_cheatsheet.py
@@ -1,74 +1,90 @@
CHEATSHEET = {
- "numpy": [
- "numpy.array"
- ],
- "pandas": [
- "pandas.read_csv",
- "pandas.read_excel",
- "pandas.DataFrame.to_csv",
- "pandas.DataFrame",
- "pandas.concat",
- "pandas.DataFrame.groupby"
- ],
- "matplotlib": [
- "matplotlib.pyplot.plot",
- "matplotlib.pyplot.subplots",
- "matplotlib.pyplot.imshow",
- "matplotlib.pyplot.hist",
- "matplotlib.pyplot.scatter",
- "matplotlib.pyplot.bar",
- "matplotlib.pyplot.pie",
- "matplotlib.pyplot.boxplot",
- "matplotlib.pyplot.violinplot"
- ],
- "sklearn": [
- "sklearn.preprocessing.StandardScaler",
- "sklearn.preprocessing.StandardScaler.fit",
- "sklearn.preprocessing.OneHotEncoder",
- "sklearn.preprocessing.OneHotEncoder.fit",
- "sklearn.preprocessing.normalize",
- "sklearn.model_selection.train_test_split",
- "sklearn.metrics.accuracy_score",
- "sklearn.metrics.precision_score",
- "sklearn.metrics.recall_score",
- "sklearn.metrics.mean_squared_error",
- "sklearn.decomposition.PCA",
- "sklearn.decomposition.PCA.fit",
- "sklearn.manifold.TSNE",
- "sklearn.manifold.TSNE.fit",
- "sklearn.decomposition.NMF",
- "sklearn.decomposition.NMF.fit"
- ],
- "scipy": [
- "scipy.sparse.csr_matrix"
- ],
- "torch": [
- "torch.tensor"
- ],
- "json":["json.dump",
- "json.load",
- "json.loads"
- ],
- "statsmodels": [
- "statsmodels.formula.api.ols"
- ],
- "pynndescent": [
- "pynndescent.NNDescent.query"
- ],
- "anndata": [
- "anndata.read_csv",
- "anndata.AnnData.write_csvs"
- ],
- "pooch":[
- "pooch.retrieve"
- ],
- "math":[
- "math.ceil"
- ],
- "urllib":[
- "urllib.request.urlretrieve"
- ],
- "tabulate":[
- "tabulate.tabulate"
+ #"numpy": [
+ # "numpy.array"
+ #],
+ #"pandas": [
+ # "pandas.read_csv",
+ # "pandas.read_excel",
+ # "pandas.DataFrame.to_csv",
+ # "pandas.DataFrame",
+ # "pandas.concat",
+ # "pandas.DataFrame.groupby"
+ #],
+ #"matplotlib": [
+ # "matplotlib.pyplot.plot",
+ # "matplotlib.pyplot.subplots",
+ # "matplotlib.pyplot.imshow",
+ # "matplotlib.pyplot.hist",
+ # "matplotlib.pyplot.scatter",
+ # "matplotlib.pyplot.bar",
+ # "matplotlib.pyplot.pie",
+ # "matplotlib.pyplot.boxplot",
+ # "matplotlib.pyplot.violinplot"
+ #],
+ #"sklearn": [
+ # "sklearn.preprocessing.StandardScaler",
+ # "sklearn.preprocessing.StandardScaler.fit",
+ # "sklearn.preprocessing.OneHotEncoder",
+ # "sklearn.preprocessing.OneHotEncoder.fit",
+ # "sklearn.preprocessing.normalize",
+ # "sklearn.model_selection.train_test_split",
+ # "sklearn.metrics.accuracy_score",
+ # "sklearn.metrics.precision_score",
+ # "sklearn.metrics.recall_score",
+ # "sklearn.metrics.mean_squared_error",
+ # "sklearn.decomposition.PCA",
+ # "sklearn.decomposition.PCA.fit",
+ # "sklearn.manifold.TSNE",
+ # "sklearn.manifold.TSNE.fit",
+ # "sklearn.decomposition.NMF",
+ # "sklearn.decomposition.NMF.fit"
+ #],
+ #"scipy": [
+ # "scipy.sparse.csr_matrix"
+ #],
+ #"torch": [
+ # "torch.tensor"
+ #],
+ #"json":["json.dump",
+ # "json.load",
+ # "json.loads"
+ #],
+ #"statsmodels": [
+ # "statsmodels.formula.api.ols"
+ #],
+ #"pynndescent": [
+ # "pynndescent.NNDescent.query"
+ #],
+ #"anndata": [
+ # "anndata.read_csv",
+ # "anndata.AnnData.write_csvs"
+ #],
+ #"pooch":[
+ # "pooch.retrieve"
+ #],
+ #"math":[
+ # "math.ceil"
+ #],
+ #"urllib":[
+ # "urllib.request.urlretrieve"
+ #],
+ #"tabulate":[
+ # "tabulate.tabulate"
+ #],
+ "cellrank":[
+ "cellrank.kernels.PseudotimeKernel",
+ "cellrank.kernels.PseudotimeKernel.compute_transition_matrix",
+ "cellrank.kernels.PseudotimeKernel.plot_random_walks",
+ "cellrank.kernels.PseudotimeKernel.plot_projection",
+ "cellrank.estimators.GPCCA",
+ "cellrank.estimators.GPCCA.fit",
+ "cellrank.estimators.GPCCA.macrostates_memberships",
+ "cellrank.estimators.GPCCA.plot_macrostates",
+ "cellrank.estimators.GPCCA.predict_terminal_states",
+ "cellrank.estimators.GPCCA.compute_fate_probabilities",
+ "cellrank.estimators.GPCCA.plot_fate_probabilities",
+ "cellrank.pl.circular_projection",
+ "cellrank.models.GAM",
+ "cellrank.pl.gene_trends"
]
}
diff --git a/src/configs/Lib_cheatsheet.py b/src/configs/Lib_cheatsheet.py
index 4456f34..070f892 100644
--- a/src/configs/Lib_cheatsheet.py
+++ b/src/configs/Lib_cheatsheet.py
@@ -1,4 +1,13 @@
CHEATSHEET = {
+ "scanpy":{
+ "LIB":"scanpy",
+ "LIB_ALIAS":"scanpy",
+ "API_HTML_PATH": "scanpy.readthedocs.io/en/latest/api/index.html",
+ "GITHUB_LINK": "https://github.com/scverse/scanpy",
+ "READTHEDOC_LINK": "https://scanpy.readthedocs.io/",
+ "TUTORIAL_HTML_PATH":"scanpy.readthedocs.io/en/latest/tutorials",
+ "TUTORIAL_GITHUB":["https://github.com/scverse/scanpy_usage", "https://github.com/scverse/scanpy-tutorials"]
+ },
"squidpy":{
"LIB":"squidpy",
"LIB_ALIAS":"squidpy",
@@ -8,14 +17,23 @@
"TUTORIAL_HTML_PATH":"squidpy.readthedocs.io/en/latest/notebooks/tutorials",
"TUTORIAL_GITHUB":"https://github.com/scverse/squidpy_notebooks"
},
- "scanpy":{
- "LIB":"scanpy",
- "LIB_ALIAS":"scanpy",
- "API_HTML_PATH": "scanpy.readthedocs.io/en/latest/api/index.html",
- "GITHUB_LINK": "https://github.com/scverse/scanpy",
- "READTHEDOC_LINK": "https://scanpy.readthedocs.io/",
- "TUTORIAL_HTML_PATH":"scanpy.readthedocs.io/en/latest/tutorials",
- "TUTORIAL_GITHUB":["https://github.com/scverse/scanpy_usage", "https://github.com/scverse/scanpy-tutorials"]
+ "ehrapy": {
+ "LIB": "ehrapy",
+ "LIB_ALIAS": "ehrapy",
+ "API_HTML_PATH": "ehrapy.readthedocs.io/en/latest/usage/usage.html",
+ "GITHUB_LINK": "https://github.com/theislab/ehrapy",
+ "READTHEDOC_LINK": "https://ehrapy.readthedocs.io/",
+ "TUTORIAL_HTML_PATH": "https://ehrapy.readthedocs.io/en/latest/tutorials/index.html",
+ "TUTORIAL_GITHUB": "https://github.com/theislab/ehrapy-tutorials"
+ },
+ "snapatac2": {
+ "LIB": "snapatac2",
+ "LIB_ALIAS": "snapatac2",
+ "API_HTML_PATH": "kzhang.org/SnapATAC2/api/index.html", #kzhang.org/SnapATAC2/version/2.6/api/index.html
+ "GITHUB_LINK": "https://github.com/kaizhang/SnapATAC2",
+ "READTHEDOC_LINK": "https://kzhang.org/SnapATAC2",
+ "TUTORIAL_HTML_PATH": "https://kzhang.org/SnapATAC2/tutorials/index.html",
+ "TUTORIAL_GITHUB": "https://github.com/kaizhang/SnapATAC2"
},
"scanpy_subset":{
"LIB":"scanpy_subset",
@@ -188,24 +206,6 @@
"TUTORIAL_HTML_PATH": None,
"TUTORIAL_GITHUB": None
},
- "ehrapy": {
- "LIB": "ehrapy",
- "LIB_ALIAS": "ehrapy",
- "API_HTML_PATH": "ehrapy.readthedocs.io/en/latest/usage/usage.html",
- "GITHUB_LINK": "https://github.com/theislab/ehrapy",
- "READTHEDOC_LINK": "https://ehrapy.readthedocs.io/",
- "TUTORIAL_HTML_PATH": "https://ehrapy.readthedocs.io/en/latest/tutorials/index.html",
- "TUTORIAL_GITHUB": "https://github.com/theislab/ehrapy-tutorials"
- },
- "snapatac2": {
- "LIB": "snapatac2",
- "LIB_ALIAS": "snapatac2",
- "API_HTML_PATH": "kzhang.org/SnapATAC2/api/index.html",
- "GITHUB_LINK": "https://github.com/kaizhang/SnapATAC2",
- "READTHEDOC_LINK": "https://kzhang.org/SnapATAC2",
- "TUTORIAL_HTML_PATH": "https://kzhang.org/SnapATAC2/tutorials/index.html",
- "TUTORIAL_GITHUB": "https://github.com/kaizhang/SnapATAC2"
- },
"cellrank": {
"LIB": "cellrank",
"LIB_ALIAS": "cellrank",
@@ -358,5 +358,14 @@
"READTHEDOC_LINK": "https://scanpy-tutorials.readthedocs.io/en/latest/spatial/integration-scanorama.html",
"TUTORIAL_HTML_PATH": "https://scanpy-tutorials.readthedocs.io/en/latest/spatial/integration-scanorama.html",
"TUTORIAL_GITHUB": "https://github.com/brianhie/scanorama"
+ },
+ "base":{
+ "LIB": "base",
+ "LIB_ALIAS": "base",
+ "API_HTML_PATH": None,
+ "GITHUB_LINK": None,
+ "READTHEDOC_LINK": None,
+ "TUTORIAL_HTML_PATH": None,
+ "TUTORIAL_GITHUB": None
}
}
\ No newline at end of file