Skip to main content

Include RDKit for molecular manipulation.

Project description

GEOM – Geometry File Management

GEOM is a command-line tool for creating, modifying, and analyzing XYZ geometry files. It provides geometry transformations, nanoparticle generation, and graphene structure creation for computational research.

View the Documentation

Publications

GEOM has been used in the following research paper(s):

  • Giovannini, T.; Grobas Illobre, P.; Lafiosca, P.; Nicoli, L.; Bonatti, L.; Corni, S.; Cappelli, C. plasmonX: an Open-Source Code for Nanoplasmonics. Comput. Phys. Commun. 2026, 110035. https://doi.org/10.1016/j.cpc.2026.110035

Features

  • RDKit tools: molecular visualization, file conversion, force field optimization, and conformers generation.
  • AI Assistant for nanoparticle and graphene creation
  • Geometry Transformations: Translation, rotation, merging, and specular (mirror) transformations.
  • Nanoparticle Generation: Sphere, rod, core-shell, tip, pyramid, cone, icosahedron, and more.
  • Graphene Structures: Ribbons, disks, rings, and triangles.
  • Advanced Options: Alloying, dimer formation, and bowtie configurations.
  • Minimum Distance Calculation between XYZ geometries.
  • Geometrical Center Computation.

Installation

GEOM requires Python 3.8+ and the following dependencies:

  • gmsh==4.11.1
  • ase==3.22.1
  • numpy==1.24.3
  • pytest==8.3.4
  • launchpadlib==2.1.0
  • pyautogen==0.2.18
  • flaml[automl]==2.1.1
  • httpx==0.27.2

Setting Up the Virtual Environment

GEOM uses Conda to set up a virtual environment for your project. To install it and set up your environment, run the following:

./install.sh

This script will:

  • Check if Miniconda or Anaconda is installed. If not, it will prompt you to install Miniconda.
  • Set up a virtual environment named geom_env with the necessary dependencies.
  • Configure environment variables and aliases for running GEOM.

Activate the Environment

After installation, load the GEOM environment by running:

geom_load

This will set the necessary aliases and environment variables to run the tool properly.

Once the environment is set up, run the following command to see the available options:

geom -h

This will display the help menu with all the available commands and their descriptions.

Example commands:

  • RDKit conformers generation
geom -rdkit -i tyrosine.mol -confs
  • RDKit file conversion
geom -rdkit -i tyrosine.mol -o tyrosine.pdb
  • Rotate geometry 90 degrees around the Y-axis:
geom -r1 90 geom.xyz origin_CM_yes +y
  • Generate a nanoparticle sphere:
geom -create -sphere Ag 30
  • Generate a graphene ribbon:
geom -create -graphene rib 50 20

Starting the AI Assistant

GEOM now includes an AI-powered assistant that understands natural language, translates it into valid GEOM CLI commands, and executes them automatically.

This assistant is built using Microsoft's AutoGen framework, which enables a multi-agent system to interface with OpenAI’s language models and run commands dynamically.

1. Export your OpenAI API key

The assistant requires access to OpenAI's LLMs. Make sure you have your API key set:

export OPENAI_API_KEY=your-api-key-here

You can obtain an API key from https://platform.openai.com/account/api-keys

2. Start the assistant

To launch the chat-based assistant, load the GEOM environment (i.e., with geom_load) and run:

ai_geom

You’ll be greeted with a ChatGPT-like chat prompt where you can type your requests for geometry creation:

The assistant will automatically create and execute the corresponding GEOM command for you.

Running Tests

The ./install.sh script automatically runs tests to ensure everything is set up correctly.

To manually run the tests again:

./geom/tests/run_all_tests.sh

License

GEOM is licensed under the GNU General Public License v3.0.

Funding

This project has been supported by the FARE 2020 program — "Framework per l’attrazione e il rafforzamento delle eccellenze per la ricerca in Italia."

Contact

For issues or contributions:

Project details


Download files

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

Source Distribution

geom_x-2.0.1.tar.gz (80.6 kB view details)

Uploaded Source

Built Distribution

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

geom_x-2.0.1-py3-none-any.whl (83.7 kB view details)

Uploaded Python 3

File details

Details for the file geom_x-2.0.1.tar.gz.

File metadata

  • Download URL: geom_x-2.0.1.tar.gz
  • Upload date:
  • Size: 80.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for geom_x-2.0.1.tar.gz
Algorithm Hash digest
SHA256 7412765a15e0916e5a44434d5c942ff23bcd485d0081decc75a6f64dcb4b51e3
MD5 df5a3cb8370184a6f58a4173574b541a
BLAKE2b-256 01564a506057e1dfbfbdf510908b1c929d0f76627fb9f68d4d20cf5eac5e2ca2

See more details on using hashes here.

Provenance

The following attestation bundles were made for geom_x-2.0.1.tar.gz:

Publisher: publish-pypi.yml on pgrobasillobre/geom

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file geom_x-2.0.1-py3-none-any.whl.

File metadata

  • Download URL: geom_x-2.0.1-py3-none-any.whl
  • Upload date:
  • Size: 83.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for geom_x-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a4409f1c9f2882477179d0c10b30d7876c80e8533fe00a01b3061b6ec04ce333
MD5 ee8cb3bbb3ed7034c5ac6c3c57132b20
BLAKE2b-256 5d47211575ec1d833b38c4a1d90516f72c6f884af8936d7b4dd11ab9d22472e9

See more details on using hashes here.

Provenance

The following attestation bundles were made for geom_x-2.0.1-py3-none-any.whl:

Publisher: publish-pypi.yml on pgrobasillobre/geom

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page