Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

real_multi_modality #459

Open
wants to merge 398 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
398 commits
Select commit Hold shift + click to select a range
612c72b
Merge remote-tracking branch 'origin/celltype_annotation_automl' into…
xingzhongyu Dec 2, 2024
06f85e7
update scdeepsort
xingzhongyu Dec 2, 2024
adfbfd2
minor
xingzhongyu Dec 4, 2024
5043ffc
Merge remote-tracking branch 'origin/celltype_annotation_automl' into…
xingzhongyu Dec 4, 2024
95b2883
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 4, 2024
13a42e0
minor
xingzhongyu Dec 4, 2024
059a9f4
Merge remote-tracking branch 'origin/celltype_annotation_automl' into…
xingzhongyu Dec 4, 2024
c0cd31b
minor
xingzhongyu Dec 5, 2024
da1bfe7
minor
xingzhongyu Dec 5, 2024
8a27fc6
minor
xingzhongyu Dec 5, 2024
43d4894
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 5, 2024
def68be
minor
xingzhongyu Dec 6, 2024
ad8ecb7
minor
xingzhongyu Dec 6, 2024
6d0583c
Merge remote-tracking branch 'origin/celltype_annotation_automl' into…
xingzhongyu Dec 6, 2024
8fc8f62
update data
xingzhongyu Dec 7, 2024
02893d5
minor
xingzhongyu Dec 9, 2024
75a20b8
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 9, 2024
75c6429
minor
xingzhongyu Dec 9, 2024
b265ec7
Merge remote-tracking branch 'origin/celltype_annotation_automl' into…
xingzhongyu Dec 9, 2024
9eba40a
minor
xingzhongyu Dec 9, 2024
1f6e315
Merge branch 'celltype_annotation_automl' of https://github.com/Omics…
xingzhongyu Dec 9, 2024
3edaa6d
Merge remote-tracking branch 'origin/celltype_annotation_automl' into…
xingzhongyu Dec 9, 2024
cdeebd9
minor
xingzhongyu Dec 10, 2024
225b655
minor
xingzhongyu Dec 11, 2024
f70ee3e
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 11, 2024
5645a6a
update example
xingzhongyu Dec 12, 2024
06d282d
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 12, 2024
cee9204
minor
xingzhongyu Dec 12, 2024
ed0b6b4
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 12, 2024
a19a050
minor
xingzhongyu Dec 12, 2024
324714f
minor
xingzhongyu Dec 12, 2024
33eaa23
minor
xingzhongyu Dec 12, 2024
b08ce14
minor
xingzhongyu Dec 12, 2024
20ed44d
Merge remote-tracking branch 'origin/celltype_annotation_automl' into…
xingzhongyu Dec 12, 2024
1ad3cec
minor
xingzhongyu Dec 12, 2024
c26f490
minor
xingzhongyu Dec 12, 2024
fba1880
Merge remote-tracking branch 'origin/celltype_annotation_automl' into…
xingzhongyu Dec 12, 2024
467d4a0
minor
xingzhongyu Dec 12, 2024
30eb4fd
minor
xingzhongyu Dec 13, 2024
2d4070d
update scdeepsort
xingzhongyu Dec 16, 2024
da9b8a6
minor
xingzhongyu Dec 16, 2024
3881988
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 16, 2024
27d9817
ignore result
xingzhongyu Dec 16, 2024
9b6babe
Merge remote-tracking branch 'origin/celltype_annotation_automl' into…
xingzhongyu Dec 16, 2024
f42e6fc
minor
xingzhongyu Dec 16, 2024
83fe348
Merge remote-tracking branch 'origin/celltype_annotation_automl' into…
xingzhongyu Dec 16, 2024
66923ab
minor
xingzhongyu Dec 16, 2024
5859db7
minor
xingzhongyu Dec 16, 2024
00e11fc
Merge remote-tracking branch 'origin/celltype_annotation_automl' into…
xingzhongyu Dec 16, 2024
00c1b82
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 16, 2024
7bbef3e
update pre-commit
xingzhongyu Dec 17, 2024
828a180
Merge branch 'celltype_annotation_automl' of https://github.com/Omics…
xingzhongyu Dec 17, 2024
505e5d6
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 17, 2024
b7683af
minor
xingzhongyu Dec 17, 2024
7026ee0
minor
xingzhongyu Dec 17, 2024
d7c63ad
minor
xingzhongyu Dec 17, 2024
79ce92a
Merge branch 'celltype_annotation_automl' of https://github.com/Omics…
xingzhongyu Dec 17, 2024
81b8330
update data
xingzhongyu Dec 17, 2024
7f37be4
update notes
xingzhongyu Dec 18, 2024
3e23afc
Merge remote-tracking branch 'origin/celltype_annotation_automl' into…
xingzhongyu Dec 18, 2024
7599124
update forest and other minor changes
xingzhongyu Dec 18, 2024
8e1d33f
minor
xingzhongyu Dec 18, 2024
1087e3c
minor
xingzhongyu Dec 18, 2024
1e843d3
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 18, 2024
46b5cb4
minor
xingzhongyu Dec 18, 2024
38b0f11
Merge remote-tracking branch 'origin/celltype_annotation_automl' into…
xingzhongyu Dec 18, 2024
10f8299
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 18, 2024
f6b3989
add scmvae
xingzhongyu Dec 18, 2024
d0c5c07
minor
xingzhongyu Dec 18, 2024
2e6de34
Merge remote-tracking branch 'origin/celltype_annotation_automl' into…
xingzhongyu Dec 18, 2024
577919a
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 18, 2024
c7169eb
minor
xingzhongyu Dec 18, 2024
fa7be0a
minor
xingzhongyu Dec 18, 2024
a66bf43
add note
xingzhongyu Dec 18, 2024
9446566
Merge branch 'celltype_annotation_automl' of https://github.com/Omics…
xingzhongyu Dec 18, 2024
7849333
minor
xingzhongyu Dec 18, 2024
1b8dd47
minor
xingzhongyu Dec 18, 2024
e420a6d
translate notes
xingzhongyu Dec 18, 2024
67fb57b
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 18, 2024
d452973
add argument preprocess
xingzhongyu Dec 18, 2024
e87e1f6
Merge remote-tracking branch 'origin/celltype_annotation_automl' into…
xingzhongyu Dec 18, 2024
631ce66
add argument preprocess
xingzhongyu Dec 18, 2024
0f3c268
translate notes
xingzhongyu Dec 18, 2024
c33f9e2
Merge remote-tracking branch 'origin/celltype_annotation_automl' into…
xingzhongyu Dec 18, 2024
5355130
translate notes
xingzhongyu Dec 18, 2024
7c8c657
add atlas
xingzhongyu Dec 19, 2024
c131db2
Merge remote-tracking branch 'origin/celltype_annotation_automl' into…
xingzhongyu Dec 19, 2024
7738d7d
minor
xingzhongyu Dec 19, 2024
35b105c
add atlas
xingzhongyu Dec 19, 2024
4d3a0d2
update scdeepsort
xingzhongyu Dec 19, 2024
c7ac320
minor
xingzhongyu Dec 19, 2024
2cf8e36
minor
xingzhongyu Dec 19, 2024
5b3d2de
minor
xingzhongyu Dec 20, 2024
a18f3ae
add notes
xingzhongyu Dec 20, 2024
dbd1fa3
add notes
xingzhongyu Dec 20, 2024
b096c25
add note
xingzhongyu Dec 20, 2024
4fb6145
add notes
xingzhongyu Dec 20, 2024
059984e
add notes
xingzhongyu Dec 20, 2024
1049349
add notes
xingzhongyu Dec 20, 2024
609db04
translate notes
xingzhongyu Dec 20, 2024
b26151f
add notes
xingzhongyu Dec 20, 2024
6878afa
add notes
xingzhongyu Dec 20, 2024
04ab7eb
add notes
xingzhongyu Dec 20, 2024
844d883
add notes
xingzhongyu Dec 20, 2024
1512c01
add notes
xingzhongyu Dec 20, 2024
7549f1d
minor
xingzhongyu Dec 20, 2024
f0b8db4
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 20, 2024
3c3f527
minor
xingzhongyu Dec 20, 2024
bc037a7
Merge remote-tracking branch 'origin/celltype_annotation_automl' into…
xingzhongyu Dec 20, 2024
93d96c1
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 20, 2024
e2bd540
minor
xingzhongyu Dec 20, 2024
312ab95
minor
xingzhongyu Dec 20, 2024
b5a6a22
Merge remote-tracking branch 'origin/celltype_annotation_automl' into…
xingzhongyu Dec 20, 2024
5e51a66
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 20, 2024
1a98457
minor
xingzhongyu Dec 20, 2024
4220db0
Merge remote-tracking branch 'origin/celltype_annotation_automl' into…
xingzhongyu Dec 20, 2024
a19aa53
update data
xingzhongyu Dec 20, 2024
aa664c9
add data
xingzhongyu Dec 22, 2024
3c66081
minor
xingzhongyu Dec 22, 2024
c2e6aa9
update data
xingzhongyu Dec 23, 2024
fc3213f
add yamls
xingzhongyu Dec 23, 2024
3fc9e3d
Merge branch 'celltype_annotation_automl' of https://github.com/Omics…
xingzhongyu Dec 23, 2024
b5d738c
add yamls
xingzhongyu Dec 23, 2024
d276716
merge
xingzhongyu Dec 23, 2024
629e065
minor
xingzhongyu Dec 23, 2024
60711e0
add yamls
xingzhongyu Dec 23, 2024
ca1f837
minor
xingzhongyu Dec 23, 2024
9df3dfe
Merge remote-tracking branch 'origin/celltype_annotation_automl' into…
xingzhongyu Dec 23, 2024
5b03b8d
minor
xingzhongyu Dec 23, 2024
b308093
merge
xingzhongyu Dec 23, 2024
745d058
add yamls
xingzhongyu Dec 23, 2024
b32bf75
update data
xingzhongyu Dec 23, 2024
814f39e
Merge remote-tracking branch 'origin/celltype_annotation_automl' into…
xingzhongyu Dec 23, 2024
ef30006
update get_result_web
xingzhongyu Dec 25, 2024
4543d1c
minor
xingzhongyu Dec 26, 2024
9345b19
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 26, 2024
b27e312
update run config
xingzhongyu Dec 27, 2024
add42ca
Merge remote-tracking branch 'origin/celltype_annotation_automl' into…
xingzhongyu Dec 27, 2024
2f6cf01
minor
xingzhongyu Dec 27, 2024
f1ea675
update config
xingzhongyu Dec 27, 2024
a3d0aa6
Merge remote-tracking branch 'origin/celltype_annotation_automl' into…
xingzhongyu Dec 27, 2024
978ce1c
minor
xingzhongyu Dec 27, 2024
aae2315
Merge branch 'celltype_annotation_automl' of https://github.com/Omics…
xingzhongyu Dec 27, 2024
ca00a8d
update result web
xingzhongyu Dec 27, 2024
6f6612f
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 27, 2024
42a42c8
update data
xingzhongyu Dec 27, 2024
742ec97
update data
xingzhongyu Dec 27, 2024
7785022
update ans
xingzhongyu Dec 27, 2024
3c7b91d
Merge branch 'celltype_annotation_automl' of https://github.com/Omics…
xingzhongyu Dec 27, 2024
3344477
update config
xingzhongyu Dec 28, 2024
b686b37
Merge remote-tracking branch 'origin/celltype_annotation_automl' into…
xingzhongyu Dec 28, 2024
0f2b6a4
update ans
xingzhongyu Dec 28, 2024
3bc9f79
Merge remote-tracking branch 'origin/celltype_annotation_automl' into…
xingzhongyu Dec 28, 2024
a7313ea
delete a file or dir
xingzhongyu Dec 28, 2024
933f1bc
update ans
xingzhongyu Dec 28, 2024
20adea2
update config
xingzhongyu Dec 28, 2024
3e61695
Merge remote-tracking branch 'origin/celltype_annotation_automl' into…
xingzhongyu Dec 28, 2024
74394c8
update ans
xingzhongyu Dec 29, 2024
ebc1d80
update ans
xingzhongyu Dec 29, 2024
bd021c2
update ans
xingzhongyu Dec 29, 2024
88a1ed8
Merge remote-tracking branch 'origin/celltype_annotation_automl' into…
xingzhongyu Dec 29, 2024
29611b2
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 29, 2024
b5c6af1
update ans
xingzhongyu Dec 29, 2024
9f3218a
Merge remote-tracking branch 'origin/celltype_annotation_automl' into…
xingzhongyu Dec 29, 2024
a53558f
update ans
xingzhongyu Dec 29, 2024
6e2c17f
Merge remote-tracking branch 'origin/celltype_annotation_automl' into…
xingzhongyu Dec 29, 2024
b011926
update ans
xingzhongyu Dec 29, 2024
64a4c7a
Merge branch 'celltype_annotation_automl' of https://github.com/Omics…
xingzhongyu Dec 29, 2024
a2f9ac2
update ans
xingzhongyu Dec 29, 2024
60cf01a
Merge branch 'celltype_annotation_automl' of https://github.com/Omics…
xingzhongyu Dec 29, 2024
ce36094
update ans
xingzhongyu Dec 29, 2024
13cc17f
update ans
xingzhongyu Dec 30, 2024
f20cdd0
update ans
xingzhongyu Dec 30, 2024
192621f
Merge remote-tracking branch 'origin/celltype_annotation_automl' into…
xingzhongyu Dec 30, 2024
95b1e97
update ans
xingzhongyu Dec 30, 2024
1150e12
update ans
xingzhongyu Dec 30, 2024
c69f3c1
update ans
xingzhongyu Dec 30, 2024
3dcdf78
Merge branch 'celltype_annotation_automl' of https://github.com/Omics…
xingzhongyu Dec 30, 2024
39a3a71
update ans
xingzhongyu Dec 30, 2024
f31da9f
update ans
xingzhongyu Dec 30, 2024
ded0576
update ans
xingzhongyu Dec 30, 2024
610425f
update ans
xingzhongyu Dec 30, 2024
52480a7
Merge branch 'celltype_annotation_automl' of https://github.com/Omics…
xingzhongyu Dec 30, 2024
0f345ef
update ans
xingzhongyu Dec 30, 2024
95b241b
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 30, 2024
10fda95
update ans
xingzhongyu Dec 30, 2024
50fd98d
update ans
xingzhongyu Dec 30, 2024
529de4c
update ans
xingzhongyu Dec 30, 2024
7bd4246
update ans
xingzhongyu Dec 30, 2024
dd7540c
update main
xingzhongyu Dec 31, 2024
eda1fff
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 31, 2024
ed4a62b
update ans
xingzhongyu Dec 31, 2024
7cb693a
update ans
xingzhongyu Dec 31, 2024
36d6412
update ans
xingzhongyu Dec 31, 2024
bcf4492
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 31, 2024
66af9da
update ans
xingzhongyu Jan 1, 2025
ab917f0
update ans
xingzhongyu Jan 2, 2025
2b68b1b
update ans
xingzhongyu Jan 2, 2025
ff02cf7
minor
xingzhongyu Jan 2, 2025
3aa929d
Merge branch 'celltype_annotation_automl' of https://github.com/Omics…
xingzhongyu Jan 2, 2025
afa7fc8
update ans
xingzhongyu Jan 2, 2025
3ed6a96
update ans
xingzhongyu Jan 2, 2025
0edb02b
update ans
xingzhongyu Jan 3, 2025
f56e2fd
update ans
xingzhongyu Jan 3, 2025
66cfc67
update ans
xingzhongyu Jan 3, 2025
e6faa66
update ans
xingzhongyu Jan 3, 2025
b70e71f
update ans
xingzhongyu Jan 3, 2025
0812e66
update ans
xingzhongyu Jan 3, 2025
00380dc
update ans
xingzhongyu Jan 4, 2025
5a8a162
update ans
xingzhongyu Jan 4, 2025
9a291e7
update ans
xingzhongyu Jan 4, 2025
431edc1
update ans
xingzhongyu Jan 4, 2025
3d3516c
update ans
xingzhongyu Jan 4, 2025
60d4731
update ans
xingzhongyu Jan 4, 2025
a531ab9
update ans
xingzhongyu Jan 4, 2025
b11b5aa
update ans
xingzhongyu Jan 4, 2025
f7925c6
update ans
xingzhongyu Jan 4, 2025
1d7bb5b
update ans
xingzhongyu Jan 5, 2025
cc9a683
Merge remote-tracking branch 'origin/celltype_annotation_automl' into…
xingzhongyu Jan 5, 2025
fd17d42
update ans
xingzhongyu Jan 5, 2025
159c4b7
update ans
xingzhongyu Jan 5, 2025
1f7f13f
update ans
xingzhongyu Jan 5, 2025
81a4982
update ans
xingzhongyu Jan 5, 2025
caf70c0
update ans
xingzhongyu Jan 5, 2025
e08eec4
Merge remote-tracking branch 'origin/celltype_annotation_automl' into…
xingzhongyu Jan 5, 2025
fd3e9a3
update ans
xingzhongyu Jan 5, 2025
9e8fb85
update ans
xingzhongyu Jan 5, 2025
01f159c
update ans
xingzhongyu Jan 5, 2025
cdd9c50
update ans
xingzhongyu Jan 7, 2025
518d9ca
update ans
xingzhongyu Jan 7, 2025
087c40d
update ans
xingzhongyu Jan 7, 2025
c4c9889
update ans
xingzhongyu Jan 7, 2025
135136c
update ans
xingzhongyu Jan 7, 2025
e8d2817
update ans
xingzhongyu Jan 7, 2025
6b6f79b
update ans
xingzhongyu Jan 7, 2025
ee334bb
Merge remote-tracking branch 'origin/celltype_annotation_automl' into…
xingzhongyu Jan 7, 2025
58d2b20
update ans
xingzhongyu Jan 7, 2025
5b99078
update ans
xingzhongyu Jan 7, 2025
2b82fd6
update ans
xingzhongyu Jan 7, 2025
f4e6965
Merge remote-tracking branch 'origin/celltype_annotation_automl' into…
xingzhongyu Jan 7, 2025
561025f
update ans
xingzhongyu Jan 7, 2025
790e5d9
update ans
xingzhongyu Jan 8, 2025
0a9a2d3
update ans
xingzhongyu Jan 8, 2025
7e7d158
update ans
xingzhongyu Jan 9, 2025
7ab9272
update ans
xingzhongyu Jan 10, 2025
af633a2
update ans
xingzhongyu Jan 10, 2025
0ee8d40
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jan 10, 2025
3e24fcd
update ans
xingzhongyu Jan 10, 2025
c611304
Merge remote-tracking branch 'origin/celltype_annotation_automl' into…
xingzhongyu Jan 10, 2025
ffc84b2
Merge remote-tracking branch 'origin/celltype_annotation_automl' into…
xingzhongyu Jan 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,15 @@ temp_data
*.egg*
__pycache__
build/
*.log

