{"id":30226963,"url":"https://github.com/johnlees/rapidnj","last_synced_at":"2025-10-27T02:05:28.492Z","repository":{"id":78111783,"uuid":"148795266","full_name":"johnlees/rapidnj","owner":"johnlees","description":"Code for rapidNJ by Martin Simonsen, Thomas Mailund and Christian N. S. Pedersen.","archived":false,"fork":false,"pushed_at":"2020-08-05T10:24:10.000Z","size":96,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2023-10-20T20:48:29.125Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/johnlees.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2018-09-14T13:50:40.000Z","updated_at":"2023-10-20T20:49:34.232Z","dependencies_parsed_at":"2023-03-12T03:34:46.203Z","dependency_job_id":null,"html_url":"https://github.com/johnlees/rapidnj","commit_stats":null,"previous_names":[],"tags_count":4,"template":null,"template_full_name":null,"purl":"pkg:github/johnlees/rapidnj","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnlees%2Frapidnj","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnlees%2Frapidnj/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnlees%2Frapidnj/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnlees%2Frapidnj/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/johnlees","download_url":"https://codeload.github.com/johnlees/rapidnj/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnlees%2Frapidnj/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270458920,"owners_count":24587495,"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","status":"online","status_checked_at":"2025-08-14T02:00:10.309Z","response_time":75,"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":"2025-08-14T17:38:21.153Z","updated_at":"2025-10-27T02:05:28.421Z","avatar_url":"https://github.com/johnlees.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RapidNJ\r\n\r\nRapidNJ is an algorithmic engineered implementation of canonical\r\nneighbour-joining. It uses an efficient search heuristic to speed-up\r\nthe core computations of the neighbour-joining method that enables\r\nRapidNJ to outperform other state-of-the-art neighbour-joining\r\nimplementations. The RapidNJ method was originally presented in:\r\n\r\n* Rapid Neighbour Joining. Martin Simonsen, Thomas Mailund and\r\n  Christian N. S. Pedersen. In Proceedings of the 8th Workshop in\r\n  Algorithms in Bioinformatics (WABI), LNBI 5251, 113-122, Springer\r\n  Verlag, October 2008. doi:10.1007/978-3-540-87361-7_10\r\n\r\n\r\nFurther development of RapidNJ has improved the search heuristic,\r\ndecreased memory consumption and enabled the utilization of external\r\nmemory. It also includes an efficient computation of distance\r\nestimators from input alignments. These improvements allow the current\r\nimplementation of RapidNJ to handle very large datasets (50,000+ taxa)\r\nefficiently on a normal desktop computer. Papers describing these\r\nimprovements are:\r\n\r\n* Inference of Large Phylogenies using Neighbour-Joining. Martin\r\n  Simonsen, Thomas Mailund, Christian N. S. Pedersen. Communications\r\n  in Computer and Information Science (Biomedical Engineering Systems\r\n  and Technologies: 3rd International Joint Conference, BIOSTEC 2010,\r\n  Revised Selected Papers), volume 127, pages 334-344, Springer\r\n  Verlag, 2011. (Extended version of a paper published at BIOSTEC\r\n  2010).\r\n\r\n* Rapid Computation of Distance Estimators from Nucleotide and Amino\r\n  Acid Alignments. Martin Simonsen, Christian N. S. Pedersen. In\r\n  Proceedings of 26th Annual ACM Symposium on Applied Computing (SAC\r\n  2011), ACM Press, March 2011.\r\n\r\nCurrent version is 2.3.2:\r\n\r\n* Fixed bug in bootstrap algorithm which caused the bootstrap values\r\n  to be lower than the true value in most cases.\r\n\r\n* Fixed bug that caused the last two branches made to have the wrong\r\n  distance.\r\n\r\n# Prerequisites\r\n\r\nRapidNJ has been developed and tested on Linux (Ubuntu version 8.10)\r\nrunning on an Intel Pentium compatible CPU. It has also been tested on\r\nOS X and Windows. Compiling RapidNJ requires gcc version 2.1 (or\r\nhigher). On Windows you should be able to use Visual Studie or Cygwin.\r\n\r\n# Installation\r\n\r\nUnpack the source code:\r\n\r\n$ unzip rapidnj-src-2.3.2.zip\r\n\r\nCompile the program using the included Makefile (on some older systems\r\nit might be necessary to remove the flag '-flax-vector-conversions'\r\nfrom the makefile):\r\n\r\n$ cd rapidNJ\r\n\r\n$ make\r\n\r\nAfter a succesful compilation the binary 'rapidnj' can be found in the\r\nsubdirectory 'bin'. You can e.g. copy this binary to a directory in\r\nyour search path for easier access.\r\n\r\n# Usage\r\n\r\nExecuting the binary 'rapidnj' with no arguments will produce a help\r\nmessage containing the syntaxt and a list of options. RapidNJ will\r\naccept two different input formats. Distance matrices in phylip format\r\nand alignments in stockholm format. The program can usually guess the\r\ninput format, otherwise the -i option can be used to choose between\r\ndifferent formats. Support for phylip formatted multiple alignments is\r\nalso included but might not work with all methods for computation of\r\ndistance matrices.\r\n\r\nTo infer a tree from an alignment in Stockholm format use the\r\nfollowing command\r\n\r\n$ rapidnj FILENAME -i sth\r\n\r\nwhere FILENAME is the name of the file with the alignment.\r\n\r\nThe program will automatically switch between three different versions\r\nof the rapidNJ algorithm depending on the size of the tree and the\r\namount of available memory. Several options are available to force a\r\nspecific algorithm to be used.\r\n\r\n# Contact\r\n\r\nChristian N. S. Pedersen \u003ccstorm@birc.au.dk\u003e,\r\nBioinformatics Research Centre, Aarhus University\r\n\r\n\r\n\r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnlees%2Frapidnj","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjohnlees%2Frapidnj","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnlees%2Frapidnj/lists"}