Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jenskrumsieck/chemsharp

Library for processing of chemistry related files (aiming at spectroscopy and structural files)
https://github.com/jenskrumsieck/chemsharp

3d bruker chemdraw cheminformatics chemistry chemsharp crystallography csharp epr epr-spectroscopy helix-toolkit nmr nmr-spectroscopy spectroscopy tu-braunschweig unity uvvis uvvis-spectroscopy varian

Last synced: about 2 months ago
JSON representation

Library for processing of chemistry related files (aiming at spectroscopy and structural files)

Awesome Lists containing this project

README

        



ChemSharp


.NET Library for processing of chemistry related files. Powers PorphyStruct!

[![Maintainability](https://api.codeclimate.com/v1/badges/bb81db40213cc68deb97/maintainability)](https://codeclimate.com/github/JensKrumsieck/ChemSharp/maintainability)
![.NET](https://github.com/JensKrumsieck/ChemSharp/workflows/.NET/badge.svg)
[![GitHub issues](https://img.shields.io/github/issues/JensKrumsieck/ChemSharp)](https://github.com/JensKrumsieck/ChemSharp/issues)
![GitHub commit activity](https://img.shields.io/github/commit-activity/y/JensKrumsieck/ChemSharp)
[![GitHub license](https://img.shields.io/github/license/JensKrumsieck/ChemSharp)](https://github.com/JensKrumsieck/ChemSharp/blob/master/LICENSE)
![GitHub tag (latest by date)](https://img.shields.io/github/v/tag/jenskrumsieck/chemsharp)


### NuGet Packages

| | |
|-|-|
| `ChemSharp` | [![NuGet Badge](https://buildstats.info/nuget/ChemSharp)](https://www.nuget.org/packages/ChemSharp/) |
| `ChemSharp.Molecules` | [![NuGet Badge](https://buildstats.info/nuget/ChemSharp.Molecules)](https://www.nuget.org/packages/ChemSharp.Molecules/) |
| `ChemSharp.Molecules.Blazor` | [![NuGet Badge](https://buildstats.info/nuget/ChemSharp.Molecules.Blazor)](https://www.nuget.org/packages/ChemSharp.Molecules.Blazor/) |
| `ChemSharp.Molecules.HelixToolkit` | [![NuGet Badge](https://buildstats.info/nuget/ChemSharp.Molecules.HelixToolkit)](https://www.nuget.org/packages/ChemSharp.Molecules.HelixToolkit/) |
| `ChemSharp.Spectroscopy` | [![NuGet Badge](https://buildstats.info/nuget/ChemSharp.Spectroscopy)](https://www.nuget.org/packages/ChemSharp.Spectroscopy/) |
|`ChemSharp.UnitConversion` | [![NuGet Badge](https://buildstats.info/nuget/ChemSharp.UnitConversion)](https://www.nuget.org/packages/ChemSharp.UnitConversion/) |

CI Releases at: GitHub Packages

### Features

* Open and process Molecular files (see [Supported Filetypes](#molecule))
* Sum formula operations and elemental analysis calculation
* Using Elemental Data from https://github.com/JensKrumsieck/periodic-table
* Blazor view for molecules using three.js
* Open and process Spectroscopy related files (see [Supported Filetypes](#spectroscopy))
* Unit Conversion for (Energy, Magnetic Units, Mass)

### Basic Usage

#### Create Molecules

Molecules can be created in a lot of ways. The easiest way is to use MoleculeFactory.Create, which accepts a string
path.

```csharp
//Creates a molecule from cif file
const string path = "files/cif.cif";
var mol = Molecule.FromFile(path);
```

#### Create Spectra

Spectra can be created by using the Spectrum.FromFile Method.

```csharp
//Creates an UV/Vis Spectrum
const string path = "files/uvvis.dsw";
var uvvis = Spectrum.FromFile(path);
```

### Supported Filetypes

* **Molecule**
* **Import** (**XYZ**, **CIF** (crystallographic information file, CCDC), **MOL2** (TRIPOS Mol2), **PDB** (Protein
Data Bank file), **MOL** (MDL MOL, ChemSpider), **CDXML** (Single Molecule only, 2D))
* **Export** (XYZ, MOL2)

* **Spectroscopy**
* **Import** (Varian/Agilient DSW, Bruker EMX SPC/PAR, Bruker TopSpin (fid, (1r/1i processed spectra), JCAMP-DX (
acqus, procs, ...)), CSV)
* **Export** (CSV)

#### Used Libraries:

* [MathNet.Numerics](https://github.com/mathnet/mathnet-numerics)

#### Compatibility

* .NET Standard 2.0, .NET Standard 2.1, .NET 5, .NET 6
* Blazor (see ChemSharp.Molecules.Blazor)
* HelixToolkit via
ChemSharp.Molecules.HelixToolkit
* Unity (see https://github.com/JensKrumsieck/ChemSharpUnityExample)

### Used by (Highlights):

* logo **[PorphyStruct](https://github.com/JensKrumsieck/PorphyStruct)**
* logo **[CHN-Tool](https://github.com/JensKrumsieck/CHN-Tool)**

### Stats

![Alt](https://repobeats.axiom.co/api/embed/dc542332761cc7e16b22d8bfe0454a55de4620c4.svg "Repobeats analytics image")