{"id":31985113,"url":"https://github.com/xieguigang/manhattanplot","last_synced_at":"2026-02-17T23:03:54.540Z","repository":{"id":70900877,"uuid":"66451891","full_name":"xieguigang/ManhattanPlot","owner":"xieguigang","description":"Manhattan plot in VisualBasic","archived":false,"fork":false,"pushed_at":"2024-08-30T04:50:45.000Z","size":2078,"stargazers_count":2,"open_issues_count":0,"forks_count":4,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-10-15T11:59:02.015Z","etag":null,"topics":["gwas","manhattan-plot","snps","vbnet","visualbasic","visualization"],"latest_commit_sha":null,"homepage":"https://doi.org/10.5281/zenodo.160357","language":"Visual Basic .NET","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xieguigang.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":"2016-08-24T09:43:29.000Z","updated_at":"2024-08-30T04:50:48.000Z","dependencies_parsed_at":null,"dependency_job_id":"b87aaf05-2475-4454-a2c8-c0457e0e64be","html_url":"https://github.com/xieguigang/ManhattanPlot","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/xieguigang/ManhattanPlot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xieguigang%2FManhattanPlot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xieguigang%2FManhattanPlot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xieguigang%2FManhattanPlot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xieguigang%2FManhattanPlot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xieguigang","download_url":"https://codeload.github.com/xieguigang/ManhattanPlot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xieguigang%2FManhattanPlot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29561784,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-17T21:50:49.831Z","status":"ssl_error","status_checked_at":"2026-02-17T21:46:15.313Z","response_time":100,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["gwas","manhattan-plot","snps","vbnet","visualbasic","visualization"],"created_at":"2025-10-15T05:05:23.590Z","updated_at":"2026-02-17T23:03:54.518Z","avatar_url":"https://github.com/xieguigang.png","language":"Visual Basic .NET","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ManhattanPlot\n\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.160357.svg)](https://doi.org/10.5281/zenodo.160357)\n\nManhattan plot in VisualBasic, application of the cross platform VisualBasic in the data science area.\n\nFor start the further development, install the **sciBASIC** runtime via nuget at first:\n\n```bash\nPM\u003e Install-Package sciBASIC\n```\n\nand then add reference to the dll files:\n\n+ Microsoft.VisualBasic.Architecture.Framework_v3.0_22.0.76.201__8da45dcd8060cc9a.dll\n+ Microsoft.VisualBasic.Data.Csv.dll\n+ Microsoft.VisualBasic.Imaging.dll\n+ Microsoft.VisualBasic.MIME.Markup.dll\n\n## [Manhattan plot](https://en.wikipedia.org/wiki/Manhattan_plot)\n\n\u003e wiki: https://en.wikipedia.org/wiki/Manhattan_plot\n\nA Manhattan plot is a type of scatter plot, usually used to display data with a large number of data-points - many of non-zero amplitude, and with a distribution of higher-magnitude values, for instance in genome-wide association studies (GWAS).[1] In GWAS Manhattan plots, genomic coordinates are displayed along the X-axis, with the negative logarithm of the association P-value for each single nucleotide polymorphism (SNP) displayed on the Y-axis, meaning that each dot on the Manhattan plot signifies a SNP. Because the strongest associations have the smallest P-values (e.g., 10−15), their negative logarithms will be the greatest (e.g., 15).\n\nIt gains its name from the similarity of such a plot to the Manhattan skyline: a profile of skyscrapers towering above the lower level \"buildings\" which vary around a lower height.\n\n## References\n+ Gibson, Greg (2010). \"Hints of hidden heritability in GWAS\". Nature Genetics. 42 (7): 558–560. doi:10.1038/ng0710-558. PMID 20581876.\n\n\n## Using the code\n\nFirst, peeks of the test data. By using **[``sampleTest.R``](./docs/sampleTest.R)** script for generates the test data set.\n\n```R\n# 生成测试数据集\n\nsize \u003c- 5000\n\nChr = sample(1:24,size,replace=T)\nPosition = sample(1:247249719,size)\n\nsample1 = runif(size)\nsample2 = runif(size)\nsample3 = runif(size)\nsample4 = runif(size)\nsample5 = runif(size)\nsample6 = runif(size)\n\ndf \u003c- data.frame(Chr, Position, sample1, sample2, sample3, sample4, sample5, sample6)\n\nwrite.csv(df, \"./manhattan_plot_test.csv\")\n```\n\n```R\ndf \u003c- read.csv(\"./manhattan_plot_test.csv\")\nhead(df)\n#   X Chr  Position   sample1    sample2   sample3     sample4    sample5   sample6\n# 1 1   2  22304208 0.4507433 0.01808137 0.5331228 0.886314430 0.05588127 0.9862486\n# 2 2   4 230231679 0.6635587 0.27899222 0.9481844 0.531249994 0.21041159 0.3363624\n# 3 3  10 143893892 0.1996261 0.48332127 0.2450963 0.361027239 0.52686846 0.8066759\n# 4 4  16 132975412 0.8251777 0.20714878 0.8853197 0.940708435 0.13193652 0.1899054\n# 5 5   5  40889369 0.1213144 0.26543908 0.5174160 0.003453829 0.25054001 0.8672608\n# 6 6  17   7449617 0.1840310 0.10817737 0.2458615 0.570825707 0.38563234 0.1185492\n```\n\nAnd then load data into memory by using code\n\n```vbnet\nImports Microsoft.VisualBasic.DocumentFormat.Csv\n\nDim data As SNP() = \"./manhattan_plot_test.csv\".LoadCsv(Of SNP)\n```\n\nCanvas drawing of the ``Manhattan Plot`` is super easy by using just one function:\n\n```vbnet\nCanvas.Plot(System.Collections.Generic.IEnumerable(Of ManhattanPlot.SNP), Integer, Integer, System.Collections.Generic.Dictionary(Of String, String), System.Drawing.Size, Integer, Boolean, Boolean, Boolean, String, String) As System.Drawing.Bitmap\n```\n\n#### Color patterns\n\nSave image method extension required of imports namespace:\n\n```vbnet\nImports Microsoft.VisualBasic.Imaging\n```\n\n```vbnet\nDim image As Bitmap = data.Plot(colorPattern:=\"chr\")\nCall image.SaveAs(\"./manhattan_plot_test.png\", ImageFormats.Png)\n```\n![](./example/manhattan_plot_test_chr.png)\n\n\n```vbnet\nDim image As Bitmap = data.Plot(colorPattern:=\"sampleName\")\nCall image.SaveAs(\"./manhattan_plot_test_sampleName.png\", ImageFormats.Png)\n```\n![](./example/manhattan_plot_test_sampleName.png)\n\n\n```vbnet\nDim image As Bitmap = data.Plot(colorPattern:=\"interval\")\nCall image.SaveAs(\"./manhattan_plot_test_interval.png\", ImageFormats.Png)\n```\n![](./example/manhattan_plot_test_interval.png)\n\n## Test on Linux\nThis program have been test successfully on the Ubuntu Linux system and Windows10, here is the test script example that you can found in the demo ``Resources`` folder:\n\n```bash\n#!/bin/bash\n\nrm ./manhattan_plot_test_chr.png\nrm ./manhattan_plot_test_interval.png\nrm ./manhattan_plot_test_SampleName.png\n\n../ManhattanPlot.exe /Draw /in \"./manhattan_plot_test.csv\" /pt.size 10 /sampleColors \"./SampleColors.csv\" /colorpattern SampleName\n../ManhattanPlot.exe /Draw /in \"./manhattan_plot_test.csv\" /pt.size 10 /colorpattern chr\n../ManhattanPlot.exe /Draw /in \"./manhattan_plot_test.csv\" /pt.size 10 /colorpattern interval\n```\n\n![](./docs/Linux_bash.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxieguigang%2Fmanhattanplot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxieguigang%2Fmanhattanplot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxieguigang%2Fmanhattanplot/lists"}