#ignore example result
examples/**/*.h5ad
examples/tuning/**/*.yaml
examples/tuning/**/*.csv
examples/tuning/**/*.sh
examples/tuning/**/*.h5
examples/tuning/**/*.tar.gz
examples/tuning/**/*.tif
examples/tuning/**/*.txt
examples/atlas/config/run_config.csv
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ repos:
args: [--line-width, "120", --profile, black]

- repo: https://github.com/PyCQA/docformatter
rev: v1.7.5
rev: eb1df34
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hooks:
- id: docformatter
name: Format docstring
Expand Down
64 changes: 32 additions & 32 deletions README.md

Large diffs are not rendered by default.

155 changes: 155 additions & 0 deletions dance/atlas/data_dropbox_upload.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,155 @@
import json
import os
import pathlib

import dropbox
import numpy as np
import pandas as pd
import scanpy as sc
from dropbox.exceptions import ApiError, AuthError

from dance.utils import logger


def upload_file_to_dropbox(dropbox_path, access_token, local_path):
"""Upload a local file to Dropbox.

Parameters
----------
dropbox_path : str
Destination path in Dropbox
access_token : str
Dropbox API access token
local_path : str or pathlib.Path
Path to local file to upload

Returns
-------
None
Returns None if upload fails

"""
dbx = dropbox.Dropbox(access_token)

