{"id":19746765,"url":"https://github.com/nikaple/post-spectra","last_synced_at":"2026-06-13T15:34:08.889Z","repository":{"id":115238987,"uuid":"92324069","full_name":"Nikaple/post-spectra","owner":"Nikaple","description":"Formatting/validating NMR/HRMS spectra data","archived":false,"fork":false,"pushed_at":"2019-12-05T13:53:14.000Z","size":552,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-11-22T15:02:34.494Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://nikaple.github.io/post-spectra","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Nikaple.png","metadata":{"files":{"readme":"README-en.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-05-24T18:30:15.000Z","updated_at":"2017-07-15T13:29:13.000Z","dependencies_parsed_at":null,"dependency_job_id":"f610c194-7758-4b55-9424-bb08b5cf4444","html_url":"https://github.com/Nikaple/post-spectra","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Nikaple/post-spectra","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nikaple%2Fpost-spectra","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nikaple%2Fpost-spectra/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nikaple%2Fpost-spectra/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nikaple%2Fpost-spectra/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Nikaple","download_url":"https://codeload.github.com/Nikaple/post-spectra/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nikaple%2Fpost-spectra/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34290346,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-13T02:00:06.617Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-12T02:15:49.987Z","updated_at":"2026-06-13T15:34:08.867Z","avatar_url":"https://github.com/Nikaple.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Post Spectra\n\n## [Preview](https://nikaple.github.io/) (Not compatible with `Internet Explorer`)\n\n## 中文版说明单击[这里](https://github.com/Nikaple/post-spectra)\n\n## TL;DR\n\nThis program accepts two kinds of data:\n - Original data, to be formatted;\n - Formatted data, to be validated.\n\n## Basic usage\n\n### Options\n\n#### - Vague multiplets：Treat all peaks except br, s, br s, d, t, q as m peaks (complex multiplet).\n\n#### - Auto fix *J*：Automatically round the value of coupling constants (J, mHz) to the multiple of frequency of spectroscopy (MHz). E.g. In a 400 MHz \u003csup\u003e1\u003c/sup\u003eH NMR, J = 7.7 Hz will be rounded to 7.6 Hz (7.6 Hz = 7600 mHz, and 7600 is multiple of 400); In a 600 MHz \u003csup\u003e1\u003c/sup\u003eH NMR, J = 7.7 Hz will be rounded to 7.8 Hz.\n\n#### - Strict mode: Format detection is only available under strict mode. (See below for examples)\n\n#### - Auto copy: Auto executing copy command on every input, this is really useful when handling with unformatted original data.\n\n### NMR Data Processing (Using MestReNova as an example)\n\n#### \u003csup\u003e1\u003c/sup\u003eH NMR Data Processing\n\nAfter finished analyzing the spectra in `MestReNova`, click `Multiplets Analysis` in the tool bar to show coupling constants, then choose `copy` in its dropdown menu. Afterwards, paste the copied data to the program, and paste once again to your `Microsoft Word` **(do not copy here, which means you should paste two times simultaneously)**.\n\n#### \u003csup\u003e13\u003c/sup\u003eC NMR Data Processing\n\nAfter finished analyzing the spectra in `MestReNova`（记得**定标**）, click your \u003csup\u003e13\u003c/sup\u003eC NMR data, choose `Copy` from the dropdown menu of the tool bar button `Peak Peaking`. Afterwards, paste the copied data to the program, and paste once again to your `Microsoft Word` **(do not copy here, which means you should paste two times simultaneously)**.\n\n### NMR Data Validation\n\nPaste your formatted data directly to the program, and find your error according to the highlight!\n  - Not even bold: the program did not recognize your data, if you are certain that your data is correct, please open an issue [here](https://github.com/Nikaple/post-spectra/issues/new).\n  - Green highlight:\n    - Under strict mode, the data is determined to be correct.\n    - Under unstrict mode, there may be format errors.\n  - Yellow highlight: This piece of data is modified by program.\n  - Red highlight: Data is incorrect, please refer to the error messages.\n  - Only error message: Please check if your data begins with \u003csup\u003e**1**\u003c/sup\u003e**H/**\u003csup\u003e**13**\u003c/sup\u003e**C NMR** and ends with `.` or `;` (under strict mode).\n\n### Basic Format of NMR Data\n\n  - 2 decimals for \u003csup\u003e1\u003c/sup\u003eH NMR, and 1 decimal for \u003csup\u003e13\u003c/sup\u003eC NMR\n  - Leave one space for number and unit (except %).\n  - Only use one unit to describe one kind of data\n    - √ 7.2, 2.0 Hz\n    - × 7.2 Hz, 2.0 Hz\n  - Add space on both sides of plus and equal, but you can choose not to add space on both sides of hyphen.\n\n### HRMS Data Validation\n\nThe specification for this part came from JOC Style Guide. In a standard HRMS data, reported formula should include the ion in the mass spectroscope. For example, HRMS data of benzene should be reported as: HRMS (ESI/QTOF): m/z [M + H]\u003csup\u003e+\u003c/sup\u003e Calcd for C\u003csub\u003e6\u003c/sub\u003eH\u003csub\u003e7\u003c/sub\u003e, 79.0542; Found 79.0569.\n\n\u003e The reported molecular formulas and Calcd values should include any added atoms (usually H or Na). For example, HRMS (ESI/QTOF) m/z: [M + Na]+ Calcd for C13H17NO3Na, 258.1101; Found 258.1074.  ---- Journal of Organic Chemistry Style Guide\n\n\u003e A Found value within 0.003 m/z unit of the Calcd value of a parent-derived ion, together with other available data (including knowledge of the elements present in reactants and reagents) is usually adequate for supporting a molecular formula for compounds with molecular masses below 1000 amu.  ---- Journal of Organic Chemistry Style Guide\n\nAs the record methods for HRMS data varies, and there is no specific format for reporting such data, this program will only validate the ion source, formula, calcd mass, found mass of HRMS data:\n  - Only execute a basic check for the validity of ion source, it's acceptable whenever the description of ion source contains common ion sources such as ESI, APCI, EI, MALDI, CI, FD, FI, FAB, APPI, TS, PB, DART, etc.\n  - Deviation of calcd mass should be less than 0.0001.\n  - Deviation of found mass should be less than 0.003, reference to calcd mass.\n\n### Example of Valid Data\n\n  \u003csup\u003e1\u003c/sup\u003eH NMR (600 MHz, CDCl\u003csub\u003e3\u003c/sub\u003e): δ = 11.43 (s, 1H), 8.28 (d, J = 6.0 Hz, 1H), 7.81 (dd, J = 7.8, 2.4 Hz, 3H), 7.67 (q, J = 8.4 Hz, 1H), 7.38 (br, 1H), 7.24 - 7.01 (m, 1H), 6.70–6.62 (m, 3H), 5.58−5.30 (m, 3H); \u003csup\u003e13\u003c/sup\u003eC NMR (100 MHz, CDCl\u003csub\u003e3\u003c/sub\u003e): δ (ppm) = 144.4, 133.5(1), 133.5(2), 130.8(2C), 129.81, 129.79, 127.62, 127.42; HRMS (ESI): m/z [M + Na]\u003csup\u003e+\u003c/sup\u003e Calcd for C\u003csub\u003e9\u003c/sub\u003eH\u003csub\u003e14\u003c/sub\u003eBrN\u003csub\u003e3\u003c/sub\u003eNa, 266.0263; Found 266.0236.\n\n### Example of Original Data\n\n  1H NMR (400 MHz, dmso-d6) δ 8.01 (br s, 1H), 7.24-7.18 (m, 2H), 6.94 (d, J = 5.3 Hz, 1H), 6.88 (s, 1H), 3.42 (dd, J = 14.4, 5.0 Hz, 1H), 3.10-3.06 (m, 2H), 2.76 (dd, J = 14.0, 12.0 Hz, 1H), 2.66 (d, J = 12.8 Hz, 1H), 2.51 (s, 3H), 2.20 (td, J = 10.8, 4.0 Hz, 1H), 2.18-2.10 (m, 1H), 1.95 (t, J = 11.2 Hz, 1H), 1.12 (q, J = 12.4 Hz, 1H), 1.02 (d, J = 6.8 Hz, 3H); 13C NMR (100 MHz, dmso-d6) δ 133.6, 133.3, 126.2, 123.0, 117.6, 113.2, 112.0, 108.4, 67.0, 65.4, 43.2, 40.8, 39.93, 39.80, 39.66, 39.52, 39.38, 39.24, 39.10, 36.4, 30.6, 26.9, 19.7;\n\n-------------------------------------------------------\n\n### Word Config\n\n#### Set default paste options\n\nIn `Microsoft Word`, go to `File -\u003e Options -\u003e Advanced`, choose `Match destination formatting` under `Pasting from other programs`, and your auto formatted characterization data is on the way!\n\n-------------------------------------------------------\n\n### Contributing\n\nClick [here](https://github.com/Nikaple/chem-si-helper/issues) to open an issue, please tell me your data and your expected result.\n\n-------------------------------------------------------\n\n### Contribute\n\nAny contribution will be appreciated. To help improve the project, you can clone this repository and open a pull request, or even open an issue is fine.\n\nAfter installing [NodeJS](https://nodejs.org) and [Git](https://git-scm.com/), run:\n```\ngit clone https://github.com/Nikaple/post-spectra.git\ncd post-spectra\nnpm install\nnpm start\n```\n\n\n## LICENCE\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnikaple%2Fpost-spectra","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnikaple%2Fpost-spectra","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnikaple%2Fpost-spectra/lists"}