Newton's Programmatic Measurements

    convert-to-jcamp
    TypeScript icon, indicating that this package has built-in type declarations

    5.4.1 • Public • Published

    convert-to-jcamp

    Convert strings into JCAMP.

    Zakodium logo

    Maintained by Zakodium

    NPM version build status Test coverage npm download DOI

    Installation

    $ npm install convert-to-jcamp

    Usage

    From Variables

    const { fromVariables } = require('convert-to-jcamp');
    const variables = {
      x: {
        data: [1, 2, 3, 4],
        label: 'x value',
        units: 'x unit',
        isDependent: false,
      },
      y: { data: [2, 3, 4, 5], label: 'y value', units: 'y unit' },
    };
    
    const jcamp = fromVariables(variables, {
      forceNtuples: true,
      meta: {
        meta1: 'value1',
        meta2: 'value2',
      },
      info: {
        title: 'Hello world',
        dataType: 'TEST',
      },
    });

    There are two functions for NMR. from1DNMRVariables and from2DNMRVariables generates a nmr jcamp file from variables.

    const { from2DNMRVariables } = require('convert-to-jcamp');
    
    const variables = {
      y: {
        data: [1, 2],
        symbol: 'F1',
        label: 'y',
        units: 'Hz a',
        isDependent: false,
      },
      x: {
        data: [0, 1, 2, 3, 4],
        symbol: 'F2',
        label: 'x',
        units: 'Hz',
        isDependent: false,
      },
      z: {
        data: [
          [2, 3, 4, 5, 7],
          [1, 2, 3, 4, 5],
        ],
        symbol: 'Y',
        label: 'z',
        units: 'arbitrary',
        isDependent: true,
      },
    };
    const jcamp = from2DNMRVariables(variables, {
      xyEncoding: 'DIFDUP',
      meta: { SFO2: 100, SFO1: 400, NUC1: '1H', NUC2: '13C' },
      info: {
        dataType: 'nD NMR SPECTRUM',
        '.OBSERVE NUCLEUS': '1H',
        '.OBSERVER FREQUENCY': 400,
      },
    });
    const { from1DNMRVariables } = require('convert-to-jcamp');
    
    const variables = {
      x: {
        data: xMultiply(data.x, observeFrequency),
        label: 'Frequencies',
        units: 'Hz',
        symbol: 'X',
        isDependent: false,
      },
      r: {
        data: data.re,
        label: 'real data',
        units: 'arbitratry units',
        symbol: 'R',
        isDependent: true,
      },
      i: {
        data: data.im,
        label: 'imaginary data',
        units: 'arbitratry units',
        symbol: 'I',
        isDependent: true,
      },
    };
    
    const jcamp = from1DNMRVariables(variables, {
      xyEncoding: 'DIFDUP',
      info: {
        title: 'jcamp 1D',
        owner: 'cheminfo',
        dataType: 'NMR Spectrum',
        '.OBSERVE FREQUENCY': 600,
        '.OBSERVE NUCLEUS': '1H',
      },
      meta: { SFO1: 400, NUC1: '1H' },
    });

    An example for 1D NMR bruker-to-jcamp conversion is in the demo folder

    API Documentation

    License

    MIT

    Keywords

    none

    Install

    npm i convert-to-jcamp

    DownloadsWeekly Downloads

    410

    Version

    5.4.1

    License

    MIT

    Unpacked Size

    198 kB

    Total Files

    123

    Last publish

    Collaborators

    • targos
    • lpatiny
    • cheminfo-bot
    • stropitek
    • maasencioh