{"id":20386946,"url":"https://github.com/cmdcolin/clustal-js","last_synced_at":"2026-02-14T11:06:33.470Z","repository":{"id":42210863,"uuid":"179327416","full_name":"cmdcolin/clustal-js","owner":"cmdcolin","description":null,"archived":false,"fork":false,"pushed_at":"2024-12-16T10:13:31.000Z","size":641,"stargazers_count":1,"open_issues_count":4,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-12T09:54:16.063Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/cmdcolin.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2019-04-03T16:19:24.000Z","updated_at":"2024-08-29T02:55:16.000Z","dependencies_parsed_at":"2024-02-08T01:28:39.896Z","dependency_job_id":"0e3e5fbf-66c1-4b10-9175-a90f20e77b95","html_url":"https://github.com/cmdcolin/clustal-js","commit_stats":{"total_commits":43,"total_committers":1,"mean_commits":43.0,"dds":0.0,"last_synced_commit":"ef18149197d0ff39c25fa109adb4aa9121043a43"},"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cmdcolin%2Fclustal-js","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cmdcolin%2Fclustal-js/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cmdcolin%2Fclustal-js/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cmdcolin%2Fclustal-js/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cmdcolin","download_url":"https://codeload.github.com/cmdcolin/clustal-js/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248550634,"owners_count":21122932,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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-15T02:41:42.193Z","updated_at":"2026-02-14T11:06:28.451Z","avatar_url":"https://github.com/cmdcolin.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![NPM version](https://img.shields.io/npm/v/clustal-js.svg?style=flat-square)](https://npmjs.org/package/clustal-js)\n[![Build Status](https://img.shields.io/github/actions/workflow/status/cmdcolin/clustal-js/push.yml?branch=master)](https://github.com/cmdcolin/clustal-js/actions?query=branch%3Amaster+workflow%3APush+)\n\n# clustal-js\n\nThis parses CLUSTAL (multiple sequence aligner) output format files (sometimes\ncalled .aln)\n\n## Usage\n\n```typescript\nimport { parse } from 'clustal-js'\nconst file = fs.readFileSync('test.aln', 'utf8')\nconst ret = parse(file)\n```\n\n## Example\n\nInput\n\n```\nCLUSTAL O(1.2.4) multiple sequence alignment\n\n\nsp|P69905|HBA_HUMAN       MVLSPADKTNVKAAWGKVGAHAGEYGAEALERMFLSFPTTKTYFPHFDLSHGSAQVKGHG\t60\nsp|P01942|HBA_MOUSE       MVLSGEDKSNIKAAWGKIGGHGAEYGAEALERMFASFPTTKTYFPHFDVSHGSAQVKGHG\t60\nsp|P13786|HBAZ_CAPHI      MSLTRTERTIILSLWSKISTQADVIGTETLERLFSCYPQAKTYFPHFDLHSGSAQLRAHG\t60\n                          * *:  ::: : : *.*:. :.   *:*:***:* .:* :********:  ****::.**\n\nsp|P69905|HBA_HUMAN       KKVADALTNAVAHVDDMPNALSALSDLHAHKLRVDPVNFKLLSHCLLVTLAAHLPAEFTP\t120\nsp|P01942|HBA_MOUSE       KKVADALASAAGHLDDLPGALSALSDLHAHKLRVDPVNFKLLSHCLLVTLASHHPADFTP\t120\nsp|P13786|HBAZ_CAPHI      SKVVAAVGDAVKSIDNVTSALSKLSELHAYVLRVDPVNFKFLSHCLLVTLASHFPADFTA\t120\n                          .**. *: .*.  :*:: .*** **:***: *********:**********:* **:**\n\nsp|P69905|HBA_HUMAN       AVHASLDKFLASVSTVLTSKYR\t142\nsp|P01942|HBA_MOUSE       AVHASLDKFLASVSTVLTSKYR\t142\nsp|P13786|HBAZ_CAPHI      DAHAAWDKFLSIVSGVLTEKYR\t142\n                           .**: ****: ** ***.***\n```\n\nOutput\n\n```\n      { consensus:\n         '* *:  ::: : : *.*:. :.   *:*:***:* .:* :********:  ****::.**.**. *: .*.  :*:: .*** **:***: *********:**********:* **:**  .**: ****: ** ***.***',\n        alns:\n         [ { id: 'sp|P69905|HBA_HUMAN',\n             seq:\n              'MVLSPADKTNVKAAWGKVGAHAGEYGAEALERMFLSFPTTKTYFPHFDLSHGSAQVKGHGKKVADALTNAVAHVDDMPNALSALSDLHAHKLRVDPVNFKLLSHCLLVTLAAHLPAEFTPAVHASLDKFLASVSTVLTSKYR' },\n           { id: 'sp|P01942|HBA_MOUSE',\n             seq:\n              'MVLSGEDKSNIKAAWGKIGGHGAEYGAEALERMFASFPTTKTYFPHFDVSHGSAQVKGHGKKVADALASAAGHLDDLPGALSALSDLHAHKLRVDPVNFKLLSHCLLVTLASHHPADFTPAVHASLDKFLASVSTVLTSKYR' },\n           { id: 'sp|P13786|HBAZ_CAPHI',\n             seq:\n              'MSLTRTERTIILSLWSKISTQADVIGTETLERLFSCYPQAKTYFPHFDLHSGSAQLRAHGSKVVAAVGDAVKSIDNVTSALSKLSELHAYVLRVDPVNFKFLSHCLLVTLASHFPADFTADAHAAWDKFLSIVSGVLTEKYR' } ],\n        header:\n         { info: 'CLUSTAL O(1.2.4) multiple sequence alignment',\n           version: '1.2.4' } }\n```\n\n### Parse pairwise outputs\n\n```typescript\nimport { parsePairwise } from 'clustal-js'\nconst file = fs.readFileSync('test.aln', 'utf8')\nconst ret = parse(file)\n```\n\nInput test.aln (e.g. from EMBOSS needle)\n\n```\n########################################\n# Program: needle\n# Rundate: Mon  5 Feb 2024 17:52:19\n# Commandline: needle\n#    -auto\n#    -stdout\n#    -asequence emboss_needle-R20240205-175207-0261-70863964-p1m.asequence\n#    -bsequence emboss_needle-R20240205-175207-0261-70863964-p1m.bsequence\n# Align_format: srspair\n# Report_file: stdout\n########################################\n\n#=======================================\n#\n# Aligned_sequences: 2\n# 1: a\n# 2: b\n# Matrix: EBLOSUM62\n# Gap_penalty: 10.0\n# Extend_penalty: 0.5\n#\n# Length: 614\n# Identity:     221/614 (36.0%)\n# Similarity:   221/614 (36.0%)\n# Gaps:         393/614 (64.0%)\n# Score: 1114.0\n#\n#\n#=======================================\n\na                  1 MGQKGHKDSLYPCGGTPESSLHEALDQCMTALDLFLTNQFSEALSYLKPR     50\n\nb                  0 --------------------------------------------------      0\n\na                 51 TKESMYHSLTYATILEMQAMMTFDPQDILLAGNMMKEAQMLCQRHRRKSS    100\n\nb                  0 --------------------------------------------------      0\n\na                101 VTDSFSSLVNRPTLGQFTEEEIHAEVCYAECLLQRAALTFLQGSSHGGAV    150\n\nb                  0 --------------------------------------------------      0\n\na                151 RPRALHDPSHACSCPPGPGRQHLFLLQDENMVSFIKGGIKVRNSYQTYKE    200\n\nb                  0 --------------------------------------------------      0\n\na                201 LDSLVQSSQYCKGENHPHFEGGVKLGVGAFNLTLSMLPTRILRLLEFVGF    250\n\nb                  0 --------------------------------------------------      0\n\na                251 SGNKDYGLLQLEEGASGHSFRSVLCVMLLLCYHTFLTFVLGTGNVNIEEA    300\n\nb                  0 --------------------------------------------------      0\n\na                301 EKLLKPYLNRYPKGAIFLFFAGRIEVIKGNIDAAIRRFEECCEAQQHWKQ    350\n\nb                  0 --------------------------------------------------      0\n\na                351 FHHMCYWELMWCFTYKGQWKMSYFYADLLSKENCWSKATYIYMKAAYLSM    400\n                                                               ||||||||\nb                  1 ------------------------------------------MKAAYLSM      8\n\na                401 FGKEDHKPFGDDEVELFRAVPGLKLKIAGKSLPTEKFAIRKSRRYFSSNP    450\n                     ||||||||||||||||||||||||||||||||||||||||||||||||||\nb                  9 FGKEDHKPFGDDEVELFRAVPGLKLKIAGKSLPTEKFAIRKSRRYFSSNP     58\n\na                451 ISLPVPALEMMYIWNGYAVIGKQPKLTDGILEIITKAEEMLEKGPENEYS    500\n                     ||||||||||||||||||||||||||||||||||||||||||||||||||\nb                 59 ISLPVPALEMMYIWNGYAVIGKQPKLTDGILEIITKAEEMLEKGPENEYS    108\n\na                501 VDDECLVKLLKGLCLKYLGRVQEAEENFRSISANEKKIKYDHYLIPNALL    550\n                     ||||||||||||||||||||||||||||||||||||||||||||||||||\nb                109 VDDECLVKLLKGLCLKYLGRVQEAEENFRSISANEKKIKYDHYLIPNALL    158\n\na                551 ELALLLMEQDRNEEAIKLLESAKQNYKNYSMESRTHFRIQAATLQAKSSL    600\n                     ||||||||||||||||||||||||||||||||||||||||||||||||||\nb                159 ELALLLMEQDRNEEAIKLLESAKQNYKNYSMESRTHFRIQAATLQAKSSL    208\n\na                601 ENSSRSMVSSVSL-    613\n                     |||||||||||||\nb                209 ENSSRSMVSSVSL*    222\n\n\n#---------------------------------------\n#---------------------------------------\n```\n\n### Notes\n\nSee tests for example files\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcmdcolin%2Fclustal-js","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcmdcolin%2Fclustal-js","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcmdcolin%2Fclustal-js/lists"}