ir-spectrum 4.0.0 → 4.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -6
- package/lib/from/fromText.d.ts +18 -0
- package/lib/from/fromText.d.ts.map +1 -0
- package/lib/from/fromText.js +28 -0
- package/lib/from/fromText.js.map +1 -0
- package/lib/from/utils/spectrumCallback.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/package.json +13 -12
- package/src/from/fromText.ts +50 -0
- package/src/from/utils/spectrumCallback.ts +1 -1
- package/src/index.ts +1 -0
package/README.md
CHANGED
|
@@ -17,14 +17,25 @@ import IRSpectrum from 'ir-spectrum';
|
|
|
17
17
|
let analysis = IRSpectrum.fromJcamp(jcamp);
|
|
18
18
|
```
|
|
19
19
|
|
|
20
|
-
When loading an
|
|
20
|
+
When loading an IR spectrum from JCAMP or SPC, two additional variables are systematically added:
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
| Key | Label | Units | Description | Always present |
|
|
23
|
+
| --- | ------------------ | ----- | -------------------------------- | -------------- |
|
|
24
|
+
| x | Wavenumber | cm⁻¹ | Infrared wavenumber | Yes |
|
|
25
|
+
| y | (from source file) | | Original y-axis data | Yes |
|
|
26
|
+
| a | Absorbance | | Absorbance values | Yes |
|
|
27
|
+
| t | Transmittance | % | Percent transmittance values | Yes |
|
|
24
28
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
29
|
+
The conversion is automatic: if the original y label contains "transmittance", absorbance is calculated; if it contains "absorbance", transmittance is calculated. For transmittance, the presence of '%' or 'percent' in the label is used to determine the scaling factor.
|
|
30
|
+
|
|
31
|
+
### Selector for visualization
|
|
32
|
+
|
|
33
|
+
```html
|
|
34
|
+
<select name="selector.variables">
|
|
35
|
+
<option value="a vs x">Absorbance versus wavenumber</option>
|
|
36
|
+
<option value="t vs x">Transmittance versus wavenumber</option>
|
|
37
|
+
</select>
|
|
38
|
+
```
|
|
28
39
|
|
|
29
40
|
## [API Documentation](https://cheminfo.github.io/ir-spectrum/)
|
|
30
41
|
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { TextData } from 'cheminfo-types';
|
|
2
|
+
import type { FromTextOptions as CommonFromTextOptions } from 'common-spectrum';
|
|
3
|
+
import { Analysis } from 'common-spectrum';
|
|
4
|
+
interface FromTextOptions extends CommonFromTextOptions {
|
|
5
|
+
/** Unique identifier for the analysis. */
|
|
6
|
+
id?: string;
|
|
7
|
+
/** Human-readable label for the analysis. */
|
|
8
|
+
label?: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Creates a new Analysis from text data (CSV, TSV, etc.).
|
|
12
|
+
* @param data - Text data containing x,y values.
|
|
13
|
+
* @param options - Options for parsing and analysis creation.
|
|
14
|
+
* @returns New Analysis element with the given data.
|
|
15
|
+
*/
|
|
16
|
+
export declare function fromText(data: TextData, options?: FromTextOptions): Analysis;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=fromText.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fromText.d.ts","sourceRoot":"","sources":["../../src/from/fromText.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,IAAI,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAG3C,UAAU,eAAgB,SAAQ,qBAAqB;IACrD,0CAA0C;IAC1C,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CACtB,IAAI,EAAE,QAAQ,EACd,OAAO,GAAE,eAAoB,GAC5B,QAAQ,CA4BV"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Analysis } from 'common-spectrum';
|
|
2
|
+
import { parseXYAndKeepInfo } from 'xy-parser';
|
|
3
|
+
/**
|
|
4
|
+
* Creates a new Analysis from text data (CSV, TSV, etc.).
|
|
5
|
+
* @param data - Text data containing x,y values.
|
|
6
|
+
* @param options - Options for parsing and analysis creation.
|
|
7
|
+
* @returns New Analysis element with the given data.
|
|
8
|
+
*/
|
|
9
|
+
export function fromText(data, options = {}) {
|
|
10
|
+
const { info = {}, parser = {}, dataType = 'IR spectrum', title = '', ...rest } = options;
|
|
11
|
+
const analysis = new Analysis(rest);
|
|
12
|
+
const parsed = parseXYAndKeepInfo(data, parser);
|
|
13
|
+
const variables = {
|
|
14
|
+
x: {
|
|
15
|
+
data: parsed.data.x,
|
|
16
|
+
units: info.xUnits || '',
|
|
17
|
+
label: info.xLabel || '',
|
|
18
|
+
},
|
|
19
|
+
y: {
|
|
20
|
+
data: parsed.data.y,
|
|
21
|
+
units: info.yUnits || '',
|
|
22
|
+
label: info.yLabel || '',
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
analysis.pushSpectrum(variables, { dataType, title });
|
|
26
|
+
return analysis;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=fromText.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fromText.js","sourceRoot":"","sources":["../../src/from/fromText.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAS/C;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CACtB,IAAc,EACd,UAA2B,EAAE;IAE7B,MAAM,EACJ,IAAI,GAAG,EAAE,EACT,MAAM,GAAG,EAAE,EACX,QAAQ,GAAG,aAAa,EACxB,KAAK,GAAG,EAAE,EACV,GAAG,IAAI,EACR,GAAG,OAAO,CAAC;IAEZ,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEpC,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG;QAChB,CAAC,EAAE;YACD,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YACnB,KAAK,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;YACxB,KAAK,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;SACzB;QACD,CAAC,EAAE;YACD,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YACnB,KAAK,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;YACxB,KAAK,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;SACzB;KACF,CAAC;IAEF,QAAQ,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IAEtD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spectrumCallback.js","sourceRoot":"","sources":["../../../src/from/utils/spectrumCallback.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,SAAiC;IAEjC,4CAA4C;IAC5C,0BAA0B;IAC1B,6BAA6B;IAC7B,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC;IAC9B,IAAI,YAAY,GAAG,IAAI,CAAC;IACxB,IAAI,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACpD,YAAY,GAAG,KAAK,CAAC;IACvB,CAAC;IACD,IAAI,YAAY,EAAE,CAAC;QACjB,SAAS,CAAC,CAAC,GAAG;YACZ,GAAG,SAAS;YACZ,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,EAAc;SACzC,CAAC;QACF,SAAS,CAAC,CAAC,GAAG;YACZ,IAAI,EAAG,SAAS,CAAC,IAAiB,CAAC,GAAG,CACpC,CAAC,UAAkB,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,UAAU,GAAG,GAAG,CAChD;YACD,KAAK,EAAE,mBAAmB;YAC1B,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,EAAE;SACV,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,MAAM,GACV,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;YAC7B,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC/C,CAAC,CAAC,GAAG;YACL,CAAC,CAAC,CAAC,CAAC;QAER,SAAS,CAAC,CAAC,GAAG;YACZ,IAAI,EAAG,SAAS,CAAC,IAAiB,CAAC,GAAG,CACpC,CAAC,aAAqB,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC,CAC/D;YACD,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,YAAY;YACnB,KAAK,EAAE,EAAE;SACV,CAAC;QACF,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACnB,SAAS,CAAC,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;YAC5C,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"spectrumCallback.js","sourceRoot":"","sources":["../../../src/from/utils/spectrumCallback.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,SAAiC;IAEjC,4CAA4C;IAC5C,0BAA0B;IAC1B,6BAA6B;IAC7B,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC;IAC9B,IAAI,YAAY,GAAG,IAAI,CAAC;IACxB,IAAI,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACpD,YAAY,GAAG,KAAK,CAAC;IACvB,CAAC;IACD,IAAI,YAAY,EAAE,CAAC;QACjB,SAAS,CAAC,CAAC,GAAG;YACZ,GAAG,SAAS;YACZ,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,EAAc;SACzC,CAAC;QACF,SAAS,CAAC,CAAC,GAAG;YACZ,IAAI,EAAG,SAAS,CAAC,IAAiB,CAAC,GAAG,CACpC,CAAC,UAAkB,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,UAAU,GAAG,GAAG,CAChD;YACD,KAAK,EAAE,mBAAmB;YAC1B,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,EAAE;SACV,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,MAAM,GACV,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;YAC7B,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC/C,CAAC,CAAC,GAAG;YACL,CAAC,CAAC,CAAC,CAAC;QAER,SAAS,CAAC,CAAC,GAAG;YACZ,IAAI,EAAG,SAAS,CAAC,IAAiB,CAAC,GAAG,CACpC,CAAC,aAAqB,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC,CAC/D;YACD,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,YAAY;YACnB,KAAK,EAAE,EAAE;SACV,CAAC;QACF,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACnB,SAAS,CAAC,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;YAC5C,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,CAAC,GAAG;gBACZ,KAAK,EAAE,EAAE;gBACT,KAAK,EAAE,mBAAmB;gBAC1B,MAAM,EAAE,GAAG;gBACX,IAAI,EAAG,SAAS,CAAC,IAAiB,CAAC,GAAG,CACpC,CAAC,aAAqB,EAAE,EAAE,CAAC,aAAa,GAAG,GAAG,CAC/C;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
package/lib/index.d.ts
CHANGED
|
@@ -22,6 +22,7 @@ export declare function peakPicking(spectrum: MeasurementXY, target: number, opt
|
|
|
22
22
|
export declare function autoPeakPicking(spectrum: MeasurementXY, options?: AutoPeakPickingOptions): ConvertedPeak[];
|
|
23
23
|
export { fromJcamp } from './from/fromJcamp.ts';
|
|
24
24
|
export { fromSPC } from './from/fromSPC.ts';
|
|
25
|
+
export { fromText } from './from/fromText.ts';
|
|
25
26
|
export declare const JSGraph: typeof OriginalJSGraph & {
|
|
26
27
|
getAnnotations: typeof getAnnotations;
|
|
27
28
|
};
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EACV,sBAAsB,EACtB,kBAAkB,EACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,OAAO,IAAI,eAAe,EAG3B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAErE;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,aAAa,EACvB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,kBAAkB,GAC3B,aAAa,GAAG,SAAS,CAO3B;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,aAAa,EACvB,OAAO,CAAC,EAAE,sBAAsB,GAC/B,aAAa,EAAE,CASjB;AAED,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EACV,sBAAsB,EACtB,kBAAkB,EACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,OAAO,IAAI,eAAe,EAG3B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAErE;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,aAAa,EACvB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,kBAAkB,GAC3B,aAAa,GAAG,SAAS,CAO3B;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,aAAa,EACvB,OAAO,CAAC,EAAE,sBAAsB,GAC/B,aAAa,EAAE,CASjB;AAED,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,eAAO,MAAM,OAAO,EAAE,OAAO,eAAe,GAAG;IAC7C,cAAc,EAAE,OAAO,cAAc,CAAC;CACE,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -29,5 +29,6 @@ export function autoPeakPicking(spectrum, options) {
|
|
|
29
29
|
}
|
|
30
30
|
export { fromJcamp } from "./from/fromJcamp.js";
|
|
31
31
|
export { fromSPC } from "./from/fromSPC.js";
|
|
32
|
+
export { fromText } from "./from/fromText.js";
|
|
32
33
|
export const JSGraph = { ...OriginalJSGraph, getAnnotations };
|
|
33
34
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,OAAO,IAAI,eAAe,EAC1B,eAAe,IAAI,uBAAuB,EAC1C,WAAW,IAAI,mBAAmB,GACnC,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAG7D,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAErE;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CACzB,QAAuB,EACvB,MAAc,EACd,OAA4B;IAE5B,MAAM,IAAI,GAAG,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5D,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,OAAO,WAAW,CAChB,IAAkE,EAClE,QAAQ,CACT,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC7B,QAAuB,EACvB,OAAgC;IAEhC,MAAM,KAAK,GAAG,uBAAuB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACzD,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACxB,WAAW,CACT,IAAkE,EAClE,QAAQ,CACT,CACF,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,OAAO,IAAI,eAAe,EAC1B,eAAe,IAAI,uBAAuB,EAC1C,WAAW,IAAI,mBAAmB,GACnC,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAG7D,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAErE;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CACzB,QAAuB,EACvB,MAAc,EACd,OAA4B;IAE5B,MAAM,IAAI,GAAG,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5D,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,OAAO,WAAW,CAChB,IAAkE,EAClE,QAAQ,CACT,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC7B,QAAuB,EACvB,OAAgC;IAEhC,MAAM,KAAK,GAAG,uBAAuB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACzD,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACxB,WAAW,CACT,IAAkE,EAClE,QAAQ,CACT,CACF,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,MAAM,CAAC,MAAM,OAAO,GAEhB,EAAE,GAAG,eAAe,EAAE,cAAc,EAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ir-spectrum",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.2.0",
|
|
4
4
|
"description": "Package used to handle IR spectra in SciPeaks.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -13,9 +13,9 @@
|
|
|
13
13
|
"scripts": {
|
|
14
14
|
"build": "npm run tsc && cheminfo-build --entry lib/index.js --root IRSpectrum",
|
|
15
15
|
"check-types": "tsc --noEmit",
|
|
16
|
-
"clean": "rimraf lib",
|
|
16
|
+
"clean": "rimraf coverage lib",
|
|
17
17
|
"eslint": "eslint src",
|
|
18
|
-
"eslint-fix": "
|
|
18
|
+
"eslint-fix": "eslint src --fix",
|
|
19
19
|
"prepack": "npm run tsc",
|
|
20
20
|
"prettier": "prettier --check src",
|
|
21
21
|
"prettier-write": "prettier --write src",
|
|
@@ -36,22 +36,23 @@
|
|
|
36
36
|
},
|
|
37
37
|
"homepage": "https://github.com/cheminfo/ir-spectrum#readme",
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"common-spectrum": "3.
|
|
39
|
+
"common-spectrum": "3.2.0",
|
|
40
40
|
"ml-gsd": "^13.1.1",
|
|
41
|
-
"spc-parser": "^
|
|
41
|
+
"spc-parser": "^2.0.0",
|
|
42
|
+
"xy-parser": "^6.0.1"
|
|
42
43
|
},
|
|
43
44
|
"devDependencies": {
|
|
44
|
-
"@types/node": "^25.
|
|
45
|
-
"@vitest/coverage-v8": "^4.
|
|
46
|
-
"@zakodium/tsconfig": "^1.0.
|
|
45
|
+
"@types/node": "^25.6.0",
|
|
46
|
+
"@vitest/coverage-v8": "^4.1.5",
|
|
47
|
+
"@zakodium/tsconfig": "^1.0.5",
|
|
47
48
|
"cheminfo-build": "^1.3.2",
|
|
48
49
|
"eslint": "^9.39.2",
|
|
49
|
-
"eslint-config-cheminfo-typescript": "^
|
|
50
|
+
"eslint-config-cheminfo-typescript": "^22.0.0",
|
|
50
51
|
"jest-matcher-deep-close-to": "^3.0.2",
|
|
51
|
-
"prettier": "^3.8.
|
|
52
|
+
"prettier": "^3.8.3",
|
|
52
53
|
"rimraf": "^6.1.3",
|
|
53
|
-
"typescript": "^
|
|
54
|
-
"vitest": "^4.
|
|
54
|
+
"typescript": "^6.0.3",
|
|
55
|
+
"vitest": "^4.1.5"
|
|
55
56
|
},
|
|
56
57
|
"info": {
|
|
57
58
|
"logo": "https://raw.githubusercontent.com/cheminfo/font/master/src/ir/assignment.svg",
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { TextData } from 'cheminfo-types';
|
|
2
|
+
import type { FromTextOptions as CommonFromTextOptions } from 'common-spectrum';
|
|
3
|
+
import { Analysis } from 'common-spectrum';
|
|
4
|
+
import { parseXYAndKeepInfo } from 'xy-parser';
|
|
5
|
+
|
|
6
|
+
interface FromTextOptions extends CommonFromTextOptions {
|
|
7
|
+
/** Unique identifier for the analysis. */
|
|
8
|
+
id?: string;
|
|
9
|
+
/** Human-readable label for the analysis. */
|
|
10
|
+
label?: string;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Creates a new Analysis from text data (CSV, TSV, etc.).
|
|
15
|
+
* @param data - Text data containing x,y values.
|
|
16
|
+
* @param options - Options for parsing and analysis creation.
|
|
17
|
+
* @returns New Analysis element with the given data.
|
|
18
|
+
*/
|
|
19
|
+
export function fromText(
|
|
20
|
+
data: TextData,
|
|
21
|
+
options: FromTextOptions = {},
|
|
22
|
+
): Analysis {
|
|
23
|
+
const {
|
|
24
|
+
info = {},
|
|
25
|
+
parser = {},
|
|
26
|
+
dataType = 'IR spectrum',
|
|
27
|
+
title = '',
|
|
28
|
+
...rest
|
|
29
|
+
} = options;
|
|
30
|
+
|
|
31
|
+
const analysis = new Analysis(rest);
|
|
32
|
+
|
|
33
|
+
const parsed = parseXYAndKeepInfo(data, parser);
|
|
34
|
+
const variables = {
|
|
35
|
+
x: {
|
|
36
|
+
data: parsed.data.x,
|
|
37
|
+
units: info.xUnits || '',
|
|
38
|
+
label: info.xLabel || '',
|
|
39
|
+
},
|
|
40
|
+
y: {
|
|
41
|
+
data: parsed.data.y,
|
|
42
|
+
units: info.yUnits || '',
|
|
43
|
+
label: info.yLabel || '',
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
analysis.pushSpectrum(variables, { dataType, title });
|
|
48
|
+
|
|
49
|
+
return analysis;
|
|
50
|
+
}
|
|
@@ -48,7 +48,7 @@ export function spectrumCallback(
|
|
|
48
48
|
};
|
|
49
49
|
if (factor === 100) {
|
|
50
50
|
variables.t = { ...yVariable, symbol: 't' };
|
|
51
|
-
variables.t.data = variables.t.data.slice()
|
|
51
|
+
variables.t.data = variables.t.data.slice();
|
|
52
52
|
} else {
|
|
53
53
|
variables.t = {
|
|
54
54
|
units: '',
|
package/src/index.ts
CHANGED
|
@@ -58,6 +58,7 @@ export function autoPeakPicking(
|
|
|
58
58
|
|
|
59
59
|
export { fromJcamp } from './from/fromJcamp.ts';
|
|
60
60
|
export { fromSPC } from './from/fromSPC.ts';
|
|
61
|
+
export { fromText } from './from/fromText.ts';
|
|
61
62
|
|
|
62
63
|
export const JSGraph: typeof OriginalJSGraph & {
|
|
63
64
|
getAnnotations: typeof getAnnotations;
|