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: 2 months ago
JSON representation
Library for processing of chemistry related files (aiming at spectroscopy and structural files)
- Host: GitHub
- URL: https://github.com/jenskrumsieck/chemsharp
- Owner: JensKrumsieck
- License: mit
- Created: 2020-08-03T13:45:25.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2024-06-13T06:46:52.000Z (over 1 year ago)
- Last Synced: 2024-09-25T09:06:59.401Z (about 1 year ago)
- Topics: 3d, bruker, chemdraw, cheminformatics, chemistry, chemsharp, crystallography, csharp, epr, epr-spectroscopy, helix-toolkit, nmr, nmr-spectroscopy, spectroscopy, tu-braunschweig, unity, uvvis, uvvis-spectroscopy, varian
- Language: C#
- Homepage:
- Size: 6.7 MB
- Stars: 12
- Watchers: 3
- Forks: 5
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README

ChemSharp
.NET Library for processing of chemistry related files. Powers PorphyStruct!
[](https://codeclimate.com/github/JensKrumsieck/ChemSharp/maintainability)

[](https://github.com/JensKrumsieck/ChemSharp/issues)

[](https://github.com/JensKrumsieck/ChemSharp/blob/master/LICENSE)

### NuGet Packages
| | |
|-|-|
| `ChemSharp` | [](https://www.nuget.org/packages/ChemSharp/) |
| `ChemSharp.Molecules` | [](https://www.nuget.org/packages/ChemSharp.Molecules/) |
| `ChemSharp.Molecules.Blazor` | [](https://www.nuget.org/packages/ChemSharp.Molecules.Blazor/) |
| `ChemSharp.Molecules.HelixToolkit` | [](https://www.nuget.org/packages/ChemSharp.Molecules.HelixToolkit/) |
| `ChemSharp.Spectroscopy` | [](https://www.nuget.org/packages/ChemSharp.Spectroscopy/) |
|`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):
*
**[PorphyStruct](https://github.com/JensKrumsieck/PorphyStruct)**
*
**[CHN-Tool](https://github.com/JensKrumsieck/CHN-Tool)**
### Stats
