GithubHelp home page GithubHelp logo

cryoai's Introduction

Test Lint Codecov DeepSource

compSPI

Computational Single Particle Imaging

Vision: the finality of compSPI is to accelerate entry for method developers in cryoEM and other single particle imaging modalities.

compSPI

the compSPI organization

This is compSPI central repo. Satellite repos can be found in the compSPI organization:

  • ioSPI: Methods and tools to read and write data in all formats. Also provides methods to use other SPI tools developed outside of compSPI.
  • simSPI: Methods and tools for simulating SPI data.

Shared bibliography

We are maintaining the Zotero group compSPI.

See some tips on how to contribute to it and integrate it in your Overleaf project here.

Contributing

See our contributing guidelines!

cryoai's People

Contributors

axel-levy avatar fredericpoitevin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cryoai's Issues

Ground truth volume mentioned in A.1

Thanks for the great work. In appendix Sec. A.1 you mentioned the ground-truth volume, I am wondering how it is involved during reconstruction. Will it be used as a prior?

Long pauses during training when loading images from big `.mrcs`

Hi,

I have been running CryoAI with this dataset EMPIAR-10076. However, for this particular dataset, because it stuffed all images into one big .mrcs file, CryoAI pause significantly long time during training.
Specifically, after every train_num_workers steps, the training gets stuck for about 5-10 minutes and GPU usage drops to 0%. I have compared the training time of EMPIAR-10028, where image chunks are split into multiple .mrcs, and that dataset trained smoothly without pausing.

Is there anyway to fix this?

Thanks!

Confused about the simulation process

Hi, I have some confusion about the synthetic data generation process.

One is that I noticed the value of the original density volume data (.mrc) is processed by the following formula src/dataio.py#L177
$$mrc\_data = 2e4 * (power\_signal / power\_init) * (mrc\_data.shape[0] / projection\_sz[0]) * mrc\_data$$

  • the term $power\_signal$ is commented as the sum of squares in src/reconstruct/main.py#L162, but $power\_init$ is the sum of absolute values of the src data. Is this the expected behavior?
  • I didn't get a mathematical intuition of the process, why a 2e4 multiplier, why the term $mrc\_data.shape[0] / projection\_sz[0]$ not $projection\_sz[0] / mrc\_data.shape[0]$. Could you kindly give me some comments?

Another question is about the snr parameter. I see the default value is 10 in configfile configfiles/mrc2star_80S_128.ini#L5. Usually SNR in cryoEM is believed near 0.1-0.01 or even lower. In the code, the sigma of additive Gaussian noise is controlled by $power\_signal/snr$ src/noise_utils.py#L10.

  • Any guidelines about how to choose the two hyper-params? (Is there a more explicit relation between the hyper-param $snr$ and the actual physical SNR?) Is 0.1 (or even smaller number) a more appropriate value for snr?

Release plan

To do soon

  • provide link to docker image in README.
  • provide complete working example with input files and expected output (notebook?)
  • clean-up README.
  • make public.

Nice to have

  • GH Action method to update the docker image and/or provide method to users to build their own container.
  • cross-link to computationalimaging.org/cryoai
  • List of authors (with GH handle) in README

Thanks @bHimes for feedback!

How to load a real world dataset?

Hi,

I have downloaded the EMPIAR 10049 data following this link: https://github.com/zhonge/cryodrgn_empiar

But there are some questions:

  • Error occurs when loading the provided .star file, how can I resolve it?
  • How to load the ctf.pkl?
Traceback (most recent call last):
  File "/root/cryoAI/src/reconstruct/main.py", line 273, in <module>
    retval, status_message = main()
  File "/root/cryoAI/src/reconstruct/main.py", line 260, in main
    train(config)
  File "/root/cryoAI/src/reconstruct/train.py", line 20, in experiment
    dataset = StarfileDataLoader(config)
  File "/root/cryoAI/src/dataio.py", line 48, in __init__
    self.true_sidelen = self.df['optics']['rlnImageSize'][0]
  File "/root/miniconda3/envs/cryoai/lib/python3.7/site-packages/pandas/core/frame.py", line 3458, in __getitem__
    indexer = self.columns.get_loc(key)
  File "/root/miniconda3/envs/cryoai/lib/python3.7/site-packages/pandas/core/indexes/base.py", line 3363, in get_loc
    raise KeyError(key) from err
KeyError: 'optics'

Error: Training failed.

Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.