ludvb / xfuse

Super-resolved spatial transcriptomics by deep data fusion
MIT License
67 stars 13 forks source link

xfuse on synthetic data #40

Open Yizhi-Zhang opened 2 years ago

Yizhi-Zhang commented 2 years ago

Hello, Thank you very much for providing this great method! I tried to use xfuse on synthetic data, but I ran into some difficulties. How does the synthetic data look like? And how can I modify the .toml file to get the result just like that in your article? May I ask if you can provide the synthetic data in your article and the corresponding running code for xfuse?

Many thanks

ludvb commented 2 years ago

Hi,

The code for the synthetic data analysis lives in the synthetic-data branch. The data is generated by the dataloader, so no data files are needed. I believe the config below was used in the paper. Let me know if you run into any problems!

[xfuse]
network_depth = 4
network_width = 16
genes = []
min_counts = 1
gene_regex = ".*"

[settings]
cache_data = true
data_workers = 8

[expansion_strategy]
type = "DropAndSplit"
purge_interval = 1000

[expansion_strategy.DropAndSplit]
max_metagenes = 10

[expansion_strategy.Extra]
num_metagenes = 4
anneal_to = 1
anneal_epochs = 10000

[optimization]
batch_size = 4
epochs = 2000000
learning_rate = 0.0001
patch_size = 384

[analyses]
[analyses.synthetic]
type = "synthetic"

[analyses.synthetic.options]
num_samples = 1000
test_grid_size = 16

[slides]
[slides.control1]
data = "/tmp/"

[slides.control1.options]
repeat = 1
synthetic = true
allow_edge_clipping = false
image_noise = 0.1
reads_per_pixel = 10
reads_per_bg_pixel = 0

[slides.control2]
data = "/tmp/"

[slides.control2.options]
repeat = 1
synthetic = true
allow_edge_clipping = false
image_noise = 0.1
reads_per_pixel = 10
reads_per_bg_pixel = 0

[slides.control3]
data = "/tmp/"

[slides.control3.options]
repeat = 1
synthetic = true
allow_edge_clipping = false
image_noise = 0.1
reads_per_pixel = 10
reads_per_bg_pixel = 0

[slides.control4]
data = "/tmp/"

[slides.control4.options]
repeat = 1
synthetic = true
allow_edge_clipping = false
image_noise = 0.1
reads_per_pixel = 10
reads_per_bg_pixel = 0

[slides.control5]
data = "/tmp/"

[slides.control5.options]
repeat = 1
synthetic = true
allow_edge_clipping = false
image_noise = 0.1
reads_per_pixel = 10
reads_per_bg_pixel = 0

[slides.control6]
data = "/tmp/"

[slides.control6.options]
repeat = 1
synthetic = true
allow_edge_clipping = false
image_noise = 0.1
reads_per_pixel = 10
reads_per_bg_pixel = 0

[slides.control7]
data = "/tmp/"

[slides.control7.options]
repeat = 1
synthetic = true
allow_edge_clipping = false
image_noise = 0.1
reads_per_pixel = 10
reads_per_bg_pixel = 0

[slides.control8]
data = "/tmp/"

[slides.control8.options]
repeat = 1
synthetic = true
allow_edge_clipping = false
image_noise = 0.1
reads_per_pixel = 10
reads_per_bg_pixel = 0

[slides.control9]
data = "/tmp/"

[slides.control9.options]
repeat = 1
synthetic = true
allow_edge_clipping = false
image_noise = 0.1
reads_per_pixel = 10
reads_per_bg_pixel = 0

[slides.control10]
data = "/tmp/"

[slides.control10.options]
repeat = 1
synthetic = true
allow_edge_clipping = false
image_noise = 0.1
reads_per_pixel = 10
reads_per_bg_pixel = 0
Yizhi-Zhang commented 2 years ago

Hi,

Thanks very much for your detailed explanation. Now I can run XFuse on synthetic data smoothly!

ludvb commented 2 years ago

Awesome, thanks for reporting back!