Skip to main content

FUCrIMODo

Fujimoto from the movie Ponyo

Find Unknown Crystals by Inversion of ML Optimized Descriptors


FUCrIMODo is a scientific framework for recovering atomic structures from machine-learning descriptors. It is built around a novel multi-stage Genetic Algorithm (GA). The method and program are introduced in this publication. FUCrIMODo comes with an inversion algorithm for the global SOAP descriptor out of the box, and more descriptors are on the way or can be added by you!

Table of Contents

Requirements

Install

To install the latest release:

pip install fucrimodo

Or to install the development version:

pip install git+git@github.com:OHANAN1/fucrimodo.git

For more detailed instructions, including setup with uv and conda, please refer to the documentation.

Tutorials

Use fucrimodo CLI

To use fucrimodo as a cli you need to set up a fucrimodo_lab. The fucrimodo_lab is a human-readable database that allows you to manage configurations, data, analysis and more. To set it up, go to a desired directory (ideally outside the library's git structure) and run:

fucrimodo lab init

This creates a directory called fucrimodo_lab and sets up the required directory structure. Example raw data is provided so you can perform test runs. Please set it up and refer to the README.md file inside the lab for more info.

Use fucrimodo as a library

To learn how to configure the CLI tool or use fucrimodo as a library, you can work through this Jupyter notebook tutorial. Also refer to the documentation for more details.

Documentation

The documentation is hosted at read the docs. It includes additional tutorials and documents the API of fucrimodo.

To build it yourself, first install the dependencies:

pip install ".[docs]"

Now an HTML version of the docs can be generated:

cd docs/
make html

The docs will be generated at _build/html/ and can then be opened with the browser of your choice. E.g.:

qutebrowser _build/html/index.html

Roadmap

  • Implement and test additional descriptors types
  • Implement new Stage types
    • ParallelGAStage (Run multiple GA stages parallel.)
    • SwarmSearchStage (Use a swarm search for the ideal descriptor.)
    • GradientDescentStage (Follow the descriptor gradients.)
  • Improve current default run configuration for bigger structures
  • Add a proper way to update fucrimodo_lab defaults without overwriting existing defaults.

Contact

Authors and acknowledgment

  • Main Author: Louis Böhm
  • Co-Author: Martin Kuban

License

The program is licensed with the Apache 2.0 license.

Citation

If you use this program in a scientific publication please add the following citation: (This is the preprint)

@article{FUCrIMODo_Boehm_2026,
  author = {Boehm, Louis and Kuban, Martin and Draxl, Claudia},
  eprint = {2608.23381v1},
  eprintclass = {cond-mat.mtrl-sci},
  eprinttype = {arxiv},
  title = {FUCrIMODo: structure recovery from atomistic descriptors via multi-stage genetic algorithms},
  month = {8},
  year = {2026},
  url = {http://arxiv.org/abs/2608.23381v1},
}

Little Reward

As a reward that you read the complete README.md file you can now look at this cute ASCII-Art. :D

  (\{\             .               ,@@@@                
  { { \ ,~,  ^  .     ~        __ _ ),\\(\   _,::;
   {   \|`) <*>   +  o------o  .)\)\\_(((\),:::::;
  { {  /(\  /~      /|     /|   `\`._,)))))::::::`,
   {/{/; ,\/       o------o |     `.__/(((:::::::' 
      [[ '         | |    | |        \  (`:::::::.
       \` \        | o----+-o         @**\ `:::::; 
       (/ \\       |/mlp  |/         /    \ `::'    
ejm    `)  `\      o------o         '*~*~*~`         
                                      | //
                                      \ \\
                                       `.\\
                                         \((
                                          ` ` hjw

(I will be a human, too!~Ponyo)

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fucrimodo-1.0.1.tar.gz (92.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fucrimodo-1.0.1-py3-none-any.whl (120.1 kB view details)

Uploaded Python 3

File details

Details for the file fucrimodo-1.0.1.tar.gz.

File metadata

  • Download URL: fucrimodo-1.0.1.tar.gz
  • Upload date:
  • Size: 92.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.5

File hashes

Hashes for fucrimodo-1.0.1.tar.gz
Algorithm Hash digest
SHA256 88556fbebcda211c17b1363fbeedab247379dbc388c80ddc72fc322b2cb17be0
MD5 680f9b220d51f7df1c3eb10d5b1dcdc1
BLAKE2b-256 ad10b4f2173f69c424e012007751d5b0c3c2939cbce0c2a15822e912bb6c59dd

See more details on using hashes here.

File details

Details for the file fucrimodo-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: fucrimodo-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 120.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.5

File hashes

Hashes for fucrimodo-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 16f260d0b4e09096773840d6796203f9f00628b50ee13014f48360ce6ca11e5a
MD5 dd4b9ef1640043c38cf1c40a37c66494
BLAKE2b-256 fde3f93b68ea0e83f5e415fa160779dfed4d00bdc989d0e632c1e2e26f7efeac

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 files

1.0.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page