Giter Site home page Giter Site logo

monarin / cctbx_project Goto Github PK

View Code? Open in Web Editor NEW

This project forked from cctbx/cctbx_project

0.0 2.0 0.0 79.46 MB

Computational Crystallography Toolbox

Home Page: https://cctbx.github.io

Python 77.82% C++ 17.69% C 2.91% Shell 0.10% TeX 0.29% HTML 0.08% Mathematica 0.59% Fortran 0.31% MATLAB 0.01% Scilab 0.01% Cuda 0.08% Makefile 0.02% Batchfile 0.01% CSS 0.01% Parrot 0.01% Java 0.02% NSIS 0.02% DTrace 0.01% Objective-C 0.01% GAP 0.01%

cctbx_project's Introduction

Computational Crystallography Toolbox

Introduction

The Computational Crystallography Toolbox (cctbx) is being developed as the open source component of the PHENIX system. The goal of the PHENIX project is to advance automation of macromolecular structure determination. PHENIX depends on the cctbx, but not vice versa. This hierarchical approach enforces a clean design as a reusable library. The cctbx is therefore also useful for small-molecule crystallography and even general scientific applications.

The cctbx also provides some of the key component of the Olex 2 software. Olex 2 is dedicated to the workflow of small molecule crystallographic studies. It features a powerful and flexible refinement engine, olex2.refine, which is developed as part of the cctbx, in the smtbx top-module.

To maximize reusability and, maybe even more importantly, to give individual developers a notion of privacy, the cctbx is organized as a set of smaller modules. This is very much like a village (the cctbx project) with individual houses (modules) for each family (groups of developers, of any size including one).

The cctbx code base is available without restrictions and free of charge to all interested developers, both academic and commercial. The entire community is invited to actively participate in the development of the code base. A sophisticated technical infrastructure that enables community based software development is provided by GitHub. This service is also free of charge and open to the entire world.

The cctbx is designed with an open and flexible architecture to promote extendability and easy incorporation into other software environments. The package is organized as a set of ISO C++ classes with Python bindings. This organization combines the computational efficiency of a strongly typed compiled language with the convenience and flexibility of a dynamically typed scripting language in a strikingly uniform and very maintainable way.

Use of the Python interfaces is highly recommended, but optional. The cctbx can also be used purely as a C++ class library.

Installation

The easiest way to set up a development environment from scratch is to:

  1. Download https://raw.githubusercontent.com/cctbx/cctbx_project/master/libtbx/auto_build/bootstrap.py in the directory where the cctbx and its dependencies shall be installed

The installation will take a long while but the script will verbosely describe what it does.

cctbx_project's People

Contributors

alyubimov avatar anthchirp avatar bkpoon avatar dagewa avatar dcliebschner avatar gbunkoczi avatar graeme-winter avatar hattne avatar irees avatar irisdyoung avatar jjheadd avatar jmp1985 avatar luc-j-bourhis avatar mmarat avatar monarin avatar naderm avatar natechols avatar nksauter avatar nwmoriarty avatar oeffner avatar olegsobolev avatar pafonine avatar pcxod avatar phyy-nx avatar phzwart avatar rjgildea avatar rwgk avatar terwill avatar youdar avatar zeldebeest avatar

Watchers

 avatar  avatar

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.