Skip to content

The public wiki for the Molecular Informatics group at the University of Vienna

Notifications You must be signed in to change notification settings

molinfo-vienna/software-development

Repository files navigation

Welcome to the Molecular Informatics Vienna Platform

First of all: Welcome :)

This repository provides guidelines and best practices for Python development within the Molecular Informatics Vienna platform. Whether you're new to coding or an experienced developer, you'll find valuable information to help you write clean, maintainable, and collaborative code.

Introduction

The Molecular Informatics Vienna platform consists of three teams:

  1. Christian-Doppler Laboratory for Molecular Informatics in the Bioscience team
  2. Cheminfo team
  3. comp3d team

This guide is designed to help everyone set up a molecular informatics project in Python quickly and easily, with a focus on creating reusable packages to maximize collaboration and efficiency.

Table of Contents

Essential Practices (For Everyone)

  1. Project Structure
  2. Documentation
  3. Linting
  4. Version Control Basics
  5. Testing Fundamentals
  6. Continues Integration (CI)
  7. IDE Setup for Beginners

Minimum Requirements for the CD-Lab Members

  1. See requirements

Advanced Topics (For Deeper Exploration)

  1. Packaging and Distribution
  2. Advanced Continuous Integration (CI)
  3. Licensing
  4. Machine Learning Resources

Getting Started

If you're new to the group or to coding in general, we recommend starting with the Essential Practices. These will help you set up a solid foundation for writing good Python code.

  1. Begin by setting up your Integrated Development Environment (IDE).
  2. Learn about proper Project Structure.
  3. Familiarize yourself with our Documentation and Linting guidelines.
  4. Understand the basics of Version Control.
  5. Learn about Testing your code.

For those looking to dive deeper or contribute to more complex projects, check out the Advanced Topics section.

Minimum Requirements for CD-Lab MIB

When working on code in the CD-Lab Molecular Informatics in the Biosciences, please ensure you follow these minimum requirements. A template or another one is provided to ensure all of these points (you can also checkout this repo). It should be copied to your project and used there.

  1. Use the specified linters isort, black and pylint.
  2. Use the specified documentation check with pydocstyle
  3. Make sure the test coverage is sufficient (include most common usecases - for more details see the test section).
  4. Distribute your library as a package. For details see the packaging section

For further reading see also the sections CI/CD Guidelines, advanced, linting, good documentation.

Administrative Information

New to the team?

  1. Communications: Join our Mattermost channels. The Cheminfo team also has a team calendar and mailing list.
  2. Software project good-practices: Read through this software development guide and follow the coding best practices.
  3. Issues and bug reporting: Use the repository's issue tracker or the CD-Lab MiB dedicated issue repository for general requests.

After reading the guidelines, create a repo on the Mol-Info GitHub page, use the cookiecutter template to set it up locally, and push it to the remote repository.

CDPKit, Server Usage, and Self-Hosted Runners

Information about server usage and self-hosted runners can be found in our Best Practice Computer Resources Guide.

CDPKit

The Chemical Data Processing Toolkit (CDPKit) is an open-source cheminformatics toolkit. You can install it via:

pip install cdpkit

Contributing

We encourage all members to contribute to this repository by suggesting improvements, reporting issues, or submitting pull requests. Please feel free to:

Related Guides

Be sure to check out these related guides and materials:

Questions and Support

If you have any questions or need support, please open an issue or contact Thomas Seidel ([email protected]) or Oliver Wieder ([email protected]).

Happy coding!

Contributers

We also want to thank the BASF, in particular Conrad Stork and Jochen Sieg for their contributions.

About

The public wiki for the Molecular Informatics group at the University of Vienna

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published