# Verify access token
try:
dbx.users_get_current_account()
except AuthError as err:
print("ERROR: Invalid access token; please check your access token.")
return None
try:
file_upload(dbx=dbx, local_path=local_path, remote_path=dropbox_path)
print("Upload successful.")
except ApiError as err:
print(f"API error: {err}")
return None


def file_upload(dbx: dropbox.Dropbox, local_path: pathlib.Path, remote_path: str):
"""Upload large files to Dropbox using chunked upload.

Parameters
----------
dbx : dropbox.Dropbox
Authenticated Dropbox client
local_path : pathlib.Path
Path to local file
remote_path : str
Destination path in Dropbox

"""
CHUNKSIZE = 100 * 1024 * 1024
upload_session_start_result = dbx.files_upload_session_start(b'')
cursor = dropbox.files.UploadSessionCursor(session_id=upload_session_start_result.session_id, offset=0)
with local_path.open("rb") as f:
while True:
data = f.read(CHUNKSIZE)
if data == b"":
break
logger.debug("Pushing %d bytes", len(data))
dbx.files_upload_session_append_v2(data, cursor)
cursor.offset += len(data)
commit = dropbox.files.CommitInfo(path=remote_path)
dbx.files_upload_session_finish(b'', cursor, commit)


def create_shared_link(dbx, dropbox_path):
"""Create or get existing shared link.

:param dbx: Dropbox object
:param dropbox_path: File path on Dropbox
:return: Shared link URL

"""
try:
links = dbx.sharing_list_shared_links(path=dropbox_path, direct_only=True).links
if links:
# If shared link already exists, return the first one
return links[0].url
else:
# Create a new shared link
link = dbx.sharing_create_shared_link_with_settings(dropbox_path)
return link.url
except ApiError as err:
print(f"Error creating shared link: {err}")
return None


def get_link(data_fname, local_path, ACCESS_TOKEN, DROPBOX_DEST_PATH):
DROPBOX_DEST_PATH = DROPBOX_DEST_PATH + "/" + data_fname

upload_file_to_dropbox(dropbox_path=DROPBOX_DEST_PATH, access_token=ACCESS_TOKEN, local_path=local_path)

# Create Dropbox object to get shared link
dbx = dropbox.Dropbox(ACCESS_TOKEN)
# Get shared link
shared_link = create_shared_link(dbx, DROPBOX_DEST_PATH)
if shared_link:
# Dropbox shared link defaults to `dl=0` at the end, which means preview in browser.
# change it to `dl=1`.
download_link = shared_link.replace('&dl=0', '&dl=1')
print(f"Download link: {download_link}")
return download_link
else:
print("Unable to get shared link.")


def get_ans(data: sc.AnnData, tissue: str, dataset_id: str, local_path, ACCESS_TOKEN, DROPBOX_DEST_PATH):
"""Generate metadata dictionary for dataset and upload to Dropbox.

Parameters
----------
data : sc.AnnData
Annotated data matrix
tissue : str
Tissue type
dataset_id : str
Unique identifier for dataset
local_path : str or pathlib.Path
Path to local data file
ACCESS_TOKEN : str
Dropbox API access token
DROPBOX_DEST_PATH : str
Base path in Dropbox for uploads

Returns
-------
dict
Metadata dictionary containing dataset information and Dropbox URLs

"""
# keys=["species","tissue","dataset","split","celltype_fname","celltype_url","data_fname","data_url"]
# Create metadata dictionary with dataset info
ans = {}
ans["species"] = "human"
ans["tissue"] = tissue.capitalize()
# Store number of observations (cells) in dataset
ans["dataset"] = data.n_obs
ans["split"] = "train"
ans["celltype_fname"] = ""
ans["celltype_url"] = ""
ans["data_fname"] = f"train_human_{tissue.capitalize()}{dataset_id}_data.h5ad"
ans["data_url"] = get_link(data_fname=ans["data_fname"].split("_", 1)[1], local_path=local_path,
ACCESS_TOKEN=ACCESS_TOKEN, DROPBOX_DEST_PATH=DROPBOX_DEST_PATH)
ans["is_ALL_Integer"] = np.all(np.equal(data.X.data, data.X.data.astype(int)))
return ans
Loading
Loading