From 8388cd6d63a441c25285c684260d29d05223b201 Mon Sep 17 00:00:00 2001 From: Colin Date: Thu, 27 Jun 2024 16:37:36 -0400 Subject: [PATCH] Updates --- 404.html | 2 +- .../_buildManifest.js | 0 .../_ssgManifest.js | 0 .../chunks/app/layout-a585af86df490ab1.js | 1 - .../chunks/app/layout-be6cbe1f64710f4d.js | 1 + ...0adfd55efa.js => page-af034da5fca656e6.js} | 2 +- .../chunks/framework-e4547c450ea8b3b2.js | 25 ------------------- .../chunks/framework-f76b3558e182e37e.js | 25 +++++++++++++++++++ ...4c92a3.js => main-app-b454a46fae1a9f06.js} | 2 +- index.html | 2 +- index.txt | 8 +++--- 11 files changed, 34 insertions(+), 34 deletions(-) rename _next/static/{T1VRlSZjIoqJBz05KXxdz => X5qHYYI0f9f9UodGf9NIn}/_buildManifest.js (100%) rename _next/static/{T1VRlSZjIoqJBz05KXxdz => X5qHYYI0f9f9UodGf9NIn}/_ssgManifest.js (100%) delete mode 100644 _next/static/chunks/app/layout-a585af86df490ab1.js create mode 100644 _next/static/chunks/app/layout-be6cbe1f64710f4d.js rename _next/static/chunks/app/{page-f3460c0adfd55efa.js => page-af034da5fca656e6.js} (99%) delete mode 100644 _next/static/chunks/framework-e4547c450ea8b3b2.js create mode 100644 _next/static/chunks/framework-f76b3558e182e37e.js rename _next/static/chunks/{main-app-8d98cc04c64c92a3.js => main-app-b454a46fae1a9f06.js} (61%) diff --git a/404.html b/404.html index 78553bac..207da427 100644 --- a/404.html +++ b/404.html @@ -1 +1 @@ -404: This page could not be found.awesome-genome-visualization

404

This page could not be found.

\ No newline at end of file +404: This page could not be found.awesome-genome-visualization

404

This page could not be found.

\ No newline at end of file diff --git a/_next/static/T1VRlSZjIoqJBz05KXxdz/_buildManifest.js b/_next/static/X5qHYYI0f9f9UodGf9NIn/_buildManifest.js similarity index 100% rename from _next/static/T1VRlSZjIoqJBz05KXxdz/_buildManifest.js rename to _next/static/X5qHYYI0f9f9UodGf9NIn/_buildManifest.js diff --git a/_next/static/T1VRlSZjIoqJBz05KXxdz/_ssgManifest.js b/_next/static/X5qHYYI0f9f9UodGf9NIn/_ssgManifest.js similarity index 100% rename from _next/static/T1VRlSZjIoqJBz05KXxdz/_ssgManifest.js rename to _next/static/X5qHYYI0f9f9UodGf9NIn/_ssgManifest.js diff --git a/_next/static/chunks/app/layout-a585af86df490ab1.js b/_next/static/chunks/app/layout-a585af86df490ab1.js deleted file mode 100644 index d19abc63..00000000 --- a/_next/static/chunks/app/layout-a585af86df490ab1.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[185],{7094:(e,s,_)=>{Promise.resolve().then(_.t.bind(_,2924,23))},2924:()=>{}},e=>{var s=s=>e(e.s=s);e.O(0,[956,130,182,744],()=>s(7094)),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/app/layout-be6cbe1f64710f4d.js b/_next/static/chunks/app/layout-be6cbe1f64710f4d.js new file mode 100644 index 00000000..d4c676c8 --- /dev/null +++ b/_next/static/chunks/app/layout-be6cbe1f64710f4d.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[185],{1076:(e,s,_)=>{Promise.resolve().then(_.t.bind(_,2924,23))},2924:()=>{}},e=>{var s=s=>e(e.s=s);e.O(0,[956,130,182,744],()=>s(1076)),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/app/page-f3460c0adfd55efa.js b/_next/static/chunks/app/page-af034da5fca656e6.js similarity index 99% rename from _next/static/chunks/app/page-f3460c0adfd55efa.js rename to _next/static/chunks/app/page-af034da5fca656e6.js index 5672f7e6..0c5bbdef 100644 --- a/_next/static/chunks/app/page-f3460c0adfd55efa.js +++ b/_next/static/chunks/app/page-af034da5fca656e6.js @@ -1 +1 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[931],{2442:(e,t,r)=>{Promise.resolve().then(r.bind(r,2766))},2766:(e,t,r)=>{"use strict";r.d(t,{default:()=>j});var n=r(7437),o=r(7429),s=r.n(o),i=r(2265),a=r(4138),l=r(4118),c=r.n(l);function u(e){let{setSelected:t,tool:{name:r,url:o,language:s,tags:a,img:l,width:u,height:d,github:h,twitter:p,platform:f,github_stars:g,pub:m,note:v,alt_url:x,interactive:j},filters:b,setFilters:y}=e,[k,w]=(0,i.useState)(!1),A=c()(r,{remove:/[!"'()*+.:@~]/g});return(0,n.jsxs)("div",{className:"card",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:(0,n.jsx)("a",{id:A,href:"#",style:{color:"black",cursor:"pointer"},onClick:e=>{t({selected:"#"+A}),e.preventDefault()},children:r})}),(0,n.jsx)("p",{className:"link",children:(0,n.jsx)("a",{href:o,children:o})}),x?(0,n.jsxs)("p",{className:"link",children:["Alt url ",(0,n.jsx)("a",{href:x,children:x})]}):null,j?(0,n.jsxs)("p",{className:"interactive",children:["Interactive: ",null==j?void 0:j.join(",")]}):null,m?(0,n.jsxs)("p",{children:["Publication: ",m.url?(0,n.jsx)("a",{href:m.url,children:"(direct link)"}):null," ",m.doi?(0,n.jsx)("a",{href:m.doi.startsWith("http")?m.doi:"https://dx.doi.org/"+m.doi,children:"(doi link)"}):null," ",m.year?" (".concat(m.year,")"):null,void 0===m.citations?null:" (# citations ".concat(m.citations,")")]}):null,s?(0,n.jsxs)("p",{children:["Language:"," ",s.map((e,t)=>[t>0&&", ",(0,n.jsx)("a",{onClick:t=>{y({...b,language:e}),t.preventDefault()},children:e},e+"-"+t)])]}):null,a?(0,n.jsxs)("p",{children:["Tags:"," ",a.map((e,t)=>[t>0&&", ",(0,n.jsx)("a",{onClick:t=>{y({...b,tag:e}),t.preventDefault()},children:e},e+"-"+t)])]}):null,v?(0,n.jsxs)("p",{children:["Note: ",v]}):null,p?(0,n.jsxs)("p",{className:"link",children:["Twitter: ",(0,n.jsx)("a",{href:p,children:p})]}):null,h?(0,n.jsxs)("p",{className:"link",children:["Github: ",(0,n.jsx)("a",{href:h,children:h})]}):null,g?(0,n.jsxs)("p",{children:["Github Stargazers: ",g]}):null,f?(0,n.jsxs)("p",{children:["Platform: ",f.join(", ")]}):null]}),(0,n.jsxs)("figure",{role:"presentation",onClick:()=>w(e=>!e),children:[l?(0,n.jsx)("img",{alt:"screenshot of ".concat(r),loading:"lazy",className:k?"expanded":"",width:u,height:d,src:l}):(0,n.jsx)("p",{className:"no-screenshot",children:"No screenshot"}),k?(0,n.jsx)("div",{className:"modal-backdrop",children:(0,n.jsx)("img",{alt:"screenshot of ".concat(r),src:l})}):null]})]})}function d(e){let{tools:t,filters:r,setSelected:o,setFilters:s}=e;return t.map(e=>(0,n.jsx)(u,{tool:e,setSelected:o,setFilters:s,filters:r},e.name))}function h(e){let{tools:t,setFilters:r,filters:o}=e,s=new Set;for(let e of t)if(e.interactive)for(let t of e.interactive)s.add(t);return(0,n.jsxs)("div",{className:"form-group",children:[(0,n.jsx)("label",{htmlFor:"interactive-select",children:"Filter on interactivity: "}),(0,n.jsxs)("select",{value:o.interactive||"",id:"interactive-select",onChange:e=>r({...o,interactive:e.target.value}),children:[(0,n.jsx)("option",{value:"",children:"-- select an option --"}),[...s].sort().map(e=>(0,n.jsx)("option",{id:e,children:e},e))]})]})}function p(e){let{tools:t,setFilters:r,filters:o}=e,s=new Set;for(let e of t)if(e.platform)for(let t of e.platform)s.add(t);return(0,n.jsxs)("div",{className:"form-group",children:[(0,n.jsx)("label",{htmlFor:"platform-select",children:"Filter on platform: "}),(0,n.jsxs)("select",{value:o.platform||"",id:"platform-select",onChange:e=>r({...o,platform:e.target.value}),children:[(0,n.jsx)("option",{value:"",children:"-- select an option --"}),[...s].sort().map(e=>(0,n.jsx)("option",{id:e,children:e},e))]})]})}function f(e){let{tools:t,setFilters:r,filters:o}=e,s=new Set;for(let e of t)if(e.tags)for(let t of e.tags)s.add(t);return(0,n.jsxs)("div",{className:"form-group",children:[(0,n.jsx)("label",{htmlFor:"tag-select",children:"Filter on tag: "}),(0,n.jsxs)("select",{id:"tag-select",value:o.tag||"",onChange:e=>r({...o,tag:e.target.value}),children:[(0,n.jsx)("option",{value:"",children:"-- select an option --"}),[...s].sort().map(e=>(0,n.jsx)("option",{id:e,children:e},e))]})]})}function g(e){let{tools:t,setFilters:r,filters:o}=e,s=new Set;for(let e of t)if(e.language)for(let t of e.language)s.add(t);return(0,n.jsxs)("div",{className:"form-group",children:[(0,n.jsx)("label",{htmlFor:"language-select",children:"Filter on language: "}),(0,n.jsxs)("select",{value:o.language||"",id:"language-select",onChange:e=>r({...o,language:e.target.value}),children:[(0,n.jsx)("option",{value:"",children:"-- select an option --"}),[...s].sort().map(e=>(0,n.jsx)("option",{id:e,children:e},e))]})]})}let m=e=>e?Number(e):void 0,v=e=>e?String(e):void 0,x=e=>e?JSON.parse(e):void 0;function j(e){let{tools:t}=e,[r,o]=(0,i.useState)({}),[l,c]=(0,i.useState)(!1),[u,j]=(0,i.useState)({}),[b,y]=(0,i.useState)({}),{language:k,tag:w,platform:A,interactive:C}=r,O=(0,a.useSearchParams)(),E=O.get("selected"),S=O.get("language"),N=O.get("tag"),U=O.get("platform"),I=O.get("latest"),Y=O.get("citations"),z=O.get("year"),F=O.get("stars");(0,i.useEffect)(()=>{o({language:v(S),tag:v(N),platform:v(U)}),Y||z||F?j({citations:m(Y),year:m(z),stars:m(F)}):j({latest:x(I||"true")}),E&&y({selected:"".concat(E)})},[Y,S,I,U,E,F,N,z]),(0,i.useEffect)(()=>{let e=s().stringify({...r,...u,...b});if(e&&window.history.replaceState(null,"","?"+e),b.selected&&!l){let e=document.querySelector(b.selected);e&&e.scrollIntoView({block:"start"}),c(!0)}},[r,u,b,l]),t=u.latest?[...t].reverse():[...t];let T=u.year;void 0!==T&&(t=t.sort((e,t)=>{var r,n;return+((null===(r=e.pub)||void 0===r?void 0:r.year)||1/0*T)-+((null===(n=t.pub)||void 0===n?void 0:n.year)||1/0*T)}),-1===u.year&&(t=t.reverse()));let G=u.citations;void 0!==G&&(t=t.sort((e,t)=>{var r,n;return+((null===(r=e.pub)||void 0===r?void 0:r.citations)||1/0*G)-+((null===(n=t.pub)||void 0===n?void 0:n.citations)||1/0*G)}),-1===u.citations&&(t=t.reverse()));let D=u.stars;void 0!==D&&(t=t.sort((e,t)=>+(e.github_stars||1/0*D)-+(t.github_stars||1/0*D)),-1===u.stars&&(t=t.reverse()));let R=t.filter(e=>{var t;return!k||(null===(t=e.language)||void 0===t?void 0:t.includes(k))}).filter(e=>{var t;return!w||(null===(t=e.tags)||void 0===t?void 0:t.includes(w))}).filter(e=>{var t;return!A||(null===(t=e.platform)||void 0===t?void 0:t.includes(A))}).filter(e=>{var t;return!C||(null===(t=e.interactive)||void 0===t?void 0:t.includes(C))}),H="https://github.com/cmdcolin/awesome-genome-visualization";return(0,n.jsxs)("main",{className:"page",children:[(0,n.jsx)("h1",{children:"awesome-genome-visualization"}),(0,n.jsxs)("p",{children:["This is a companion website for the github repo"," ",(0,n.jsx)("a",{href:H,children:H})]}),(0,n.jsxs)("p",{children:["Also check out our twitter account"," ",(0,n.jsx)("a",{href:"https://twitter.com/awesomegenomev1",children:"@awesomegenomev1"})]}),(0,n.jsx)("div",{style:{maxWidth:500},children:(0,n.jsx)("p",{children:"Feel free to submit PRs to add more tools"})}),(0,n.jsxs)("p",{className:"example-buttons",children:["Filters:",(0,n.jsx)("button",{onClick:()=>o({}),children:"Clear filters"}),(0,n.jsx)("button",{onClick:()=>o({tag:"General"}),children:"General-purpose genome browsers"}),(0,n.jsx)("button",{onClick:()=>o({tag:"Comparative"}),children:"Synteny/comparative browsers"}),(0,n.jsx)("button",{onClick:()=>o({tag:"Dotplot"}),children:"Dotplot viewer"}),(0,n.jsx)("button",{onClick:()=>o({tag:"MSA"}),children:"MSA viewer"}),(0,n.jsx)("button",{onClick:()=>o({tag:"Graph"}),children:"Graph genome"}),(0,n.jsx)("button",{onClick:()=>o({tag:"Text based"}),children:"Text based"})]}),(0,n.jsxs)("p",{className:"example-buttons",children:[(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),(0,n.jsx)("b",{children:"Before clicking these sort routines: Try to avoid being unfairly biased by citation numbers and github stars!! Best effort was made to find the right DOI and github repo"}),(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),"Sorts:",(0,n.jsx)("button",{onClick:()=>j({latest:!0}),children:"Recently added"}),(0,n.jsx)("button",{onClick:()=>j({latest:!1}),children:"Least recently added"}),(0,n.jsx)("button",{onClick:()=>j({year:-1}),children:"Year (dec)"}),(0,n.jsx)("button",{onClick:()=>j({year:1}),children:"Year (asc)"}),(0,n.jsx)("button",{onClick:()=>j({citations:-1}),children:"Number citations (dec)"}),(0,n.jsx)("button",{onClick:()=>j({citations:1}),children:"Number citations (asc)"}),(0,n.jsx)("button",{onClick:()=>j({stars:-1}),children:"Github stars (dec)"}),(0,n.jsx)("button",{onClick:()=>j({stars:1}),children:"Github stars (asc)"})]}),(0,n.jsxs)("p",{className:"example-buttons",children:["Selection:",(0,n.jsx)("button",{onClick:()=>y({}),children:"Clear selection"})]}),(0,n.jsxs)("div",{id:"filters",children:[(0,n.jsx)(f,{tools:t,filters:r,setFilters:o}),(0,n.jsx)(g,{tools:t,filters:r,setFilters:o}),(0,n.jsx)(p,{tools:t,filters:r,setFilters:o}),(0,n.jsx)(h,{tools:t,filters:r,setFilters:o}),(0,n.jsx)("span",{children:"Note: tagging interactivity is a work in progress (as are other tags, feel free to contribute on github)"})]}),(0,n.jsx)(d,{filters:r,tools:R,setSelected:y,setFilters:o}),(0,n.jsx)("p",{children:"Note: if you would like your tool removed or screenshot removed (for copyright purposes for example) let me know"}),(0,n.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:20,height:20,onClick:()=>window.scrollTo(0,0),className:"top-link",viewBox:"0 0 12 6",children:(0,n.jsx)("path",{d:"M12 6H0l6-6z"})})]})}},7429:e=>{!function(){"use strict";var t={815:function(e){e.exports=function(e,r,n,o){r=r||"&",n=n||"=";var s={};if("string"!=typeof e||0===e.length)return s;var i=/\+/g;e=e.split(r);var a=1e3;o&&"number"==typeof o.maxKeys&&(a=o.maxKeys);var l=e.length;a>0&&l>a&&(l=a);for(var c=0;c=0?(u=f.substr(0,g),d=f.substr(g+1)):(u=f,d=""),h=decodeURIComponent(u),p=decodeURIComponent(d),Object.prototype.hasOwnProperty.call(s,h))?t(s[h])?s[h].push(p):s[h]=[s[h],p]:s[h]=p}return s};var t=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}},577:function(e){var t=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}};e.exports=function(e,s,i,a){return(s=s||"&",i=i||"=",null===e&&(e=void 0),"object"==typeof e)?n(o(e),function(o){var a=encodeURIComponent(t(o))+i;return r(e[o])?n(e[o],function(e){return a+encodeURIComponent(t(e))}).join(s):a+encodeURIComponent(t(e[o]))}).join(s):a?encodeURIComponent(t(a))+i+encodeURIComponent(t(e)):""};var r=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};function n(e,t){if(e.map)return e.map(t);for(var r=[],n=0;n":"greater","|":"or","\xa2":"cent","\xa3":"pound","\xa4":"currency","\xa5":"yen","\xa9":"(c)","\xaa":"a","\xae":"(r)","\xba":"o","\xc0":"A","\xc1":"A","\xc2":"A","\xc3":"A","\xc4":"A","\xc5":"A","\xc6":"AE","\xc7":"C","\xc8":"E","\xc9":"E","\xca":"E","\xcb":"E","\xcc":"I","\xcd":"I","\xce":"I","\xcf":"I","\xd0":"D","\xd1":"N","\xd2":"O","\xd3":"O","\xd4":"O","\xd5":"O","\xd6":"O","\xd8":"O","\xd9":"U","\xda":"U","\xdb":"U","\xdc":"U","\xdd":"Y","\xde":"TH","\xdf":"ss","\xe0":"a","\xe1":"a","\xe2":"a","\xe3":"a","\xe4":"a","\xe5":"a","\xe6":"ae","\xe7":"c","\xe8":"e","\xe9":"e","\xea":"e","\xeb":"e","\xec":"i","\xed":"i","\xee":"i","\xef":"i","\xf0":"d","\xf1":"n","\xf2":"o","\xf3":"o","\xf4":"o","\xf5":"o","\xf6":"o","\xf8":"o","\xf9":"u","\xfa":"u","\xfb":"u","\xfc":"u","\xfd":"y","\xfe":"th","\xff":"y","Ā":"A","ā":"a","Ă":"A","ă":"a","Ą":"A","ą":"a","Ć":"C","ć":"c","Č":"C","č":"c","Ď":"D","ď":"d","Đ":"DJ","đ":"dj","Ē":"E","ē":"e","Ė":"E","ė":"e","Ę":"e","ę":"e","Ě":"E","ě":"e","Ğ":"G","ğ":"g","Ģ":"G","ģ":"g","Ĩ":"I","ĩ":"i","Ī":"i","ī":"i","Į":"I","į":"i","İ":"I","ı":"i","Ķ":"k","ķ":"k","Ļ":"L","ļ":"l","Ľ":"L","ľ":"l","Ł":"L","ł":"l","Ń":"N","ń":"n","Ņ":"N","ņ":"n","Ň":"N","ň":"n","Ō":"O","ō":"o","Ő":"O","ő":"o","Œ":"OE","œ":"oe","Ŕ":"R","ŕ":"r","Ř":"R","ř":"r","Ś":"S","ś":"s","Ş":"S","ş":"s","Š":"S","š":"s","Ţ":"T","ţ":"t","Ť":"T","ť":"t","Ũ":"U","ũ":"u","Ū":"u","ū":"u","Ů":"U","ů":"u","Ű":"U","ű":"u","Ų":"U","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","ź":"z","Ż":"Z","ż":"z","Ž":"Z","ž":"z","Ə":"E","ƒ":"f","Ơ":"O","ơ":"o","Ư":"U","ư":"u","Lj":"LJ","lj":"lj","Nj":"NJ","nj":"nj","Ș":"S","ș":"s","Ț":"T","ț":"t","ə":"e","˚":"o","Ά":"A","Έ":"E","Ή":"H","Ί":"I","Ό":"O","Ύ":"Y","Ώ":"W","ΐ":"i","Α":"A","Β":"B","Γ":"G","Δ":"D","Ε":"E","Ζ":"Z","Η":"H","Θ":"8","Ι":"I","Κ":"K","Λ":"L","Μ":"M","Ν":"N","Ξ":"3","Ο":"O","Π":"P","Ρ":"R","Σ":"S","Τ":"T","Υ":"Y","Φ":"F","Χ":"X","Ψ":"PS","Ω":"W","Ϊ":"I","Ϋ":"Y","ά":"a","έ":"e","ή":"h","ί":"i","ΰ":"y","α":"a","β":"b","γ":"g","δ":"d","ε":"e","ζ":"z","η":"h","θ":"8","ι":"i","κ":"k","λ":"l","μ":"m","ν":"n","ξ":"3","ο":"o","π":"p","ρ":"r","ς":"s","σ":"s","τ":"t","υ":"y","φ":"f","χ":"x","ψ":"ps","ω":"w","ϊ":"i","ϋ":"y","ό":"o","ύ":"y","ώ":"w","Ё":"Yo","Ђ":"DJ","Є":"Ye","І":"I","Ї":"Yi","Ј":"J","Љ":"LJ","Њ":"NJ","Ћ":"C","Џ":"DZ","А":"A","Б":"B","В":"V","Г":"G","Д":"D","Е":"E","Ж":"Zh","З":"Z","И":"I","Й":"J","К":"K","Л":"L","М":"M","Н":"N","О":"O","П":"P","Р":"R","С":"S","Т":"T","У":"U","Ф":"F","Х":"H","Ц":"C","Ч":"Ch","Ш":"Sh","Щ":"Sh","Ъ":"U","Ы":"Y","Ь":"","Э":"E","Ю":"Yu","Я":"Ya","а":"a","б":"b","в":"v","г":"g","д":"d","е":"e","ж":"zh","з":"z","и":"i","й":"j","к":"k","л":"l","м":"m","н":"n","о":"o","п":"p","р":"r","с":"s","т":"t","у":"u","ф":"f","х":"h","ц":"c","ч":"ch","ш":"sh","щ":"sh","ъ":"u","ы":"y","ь":"","э":"e","ю":"yu","я":"ya","ё":"yo","ђ":"dj","є":"ye","і":"i","ї":"yi","ј":"j","љ":"lj","њ":"nj","ћ":"c","ѝ":"u","џ":"dz","Ґ":"G","ґ":"g","Ғ":"GH","ғ":"gh","Қ":"KH","қ":"kh","Ң":"NG","ң":"ng","Ү":"UE","ү":"ue","Ұ":"U","ұ":"u","Һ":"H","һ":"h","Ә":"AE","ә":"ae","Ө":"OE","ө":"oe","Ա":"A","Բ":"B","Գ":"G","Դ":"D","Ե":"E","Զ":"Z","Է":"E\'","Ը":"Y\'","Թ":"T\'","Ժ":"JH","Ի":"I","Լ":"L","Խ":"X","Ծ":"C\'","Կ":"K","Հ":"H","Ձ":"D\'","Ղ":"GH","Ճ":"TW","Մ":"M","Յ":"Y","Ն":"N","Շ":"SH","Չ":"CH","Պ":"P","Ջ":"J","Ռ":"R\'","Ս":"S","Վ":"V","Տ":"T","Ր":"R","Ց":"C","Փ":"P\'","Ք":"Q\'","Օ":"O\'\'","Ֆ":"F","և":"EV","ء":"a","آ":"aa","أ":"a","ؤ":"u","إ":"i","ئ":"e","ا":"a","ب":"b","ة":"h","ت":"t","ث":"th","ج":"j","ح":"h","خ":"kh","د":"d","ذ":"th","ر":"r","ز":"z","س":"s","ش":"sh","ص":"s","ض":"dh","ط":"t","ظ":"z","ع":"a","غ":"gh","ف":"f","ق":"q","ك":"k","ل":"l","م":"m","ن":"n","ه":"h","و":"w","ى":"a","ي":"y","ً":"an","ٌ":"on","ٍ":"en","َ":"a","ُ":"u","ِ":"e","ْ":"","٠":"0","١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","پ":"p","چ":"ch","ژ":"zh","ک":"k","گ":"g","ی":"y","۰":"0","۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","฿":"baht","ა":"a","ბ":"b","გ":"g","დ":"d","ე":"e","ვ":"v","ზ":"z","თ":"t","ი":"i","კ":"k","ლ":"l","მ":"m","ნ":"n","ო":"o","პ":"p","ჟ":"zh","რ":"r","ს":"s","ტ":"t","უ":"u","ფ":"f","ქ":"k","ღ":"gh","ყ":"q","შ":"sh","ჩ":"ch","ც":"ts","ძ":"dz","წ":"ts","ჭ":"ch","ხ":"kh","ჯ":"j","ჰ":"h","Ṣ":"S","ṣ":"s","Ẁ":"W","ẁ":"w","Ẃ":"W","ẃ":"w","Ẅ":"W","ẅ":"w","ẞ":"SS","Ạ":"A","ạ":"a","Ả":"A","ả":"a","Ấ":"A","ấ":"a","Ầ":"A","ầ":"a","Ẩ":"A","ẩ":"a","Ẫ":"A","ẫ":"a","Ậ":"A","ậ":"a","Ắ":"A","ắ":"a","Ằ":"A","ằ":"a","Ẳ":"A","ẳ":"a","Ẵ":"A","ẵ":"a","Ặ":"A","ặ":"a","Ẹ":"E","ẹ":"e","Ẻ":"E","ẻ":"e","Ẽ":"E","ẽ":"e","Ế":"E","ế":"e","Ề":"E","ề":"e","Ể":"E","ể":"e","Ễ":"E","ễ":"e","Ệ":"E","ệ":"e","Ỉ":"I","ỉ":"i","Ị":"I","ị":"i","Ọ":"O","ọ":"o","Ỏ":"O","ỏ":"o","Ố":"O","ố":"o","Ồ":"O","ồ":"o","Ổ":"O","ổ":"o","Ỗ":"O","ỗ":"o","Ộ":"O","ộ":"o","Ớ":"O","ớ":"o","Ờ":"O","ờ":"o","Ở":"O","ở":"o","Ỡ":"O","ỡ":"o","Ợ":"O","ợ":"o","Ụ":"U","ụ":"u","Ủ":"U","ủ":"u","Ứ":"U","ứ":"u","Ừ":"U","ừ":"u","Ử":"U","ử":"u","Ữ":"U","ữ":"u","Ự":"U","ự":"u","Ỳ":"Y","ỳ":"y","Ỵ":"Y","ỵ":"y","Ỷ":"Y","ỷ":"y","Ỹ":"Y","ỹ":"y","–":"-","‘":"\'","’":"\'","“":"\\"","”":"\\"","„":"\\"","†":"+","•":"*","…":"...","₠":"ecu","₢":"cruzeiro","₣":"french franc","₤":"lira","₥":"mill","₦":"naira","₧":"peseta","₨":"rupee","₩":"won","₪":"new shequel","₫":"dong","€":"euro","₭":"kip","₮":"tugrik","₯":"drachma","₰":"penny","₱":"peso","₲":"guarani","₳":"austral","₴":"hryvnia","₵":"cedi","₸":"kazakhstani tenge","₹":"indian rupee","₺":"turkish lira","₽":"russian ruble","₿":"bitcoin","℠":"sm","™":"tm","∂":"d","∆":"delta","∑":"sum","∞":"infinity","♥":"love","元":"yuan","円":"yen","﷼":"rial","ﻵ":"laa","ﻷ":"laa","ﻹ":"lai","ﻻ":"la"}'),t=JSON.parse('{"bg":{"Й":"Y","Ц":"Ts","Щ":"Sht","Ъ":"A","Ь":"Y","й":"y","ц":"ts","щ":"sht","ъ":"a","ь":"y"},"de":{"\xc4":"AE","\xe4":"ae","\xd6":"OE","\xf6":"oe","\xdc":"UE","\xfc":"ue","\xdf":"ss","%":"prozent","&":"und","|":"oder","∑":"summe","∞":"unendlich","♥":"liebe"},"es":{"%":"por ciento","&":"y","<":"menor que",">":"mayor que","|":"o","\xa2":"centavos","\xa3":"libras","\xa4":"moneda","₣":"francos","∑":"suma","∞":"infinito","♥":"amor"},"fr":{"%":"pourcent","&":"et","<":"plus petit",">":"plus grand","|":"ou","\xa2":"centime","\xa3":"livre","\xa4":"devise","₣":"franc","∑":"somme","∞":"infini","♥":"amour"},"pt":{"%":"porcento","&":"e","<":"menor",">":"maior","|":"ou","\xa2":"centavo","∑":"soma","\xa3":"libra","∞":"infinito","♥":"amor"},"uk":{"И":"Y","и":"y","Й":"Y","й":"y","Ц":"Ts","ц":"ts","Х":"Kh","х":"kh","Щ":"Shch","щ":"shch","Г":"H","г":"h"},"vi":{"Đ":"D","đ":"d"},"da":{"\xd8":"OE","\xf8":"oe","\xc5":"AA","\xe5":"aa","%":"procent","&":"og","|":"eller","$":"dollar","<":"mindre end",">":"st\xf8rre end"},"nb":{"&":"og","\xc5":"AA","\xc6":"AE","\xd8":"OE","\xe5":"aa","\xe6":"ae","\xf8":"oe"},"it":{"&":"e"},"nl":{"&":"en"},"sv":{"&":"och","\xc5":"AA","\xc4":"AE","\xd6":"OE","\xe5":"aa","\xe4":"ae","\xf6":"oe"}}');function r(r,n){if("string"!=typeof r)throw Error("slugify: string argument expected");var o=t[(n="string"==typeof n?{replacement:n}:n||{}).locale]||{},s=void 0===n.replacement?"-":n.replacement,i=void 0===n.trim||n.trim,a=r.normalize().split("").reduce(function(t,r){var i=o[r];return void 0===i&&(i=e[r]),void 0===i&&(i=r),i===s&&(i=" "),t+i.replace(n.remove||/[^\w\s$*_+~.()'"!\-:@]+/g,"")},"");return n.strict&&(a=a.replace(/[^A-Za-z0-9\s]/g,"")),i&&(a=a.trim()),a=a.replace(/\s+/g,s),n.lower&&(a=a.toLowerCase()),a}return r.extend=function(t){Object.assign(e,t)},r},e.exports=t(),e.exports.default=t()}},e=>{var t=t=>e(e.s=t);e.O(0,[130,182,744],()=>t(2442)),_N_E=e.O()}]); \ No newline at end of file +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[931],{9892:(e,t,r)=>{Promise.resolve().then(r.bind(r,2766))},2766:(e,t,r)=>{"use strict";r.d(t,{default:()=>j});var n=r(7437),o=r(7429),s=r.n(o),i=r(2265),a=r(4138),l=r(4118),c=r.n(l);function u(e){let{setSelected:t,tool:{name:r,url:o,language:s,tags:a,img:l,width:u,height:d,github:h,twitter:p,platform:f,github_stars:g,pub:m,note:v,alt_url:x,interactive:j},filters:b,setFilters:y}=e,[k,w]=(0,i.useState)(!1),A=c()(r,{remove:/[!"'()*+.:@~]/g});return(0,n.jsxs)("div",{className:"card",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{children:(0,n.jsx)("a",{id:A,href:"#",style:{color:"black",cursor:"pointer"},onClick:e=>{t({selected:"#"+A}),e.preventDefault()},children:r})}),(0,n.jsx)("p",{className:"link",children:(0,n.jsx)("a",{href:o,children:o})}),x?(0,n.jsxs)("p",{className:"link",children:["Alt url ",(0,n.jsx)("a",{href:x,children:x})]}):null,j?(0,n.jsxs)("p",{className:"interactive",children:["Interactive: ",null==j?void 0:j.join(",")]}):null,m?(0,n.jsxs)("p",{children:["Publication: ",m.url?(0,n.jsx)("a",{href:m.url,children:"(direct link)"}):null," ",m.doi?(0,n.jsx)("a",{href:m.doi.startsWith("http")?m.doi:"https://dx.doi.org/"+m.doi,children:"(doi link)"}):null," ",m.year?" (".concat(m.year,")"):null,void 0===m.citations?null:" (# citations ".concat(m.citations,")")]}):null,s?(0,n.jsxs)("p",{children:["Language:"," ",s.map((e,t)=>[t>0&&", ",(0,n.jsx)("a",{onClick:t=>{y({...b,language:e}),t.preventDefault()},children:e},e+"-"+t)])]}):null,a?(0,n.jsxs)("p",{children:["Tags:"," ",a.map((e,t)=>[t>0&&", ",(0,n.jsx)("a",{onClick:t=>{y({...b,tag:e}),t.preventDefault()},children:e},e+"-"+t)])]}):null,v?(0,n.jsxs)("p",{children:["Note: ",v]}):null,p?(0,n.jsxs)("p",{className:"link",children:["Twitter: ",(0,n.jsx)("a",{href:p,children:p})]}):null,h?(0,n.jsxs)("p",{className:"link",children:["Github: ",(0,n.jsx)("a",{href:h,children:h})]}):null,g?(0,n.jsxs)("p",{children:["Github Stargazers: ",g]}):null,f?(0,n.jsxs)("p",{children:["Platform: ",f.join(", ")]}):null]}),(0,n.jsxs)("figure",{role:"presentation",onClick:()=>w(e=>!e),children:[l?(0,n.jsx)("img",{alt:"screenshot of ".concat(r),loading:"lazy",className:k?"expanded":"",width:u,height:d,src:l}):(0,n.jsx)("p",{className:"no-screenshot",children:"No screenshot"}),k?(0,n.jsx)("div",{className:"modal-backdrop",children:(0,n.jsx)("img",{alt:"screenshot of ".concat(r),src:l})}):null]})]})}function d(e){let{tools:t,filters:r,setSelected:o,setFilters:s}=e;return t.map(e=>(0,n.jsx)(u,{tool:e,setSelected:o,setFilters:s,filters:r},e.name))}function h(e){let{tools:t,setFilters:r,filters:o}=e,s=new Set;for(let e of t)if(e.interactive)for(let t of e.interactive)s.add(t);return(0,n.jsxs)("div",{className:"form-group",children:[(0,n.jsx)("label",{htmlFor:"interactive-select",children:"Filter on interactivity: "}),(0,n.jsxs)("select",{value:o.interactive||"",id:"interactive-select",onChange:e=>r({...o,interactive:e.target.value}),children:[(0,n.jsx)("option",{value:"",children:"-- select an option --"}),[...s].sort().map(e=>(0,n.jsx)("option",{id:e,children:e},e))]})]})}function p(e){let{tools:t,setFilters:r,filters:o}=e,s=new Set;for(let e of t)if(e.platform)for(let t of e.platform)s.add(t);return(0,n.jsxs)("div",{className:"form-group",children:[(0,n.jsx)("label",{htmlFor:"platform-select",children:"Filter on platform: "}),(0,n.jsxs)("select",{value:o.platform||"",id:"platform-select",onChange:e=>r({...o,platform:e.target.value}),children:[(0,n.jsx)("option",{value:"",children:"-- select an option --"}),[...s].sort().map(e=>(0,n.jsx)("option",{id:e,children:e},e))]})]})}function f(e){let{tools:t,setFilters:r,filters:o}=e,s=new Set;for(let e of t)if(e.tags)for(let t of e.tags)s.add(t);return(0,n.jsxs)("div",{className:"form-group",children:[(0,n.jsx)("label",{htmlFor:"tag-select",children:"Filter on tag: "}),(0,n.jsxs)("select",{id:"tag-select",value:o.tag||"",onChange:e=>r({...o,tag:e.target.value}),children:[(0,n.jsx)("option",{value:"",children:"-- select an option --"}),[...s].sort().map(e=>(0,n.jsx)("option",{id:e,children:e},e))]})]})}function g(e){let{tools:t,setFilters:r,filters:o}=e,s=new Set;for(let e of t)if(e.language)for(let t of e.language)s.add(t);return(0,n.jsxs)("div",{className:"form-group",children:[(0,n.jsx)("label",{htmlFor:"language-select",children:"Filter on language: "}),(0,n.jsxs)("select",{value:o.language||"",id:"language-select",onChange:e=>r({...o,language:e.target.value}),children:[(0,n.jsx)("option",{value:"",children:"-- select an option --"}),[...s].sort().map(e=>(0,n.jsx)("option",{id:e,children:e},e))]})]})}let m=e=>e?Number(e):void 0,v=e=>e?String(e):void 0,x=e=>e?JSON.parse(e):void 0;function j(e){let{tools:t}=e,[r,o]=(0,i.useState)({}),[l,c]=(0,i.useState)(!1),[u,j]=(0,i.useState)({}),[b,y]=(0,i.useState)({}),{language:k,tag:w,platform:A,interactive:C}=r,O=(0,a.useSearchParams)(),E=O.get("selected"),S=O.get("language"),N=O.get("tag"),U=O.get("platform"),I=O.get("latest"),Y=O.get("citations"),z=O.get("year"),F=O.get("stars");(0,i.useEffect)(()=>{o({language:v(S),tag:v(N),platform:v(U)}),Y||z||F?j({citations:m(Y),year:m(z),stars:m(F)}):j({latest:x(I||"true")}),E&&y({selected:"".concat(E)})},[Y,S,I,U,E,F,N,z]),(0,i.useEffect)(()=>{let e=s().stringify({...r,...u,...b});if(e&&window.history.replaceState(null,"","?"+e),b.selected&&!l){let e=document.querySelector(b.selected);e&&e.scrollIntoView({block:"start"}),c(!0)}},[r,u,b,l]),t=u.latest?[...t].reverse():[...t];let T=u.year;void 0!==T&&(t=t.sort((e,t)=>{var r,n;return+((null===(r=e.pub)||void 0===r?void 0:r.year)||1/0*T)-+((null===(n=t.pub)||void 0===n?void 0:n.year)||1/0*T)}),-1===u.year&&(t=t.reverse()));let G=u.citations;void 0!==G&&(t=t.sort((e,t)=>{var r,n;return+((null===(r=e.pub)||void 0===r?void 0:r.citations)||1/0*G)-+((null===(n=t.pub)||void 0===n?void 0:n.citations)||1/0*G)}),-1===u.citations&&(t=t.reverse()));let D=u.stars;void 0!==D&&(t=t.sort((e,t)=>+(e.github_stars||1/0*D)-+(t.github_stars||1/0*D)),-1===u.stars&&(t=t.reverse()));let R=t.filter(e=>{var t;return!k||(null===(t=e.language)||void 0===t?void 0:t.includes(k))}).filter(e=>{var t;return!w||(null===(t=e.tags)||void 0===t?void 0:t.includes(w))}).filter(e=>{var t;return!A||(null===(t=e.platform)||void 0===t?void 0:t.includes(A))}).filter(e=>{var t;return!C||(null===(t=e.interactive)||void 0===t?void 0:t.includes(C))}),H="https://github.com/cmdcolin/awesome-genome-visualization";return(0,n.jsxs)("main",{className:"page",children:[(0,n.jsx)("h1",{children:"awesome-genome-visualization"}),(0,n.jsxs)("p",{children:["This is a companion website for the github repo"," ",(0,n.jsx)("a",{href:H,children:H})]}),(0,n.jsxs)("p",{children:["Also check out our twitter account"," ",(0,n.jsx)("a",{href:"https://twitter.com/awesomegenomev1",children:"@awesomegenomev1"})]}),(0,n.jsx)("div",{style:{maxWidth:500},children:(0,n.jsx)("p",{children:"Feel free to submit PRs to add more tools"})}),(0,n.jsxs)("p",{className:"example-buttons",children:["Filters:",(0,n.jsx)("button",{onClick:()=>o({}),children:"Clear filters"}),(0,n.jsx)("button",{onClick:()=>o({tag:"General"}),children:"General-purpose genome browsers"}),(0,n.jsx)("button",{onClick:()=>o({tag:"Comparative"}),children:"Synteny/comparative browsers"}),(0,n.jsx)("button",{onClick:()=>o({tag:"Dotplot"}),children:"Dotplot viewer"}),(0,n.jsx)("button",{onClick:()=>o({tag:"MSA"}),children:"MSA viewer"}),(0,n.jsx)("button",{onClick:()=>o({tag:"Graph"}),children:"Graph genome"}),(0,n.jsx)("button",{onClick:()=>o({tag:"Text based"}),children:"Text based"})]}),(0,n.jsxs)("p",{className:"example-buttons",children:[(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),(0,n.jsx)("b",{children:"Before clicking these sort routines: Try to avoid being unfairly biased by citation numbers and github stars!! Best effort was made to find the right DOI and github repo"}),(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),"Sorts:",(0,n.jsx)("button",{onClick:()=>j({latest:!0}),children:"Recently added"}),(0,n.jsx)("button",{onClick:()=>j({latest:!1}),children:"Least recently added"}),(0,n.jsx)("button",{onClick:()=>j({year:-1}),children:"Year (dec)"}),(0,n.jsx)("button",{onClick:()=>j({year:1}),children:"Year (asc)"}),(0,n.jsx)("button",{onClick:()=>j({citations:-1}),children:"Number citations (dec)"}),(0,n.jsx)("button",{onClick:()=>j({citations:1}),children:"Number citations (asc)"}),(0,n.jsx)("button",{onClick:()=>j({stars:-1}),children:"Github stars (dec)"}),(0,n.jsx)("button",{onClick:()=>j({stars:1}),children:"Github stars (asc)"})]}),(0,n.jsxs)("p",{className:"example-buttons",children:["Selection:",(0,n.jsx)("button",{onClick:()=>y({}),children:"Clear selection"})]}),(0,n.jsxs)("div",{id:"filters",children:[(0,n.jsx)(f,{tools:t,filters:r,setFilters:o}),(0,n.jsx)(g,{tools:t,filters:r,setFilters:o}),(0,n.jsx)(p,{tools:t,filters:r,setFilters:o}),(0,n.jsx)(h,{tools:t,filters:r,setFilters:o}),(0,n.jsx)("span",{children:"Note: tagging interactivity is a work in progress (as are other tags, feel free to contribute on github)"})]}),(0,n.jsx)(d,{filters:r,tools:R,setSelected:y,setFilters:o}),(0,n.jsx)("p",{children:"Note: if you would like your tool removed or screenshot removed (for copyright purposes for example) let me know"}),(0,n.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:20,height:20,onClick:()=>window.scrollTo(0,0),className:"top-link",viewBox:"0 0 12 6",children:(0,n.jsx)("path",{d:"M12 6H0l6-6z"})})]})}},7429:e=>{!function(){"use strict";var t={815:function(e){e.exports=function(e,r,n,o){r=r||"&",n=n||"=";var s={};if("string"!=typeof e||0===e.length)return s;var i=/\+/g;e=e.split(r);var a=1e3;o&&"number"==typeof o.maxKeys&&(a=o.maxKeys);var l=e.length;a>0&&l>a&&(l=a);for(var c=0;c=0?(u=f.substr(0,g),d=f.substr(g+1)):(u=f,d=""),h=decodeURIComponent(u),p=decodeURIComponent(d),Object.prototype.hasOwnProperty.call(s,h))?t(s[h])?s[h].push(p):s[h]=[s[h],p]:s[h]=p}return s};var t=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}},577:function(e){var t=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}};e.exports=function(e,s,i,a){return(s=s||"&",i=i||"=",null===e&&(e=void 0),"object"==typeof e)?n(o(e),function(o){var a=encodeURIComponent(t(o))+i;return r(e[o])?n(e[o],function(e){return a+encodeURIComponent(t(e))}).join(s):a+encodeURIComponent(t(e[o]))}).join(s):a?encodeURIComponent(t(a))+i+encodeURIComponent(t(e)):""};var r=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};function n(e,t){if(e.map)return e.map(t);for(var r=[],n=0;n":"greater","|":"or","\xa2":"cent","\xa3":"pound","\xa4":"currency","\xa5":"yen","\xa9":"(c)","\xaa":"a","\xae":"(r)","\xba":"o","\xc0":"A","\xc1":"A","\xc2":"A","\xc3":"A","\xc4":"A","\xc5":"A","\xc6":"AE","\xc7":"C","\xc8":"E","\xc9":"E","\xca":"E","\xcb":"E","\xcc":"I","\xcd":"I","\xce":"I","\xcf":"I","\xd0":"D","\xd1":"N","\xd2":"O","\xd3":"O","\xd4":"O","\xd5":"O","\xd6":"O","\xd8":"O","\xd9":"U","\xda":"U","\xdb":"U","\xdc":"U","\xdd":"Y","\xde":"TH","\xdf":"ss","\xe0":"a","\xe1":"a","\xe2":"a","\xe3":"a","\xe4":"a","\xe5":"a","\xe6":"ae","\xe7":"c","\xe8":"e","\xe9":"e","\xea":"e","\xeb":"e","\xec":"i","\xed":"i","\xee":"i","\xef":"i","\xf0":"d","\xf1":"n","\xf2":"o","\xf3":"o","\xf4":"o","\xf5":"o","\xf6":"o","\xf8":"o","\xf9":"u","\xfa":"u","\xfb":"u","\xfc":"u","\xfd":"y","\xfe":"th","\xff":"y","Ā":"A","ā":"a","Ă":"A","ă":"a","Ą":"A","ą":"a","Ć":"C","ć":"c","Č":"C","č":"c","Ď":"D","ď":"d","Đ":"DJ","đ":"dj","Ē":"E","ē":"e","Ė":"E","ė":"e","Ę":"e","ę":"e","Ě":"E","ě":"e","Ğ":"G","ğ":"g","Ģ":"G","ģ":"g","Ĩ":"I","ĩ":"i","Ī":"i","ī":"i","Į":"I","į":"i","İ":"I","ı":"i","Ķ":"k","ķ":"k","Ļ":"L","ļ":"l","Ľ":"L","ľ":"l","Ł":"L","ł":"l","Ń":"N","ń":"n","Ņ":"N","ņ":"n","Ň":"N","ň":"n","Ō":"O","ō":"o","Ő":"O","ő":"o","Œ":"OE","œ":"oe","Ŕ":"R","ŕ":"r","Ř":"R","ř":"r","Ś":"S","ś":"s","Ş":"S","ş":"s","Š":"S","š":"s","Ţ":"T","ţ":"t","Ť":"T","ť":"t","Ũ":"U","ũ":"u","Ū":"u","ū":"u","Ů":"U","ů":"u","Ű":"U","ű":"u","Ų":"U","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","ź":"z","Ż":"Z","ż":"z","Ž":"Z","ž":"z","Ə":"E","ƒ":"f","Ơ":"O","ơ":"o","Ư":"U","ư":"u","Lj":"LJ","lj":"lj","Nj":"NJ","nj":"nj","Ș":"S","ș":"s","Ț":"T","ț":"t","ə":"e","˚":"o","Ά":"A","Έ":"E","Ή":"H","Ί":"I","Ό":"O","Ύ":"Y","Ώ":"W","ΐ":"i","Α":"A","Β":"B","Γ":"G","Δ":"D","Ε":"E","Ζ":"Z","Η":"H","Θ":"8","Ι":"I","Κ":"K","Λ":"L","Μ":"M","Ν":"N","Ξ":"3","Ο":"O","Π":"P","Ρ":"R","Σ":"S","Τ":"T","Υ":"Y","Φ":"F","Χ":"X","Ψ":"PS","Ω":"W","Ϊ":"I","Ϋ":"Y","ά":"a","έ":"e","ή":"h","ί":"i","ΰ":"y","α":"a","β":"b","γ":"g","δ":"d","ε":"e","ζ":"z","η":"h","θ":"8","ι":"i","κ":"k","λ":"l","μ":"m","ν":"n","ξ":"3","ο":"o","π":"p","ρ":"r","ς":"s","σ":"s","τ":"t","υ":"y","φ":"f","χ":"x","ψ":"ps","ω":"w","ϊ":"i","ϋ":"y","ό":"o","ύ":"y","ώ":"w","Ё":"Yo","Ђ":"DJ","Є":"Ye","І":"I","Ї":"Yi","Ј":"J","Љ":"LJ","Њ":"NJ","Ћ":"C","Џ":"DZ","А":"A","Б":"B","В":"V","Г":"G","Д":"D","Е":"E","Ж":"Zh","З":"Z","И":"I","Й":"J","К":"K","Л":"L","М":"M","Н":"N","О":"O","П":"P","Р":"R","С":"S","Т":"T","У":"U","Ф":"F","Х":"H","Ц":"C","Ч":"Ch","Ш":"Sh","Щ":"Sh","Ъ":"U","Ы":"Y","Ь":"","Э":"E","Ю":"Yu","Я":"Ya","а":"a","б":"b","в":"v","г":"g","д":"d","е":"e","ж":"zh","з":"z","и":"i","й":"j","к":"k","л":"l","м":"m","н":"n","о":"o","п":"p","р":"r","с":"s","т":"t","у":"u","ф":"f","х":"h","ц":"c","ч":"ch","ш":"sh","щ":"sh","ъ":"u","ы":"y","ь":"","э":"e","ю":"yu","я":"ya","ё":"yo","ђ":"dj","є":"ye","і":"i","ї":"yi","ј":"j","љ":"lj","њ":"nj","ћ":"c","ѝ":"u","џ":"dz","Ґ":"G","ґ":"g","Ғ":"GH","ғ":"gh","Қ":"KH","қ":"kh","Ң":"NG","ң":"ng","Ү":"UE","ү":"ue","Ұ":"U","ұ":"u","Һ":"H","һ":"h","Ә":"AE","ә":"ae","Ө":"OE","ө":"oe","Ա":"A","Բ":"B","Գ":"G","Դ":"D","Ե":"E","Զ":"Z","Է":"E\'","Ը":"Y\'","Թ":"T\'","Ժ":"JH","Ի":"I","Լ":"L","Խ":"X","Ծ":"C\'","Կ":"K","Հ":"H","Ձ":"D\'","Ղ":"GH","Ճ":"TW","Մ":"M","Յ":"Y","Ն":"N","Շ":"SH","Չ":"CH","Պ":"P","Ջ":"J","Ռ":"R\'","Ս":"S","Վ":"V","Տ":"T","Ր":"R","Ց":"C","Փ":"P\'","Ք":"Q\'","Օ":"O\'\'","Ֆ":"F","և":"EV","ء":"a","آ":"aa","أ":"a","ؤ":"u","إ":"i","ئ":"e","ا":"a","ب":"b","ة":"h","ت":"t","ث":"th","ج":"j","ح":"h","خ":"kh","د":"d","ذ":"th","ر":"r","ز":"z","س":"s","ش":"sh","ص":"s","ض":"dh","ط":"t","ظ":"z","ع":"a","غ":"gh","ف":"f","ق":"q","ك":"k","ل":"l","م":"m","ن":"n","ه":"h","و":"w","ى":"a","ي":"y","ً":"an","ٌ":"on","ٍ":"en","َ":"a","ُ":"u","ِ":"e","ْ":"","٠":"0","١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","پ":"p","چ":"ch","ژ":"zh","ک":"k","گ":"g","ی":"y","۰":"0","۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","฿":"baht","ა":"a","ბ":"b","გ":"g","დ":"d","ე":"e","ვ":"v","ზ":"z","თ":"t","ი":"i","კ":"k","ლ":"l","მ":"m","ნ":"n","ო":"o","პ":"p","ჟ":"zh","რ":"r","ს":"s","ტ":"t","უ":"u","ფ":"f","ქ":"k","ღ":"gh","ყ":"q","შ":"sh","ჩ":"ch","ც":"ts","ძ":"dz","წ":"ts","ჭ":"ch","ხ":"kh","ჯ":"j","ჰ":"h","Ṣ":"S","ṣ":"s","Ẁ":"W","ẁ":"w","Ẃ":"W","ẃ":"w","Ẅ":"W","ẅ":"w","ẞ":"SS","Ạ":"A","ạ":"a","Ả":"A","ả":"a","Ấ":"A","ấ":"a","Ầ":"A","ầ":"a","Ẩ":"A","ẩ":"a","Ẫ":"A","ẫ":"a","Ậ":"A","ậ":"a","Ắ":"A","ắ":"a","Ằ":"A","ằ":"a","Ẳ":"A","ẳ":"a","Ẵ":"A","ẵ":"a","Ặ":"A","ặ":"a","Ẹ":"E","ẹ":"e","Ẻ":"E","ẻ":"e","Ẽ":"E","ẽ":"e","Ế":"E","ế":"e","Ề":"E","ề":"e","Ể":"E","ể":"e","Ễ":"E","ễ":"e","Ệ":"E","ệ":"e","Ỉ":"I","ỉ":"i","Ị":"I","ị":"i","Ọ":"O","ọ":"o","Ỏ":"O","ỏ":"o","Ố":"O","ố":"o","Ồ":"O","ồ":"o","Ổ":"O","ổ":"o","Ỗ":"O","ỗ":"o","Ộ":"O","ộ":"o","Ớ":"O","ớ":"o","Ờ":"O","ờ":"o","Ở":"O","ở":"o","Ỡ":"O","ỡ":"o","Ợ":"O","ợ":"o","Ụ":"U","ụ":"u","Ủ":"U","ủ":"u","Ứ":"U","ứ":"u","Ừ":"U","ừ":"u","Ử":"U","ử":"u","Ữ":"U","ữ":"u","Ự":"U","ự":"u","Ỳ":"Y","ỳ":"y","Ỵ":"Y","ỵ":"y","Ỷ":"Y","ỷ":"y","Ỹ":"Y","ỹ":"y","–":"-","‘":"\'","’":"\'","“":"\\"","”":"\\"","„":"\\"","†":"+","•":"*","…":"...","₠":"ecu","₢":"cruzeiro","₣":"french franc","₤":"lira","₥":"mill","₦":"naira","₧":"peseta","₨":"rupee","₩":"won","₪":"new shequel","₫":"dong","€":"euro","₭":"kip","₮":"tugrik","₯":"drachma","₰":"penny","₱":"peso","₲":"guarani","₳":"austral","₴":"hryvnia","₵":"cedi","₸":"kazakhstani tenge","₹":"indian rupee","₺":"turkish lira","₽":"russian ruble","₿":"bitcoin","℠":"sm","™":"tm","∂":"d","∆":"delta","∑":"sum","∞":"infinity","♥":"love","元":"yuan","円":"yen","﷼":"rial","ﻵ":"laa","ﻷ":"laa","ﻹ":"lai","ﻻ":"la"}'),t=JSON.parse('{"bg":{"Й":"Y","Ц":"Ts","Щ":"Sht","Ъ":"A","Ь":"Y","й":"y","ц":"ts","щ":"sht","ъ":"a","ь":"y"},"de":{"\xc4":"AE","\xe4":"ae","\xd6":"OE","\xf6":"oe","\xdc":"UE","\xfc":"ue","\xdf":"ss","%":"prozent","&":"und","|":"oder","∑":"summe","∞":"unendlich","♥":"liebe"},"es":{"%":"por ciento","&":"y","<":"menor que",">":"mayor que","|":"o","\xa2":"centavos","\xa3":"libras","\xa4":"moneda","₣":"francos","∑":"suma","∞":"infinito","♥":"amor"},"fr":{"%":"pourcent","&":"et","<":"plus petit",">":"plus grand","|":"ou","\xa2":"centime","\xa3":"livre","\xa4":"devise","₣":"franc","∑":"somme","∞":"infini","♥":"amour"},"pt":{"%":"porcento","&":"e","<":"menor",">":"maior","|":"ou","\xa2":"centavo","∑":"soma","\xa3":"libra","∞":"infinito","♥":"amor"},"uk":{"И":"Y","и":"y","Й":"Y","й":"y","Ц":"Ts","ц":"ts","Х":"Kh","х":"kh","Щ":"Shch","щ":"shch","Г":"H","г":"h"},"vi":{"Đ":"D","đ":"d"},"da":{"\xd8":"OE","\xf8":"oe","\xc5":"AA","\xe5":"aa","%":"procent","&":"og","|":"eller","$":"dollar","<":"mindre end",">":"st\xf8rre end"},"nb":{"&":"og","\xc5":"AA","\xc6":"AE","\xd8":"OE","\xe5":"aa","\xe6":"ae","\xf8":"oe"},"it":{"&":"e"},"nl":{"&":"en"},"sv":{"&":"och","\xc5":"AA","\xc4":"AE","\xd6":"OE","\xe5":"aa","\xe4":"ae","\xf6":"oe"}}');function r(r,n){if("string"!=typeof r)throw Error("slugify: string argument expected");var o=t[(n="string"==typeof n?{replacement:n}:n||{}).locale]||{},s=void 0===n.replacement?"-":n.replacement,i=void 0===n.trim||n.trim,a=r.normalize().split("").reduce(function(t,r){var i=o[r];return void 0===i&&(i=e[r]),void 0===i&&(i=r),i===s&&(i=" "),t+i.replace(n.remove||/[^\w\s$*_+~.()'"!\-:@]+/g,"")},"");return n.strict&&(a=a.replace(/[^A-Za-z0-9\s]/g,"")),i&&(a=a.trim()),a=a.replace(/\s+/g,s),n.lower&&(a=a.toLowerCase()),a}return r.extend=function(t){Object.assign(e,t)},r},e.exports=t(),e.exports.default=t()}},e=>{var t=t=>e(e.s=t);e.O(0,[130,182,744],()=>t(9892)),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/framework-e4547c450ea8b3b2.js b/_next/static/chunks/framework-e4547c450ea8b3b2.js deleted file mode 100644 index 1ab1a517..00000000 --- a/_next/static/chunks/framework-e4547c450ea8b3b2.js +++ /dev/null @@ -1,25 +0,0 @@ -"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[774],{6787:(e,t,n)=>{var r,l,a=n(3454),o=n(3840),i=n(7294),u=n(3935);function s(e){var t="https://react.dev/errors/"+e;if(1l||u[r]!==s[l]){var c="\n"+u[r].replace(" at new "," at ");return e.displayName&&c.includes("")&&(c=c.replace("",e.displayName)),c}while(1<=r&&0<=l);break}}}finally{R=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?O(n):""}function A(e){try{var t="";do t+=function(e){switch(e.tag){case 26:case 27:case 5:return O(e.type);case 16:return O("Lazy");case 13:return O("Suspense");case 19:return O("SuspenseList");case 0:case 15:return e=F(e.type,!1);case 11:return e=F(e.type.render,!1);case 1:return e=F(e.type,!0);default:return""}}(e),e=e.return;while(e);return t}catch(e){return"\nError generating stack: "+e.message+"\n"+e.stack}}function D(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do 0!=(4098&(t=e).flags)&&(n=t.return),e=t.return;while(e)}return 3===t.tag?n:null}function M(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&null!==(e=e.alternate)&&(t=e.memoizedState),null!==t)return t.dehydrated}return null}function I(e){if(D(e)!==e)throw Error(s(188))}function U(e){return null!==(e=function(e){var t=e.alternate;if(!t){if(null===(t=D(e)))throw Error(s(188));return t!==e?null:e}for(var n=e,r=t;;){var l=n.return;if(null===l)break;var a=l.alternate;if(null===a){if(null!==(r=l.return)){n=r;continue}break}if(l.child===a.child){for(a=l.child;a;){if(a===n)return I(l),e;if(a===r)return I(l),t;a=a.sibling}throw Error(s(188))}if(n.return!==r.return)n=l,r=a;else{for(var o=!1,i=l.child;i;){if(i===n){o=!0,n=l,r=a;break}if(i===r){o=!0,r=l,n=a;break}i=i.sibling}if(!o){for(i=a.child;i;){if(i===n){o=!0,n=a,r=l;break}if(i===r){o=!0,r=a,n=l;break}i=i.sibling}if(!o)throw Error(s(189))}}if(n.alternate!==r)throw Error(s(190))}if(3!==n.tag)throw Error(s(188));return n.stateNode.current===n?e:t}(e))?function e(t){var n=t.tag;if(5===n||26===n||27===n||6===n)return t;for(t=t.child;null!==t;){if(null!==(n=e(t)))return n;t=t.sibling}return null}(e):null}var H=Array.isArray,j=u.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,$={pending:!1,data:null,method:null,action:null},V=[],B=-1;function W(e){return{current:e}}function Q(e){0>B||(e.current=V[B],V[B]=null,B--)}function q(e,t){V[++B]=e.current,e.current=t}var K=W(null),Y=W(null),G=W(null),X=W(null),Z={$$typeof:b,Provider:null,Consumer:null,_currentValue:null,_currentValue2:null,_threadCount:0};function J(e,t){switch(q(G,t),q(Y,e),q(K,null),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)&&(t=t.namespaceURI)?u3(t):0;break;default:if(t=(e=8===e?t.parentNode:t).tagName,e=e.namespaceURI)t=u4(e=u3(e),t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}Q(K),q(K,t)}function ee(){Q(K),Q(Y),Q(G)}function et(e){null!==e.memoizedState&&q(X,e);var t=K.current,n=u4(t,e.type);t!==n&&(q(Y,e),q(K,n))}function en(e){Y.current===e&&(Q(K),Q(Y)),X.current===e&&(Q(X),Z._currentValue=null)}var er=Object.prototype.hasOwnProperty,el=o.unstable_scheduleCallback,ea=o.unstable_cancelCallback,eo=o.unstable_shouldYield,ei=o.unstable_requestPaint,eu=o.unstable_now,es=o.unstable_getCurrentPriorityLevel,ec=o.unstable_ImmediatePriority,ef=o.unstable_UserBlockingPriority,ed=o.unstable_NormalPriority,ep=o.unstable_LowPriority,eh=o.unstable_IdlePriority,em=o.log,eg=o.unstable_setDisableYieldValue,ey=null,ev=null;function eb(e){if("function"==typeof em&&eg(e),ev&&"function"==typeof ev.setStrictMode)try{ev.setStrictMode(ey,e)}catch(e){}}var ek=Math.clz32?Math.clz32:function(e){return 0==(e>>>=0)?32:31-(ew(e)/eS|0)|0},ew=Math.log,eS=Math.LN2,eE=128,ex=4194304;function eC(e){var t=42&e;if(0!==t)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194176&e;case 4194304:case 8388608:case 16777216:case 33554432:return 62914560&e;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function e_(e,t){var n=e.pendingLanes;if(0===n)return 0;var r=0,l=e.suspendedLanes;e=e.pingedLanes;var a=134217727&n;return 0!==a?0!=(n=a&~l)?r=eC(n):0!=(e&=a)&&(r=eC(e)):0!=(n&=~l)?r=eC(n):0!==e&&(r=eC(e)),0===r?0:0!==t&&t!==r&&0==(t&l)&&((l=r&-r)>=(e=t&-t)||32===l&&0!=(4194176&e))?t:r}function eP(e,t){return e.errorRecoveryDisabledLanes&t?0:0!=(e=-536870913&e.pendingLanes)?e:536870912&e?536870912:0}function ez(){var e=eE;return 0==(4194176&(eE<<=1))&&(eE=128),e}function eN(){var e=ex;return 0==(62914560&(ex<<=1))&&(ex=4194304),e}function eT(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function eL(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var r=31-ek(t);e.entangledLanes|=t,e.entanglements[r]=1073741824|e.entanglements[r]|4194218&n}function eO(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-ek(n),l=1<=t9),nn=!1;function nr(e,t){switch(e){case"keyup":return -1!==t8.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function nl(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var na=!1,no={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function ni(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!no[e.type]:"textarea"===t}function nu(e,t,n,r){tk?tw?tw.push(r):tw=[r]:tk=r,0<(t=u$(t,"onChange")).length&&(n=new tH("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var ns=null,nc=null;function nf(e){uF(e,0)}function nd(e){if(te(eq(e)))return e}function np(e,t){if("change"===e)return t}var nh=!1;if(e0){if(e0){var nm="oninput"in document;if(!nm){var ng=document.createElement("div");ng.setAttribute("oninput","return;"),nm="function"==typeof ng.oninput}r=nm}else r=!1;nh=r&&(!document.documentMode||9=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=nC(r)}}function nP(){for(var e=window,t=tt();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(e){n=!1}if(n)e=t.contentWindow;else break;t=tt(e.document)}return t}function nz(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}var nN=e0&&"documentMode"in document&&11>=document.documentMode,nT=null,nL=null,nO=null,nR=!1;function nF(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;nR||null==nT||nT!==tt(r)||(r="selectionStart"in(r=nT)&&nz(r)?{start:r.selectionStart,end:r.selectionEnd}:{anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},nO&&nx(nO,r)||(nO=r,0<(r=u$(nL,"onSelect")).length&&(t=new tH("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=nT)))}function nA(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var nD={animationend:nA("Animation","AnimationEnd"),animationiteration:nA("Animation","AnimationIteration"),animationstart:nA("Animation","AnimationStart"),transitionrun:nA("Transition","TransitionRun"),transitionstart:nA("Transition","TransitionStart"),transitioncancel:nA("Transition","TransitionCancel"),transitionend:nA("Transition","TransitionEnd")},nM={},nI={};function nU(e){if(nM[e])return nM[e];if(!nD[e])return e;var t,n=nD[e];for(t in n)if(n.hasOwnProperty(t)&&t in nI)return nM[e]=n[t];return e}e0&&(nI=document.createElement("div").style,"AnimationEvent"in window||(delete nD.animationend.animation,delete nD.animationiteration.animation,delete nD.animationstart.animation),"TransitionEvent"in window||delete nD.transitionend.transition);var nH=nU("animationend"),nj=nU("animationiteration"),n$=nU("animationstart"),nV=nU("transitionrun"),nB=nU("transitionstart"),nW=nU("transitioncancel"),nQ=nU("transitionend"),nq=new Map,nK="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll scrollEnd toggle touchMove waiting wheel".split(" ");function nY(e,t){nq.set(e,t),eZ(t,[e])}var nG=[],nX=0,nZ=0;function nJ(){for(var e=nX,t=nZ=nX=0;t>=o,l-=o,ra=1<<32-ek(t)+l|n<d?(p=f,f=null):p=f.sibling;var h=g(l,f,i[d],u);if(null===h){null===f&&(f=p);break}e&&f&&null===h.alternate&&t(l,f),o=a(h,o,d),null===c?s=h:c.sibling=h,c=h,f=p}if(d===i.length)return n(l,f),rp&&ri(l,d),s;if(null===f){for(;dp?(h=d,d=null):h=d.sibling;var b=g(l,d,v.value,u);if(null===b){null===d&&(d=h);break}e&&d&&null===b.alternate&&t(l,d),o=a(b,o,p),null===f?c=b:f.sibling=b,f=b,d=h}if(v.done)return n(l,d),rp&&ri(l,p),c;if(null===d){for(;!v.done;p++,v=i.next())null!==(v=m(l,v.value,u))&&(o=a(v,o,p),null===f?c=v:f.sibling=v,f=v);return rp&&ri(l,p),c}for(d=r(d);!v.done;p++,v=i.next())null!==(v=y(d,l,p,v.value,u))&&(e&&null!==v.alternate&&d.delete(null===v.key?p:v.key),o=a(v,o,p),null===f?c=v:f.sibling=v,f=v);return e&&d.forEach(function(e){return t(l,e)}),rp&&ri(l,p),c}(u,c,f=w.call(f),v)}if("function"==typeof f.then)return i(u,c,rR(f),v);if(f.$$typeof===b)return i(u,c,on(u,f,v),v);rA(u,f)}return"string"==typeof f&&""!==f||"number"==typeof f||"bigint"==typeof f?(f=""+f,null!==c&&6===c.tag?(n(u,c.sibling),(c=l(c,f)).return=u):(n(u,c),(c=is(f,u.mode,v)).return=u),o(u=c)):n(u,c)}(i,u,c,f),rL=null,i}}var rI=rM(!0),rU=rM(!1),rH=W(null),rj=W(0);function r$(e,t){q(rj,e=iP),q(rH,t),iP=e|t.baseLanes}function rV(){q(rj,iP),q(rH,rH.current)}function rB(){iP=rj.current,Q(rH),Q(rj)}var rW=W(null),rQ=null;function rq(e){var t=e.alternate;q(rX,1&rX.current),q(rW,e),null===rQ&&(null===t||null!==rH.current?rQ=e:null!==t.memoizedState&&(rQ=e))}function rK(e){if(22===e.tag){if(q(rX,rX.current),q(rW,e),null===rQ){var t=e.alternate;null!==t&&null!==t.memoizedState&&(rQ=e)}}else rY(e)}function rY(){q(rX,rX.current),q(rW,rW.current)}function rG(e){Q(rW),rQ===e&&(rQ=null),Q(rX)}var rX=W(0);function rZ(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!=(128&t.flags))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var rJ="undefined"!=typeof AbortController?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(t,n){e.push(n)}};this.abort=function(){t.aborted=!0,e.forEach(function(e){return e()})}},r0=o.unstable_scheduleCallback,r1=o.unstable_NormalPriority,r2={$$typeof:b,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function r3(){return{controller:new rJ,data:new Map,refCount:0}}function r4(e){e.refCount--,0===e.refCount&&r0(r1,function(){e.controller.abort()})}var r6=null,r5=0,r8=0,r7=null;function r9(){if(null!==r6&&0==--r5){null!==r7&&(r7.status="fulfilled");var e=r6;r6=null,r8=0,r7=null;for(var t=0;ta?a:8;var o=T.T,i={};T.T=i,ap(e,!1,t,n);try{var u=l(),s=T.S;if(null!==s&&s(i,u),null!==u&&"object"==typeof u&&"function"==typeof u.then){var c,f,d=(c=[],f={status:"pending",value:null,reason:null,then:function(e){c.push(e)}},u.then(function(){f.status="fulfilled",f.value=r;for(var e=0;e title"))),uZ(l,r,n),l[eD]=e,eY(l),r=l;break e;case"link":var a=sE("link","href",t).get(r+(n.href||""));if(a){for(var o=0;o",e=e.removeChild(e.firstChild);break;case"select":e="string"==typeof r.is?l.createElement("select",{is:r.is}):l.createElement("select"),r.multiple?e.multiple=!0:r.size&&(e.size=r.size);break;default:e="string"==typeof r.is?l.createElement(n,{is:r.is}):l.createElement(n)}}e[eD]=t,e[eM]=r;e:for(l=t.child;null!==l;){if(5===l.tag||6===l.tag)e.appendChild(l.stateNode);else if(4!==l.tag&&27!==l.tag&&null!==l.child){l.child.return=l,l=l.child;continue}if(l===t)break;for(;null===l.sibling;){if(null===l.return||l.return===t)break e;l=l.return}l.sibling.return=l.return,l=l.sibling}switch(t.stateNode=e,uZ(e,n,r),n){case"button":case"input":case"select":case"textarea":e=!!r.autoFocus;break;case"img":e=!0;break;default:e=!1}e&&id(t)}}return ig(t),t.flags&=-16777217,null;case 6:if(e&&null!=t.stateNode)e.memoizedProps!==r&&id(t);else{if("string"!=typeof r&&null===t.stateNode)throw Error(s(166));if(e=G.current,rk(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,null!==(l=rf))switch(l.tag){case 27:case 5:r=l.memoizedProps}e[eD]=t,(e=!!(e.nodeValue===n||null!==r&&!0===r.suppressHydrationWarning||uK(e.nodeValue,n)))||ry(t)}else(e=u2(e).createTextNode(r))[eD]=t,t.stateNode=e}return ig(t),null;case 13:if(r=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(l=rk(t),null!==r&&null!==r.dehydrated){if(null===e){if(!l)throw Error(s(318));if(!(l=null!==(l=t.memoizedState)?l.dehydrated:null))throw Error(s(317));l[eD]=t}else rw(),0==(128&t.flags)&&(t.memoizedState=null),t.flags|=4;ig(t),l=!1}else null!==rh&&(iJ(rh),rh=null),l=!0;if(!l){if(256&t.flags)return rG(t),t;return rG(t),null}}if(rG(t),0!=(128&t.flags))return t.lanes=n,t;if(n=null!==r,e=null!==e&&null!==e.memoizedState,n){r=t.child,l=null,null!==r.alternate&&null!==r.alternate.memoizedState&&null!==r.alternate.memoizedState.cachePool&&(l=r.alternate.memoizedState.cachePool.pool);var a=null;null!==r.memoizedState&&null!==r.memoizedState.cachePool&&(a=r.memoizedState.cachePool.pool),a!==l&&(r.flags|=2048)}return n!==e&&n&&(t.child.flags|=8192),ih(t,t.updateQueue),ig(t),null;case 4:return ee(),null===e&&uI(t.stateNode.containerInfo),ig(t),null;case 10:return a8(t.type),ig(t),null;case 19:if(Q(rX),null===(l=t.memoizedState))return ig(t),null;if(r=0!=(128&t.flags),null===(a=l.rendering)){if(r)im(l,!1);else{if(0!==iz||null!==e&&0!=(128&e.flags))for(e=t.child;null!==e;){if(null!==(a=rZ(e))){for(t.flags|=128,im(l,!1),e=a.updateQueue,t.updateQueue=e,ih(t,e),t.subtreeFlags=0,e=n,n=t.child;null!==n;)ia(n,e),n=n.sibling;return q(rX,1&rX.current|2),t.child}e=e.sibling}null!==l.tail&&eu()>iI&&(t.flags|=128,r=!0,im(l,!1),t.lanes=4194304)}}else{if(!r){if(null!==(e=rZ(a))){if(t.flags|=128,r=!0,e=e.updateQueue,t.updateQueue=e,ih(t,e),im(l,!0),null===l.tail&&"hidden"===l.tailMode&&!a.alternate&&!rp)return ig(t),null}else 2*eu()-l.renderingStartTime>iI&&536870912!==n&&(t.flags|=128,r=!0,im(l,!1),t.lanes=4194304)}l.isBackwards?(a.sibling=t.child,t.child=a):(null!==(e=l.last)?e.sibling=a:t.child=a,l.last=a)}if(null!==l.tail)return t=l.tail,l.rendering=t,l.tail=t.sibling,l.renderingStartTime=eu(),t.sibling=null,e=rX.current,q(rX,r?1&e|2:1&e),t;return ig(t),null;case 22:case 23:return rG(t),rB(),r=null!==t.memoizedState,null!==e?null!==e.memoizedState!==r&&(t.flags|=8192):r&&(t.flags|=8192),r?0!=(536870912&n)&&0==(128&t.flags)&&(ig(t),6&t.subtreeFlags&&(t.flags|=8192)):ig(t),null!==(n=t.updateQueue)&&ih(t,n.retryQueue),n=null,null!==e&&null!==e.memoizedState&&null!==e.memoizedState.cachePool&&(n=e.memoizedState.cachePool.pool),r=null,null!==t.memoizedState&&null!==t.memoizedState.cachePool&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),null!==e&&Q(lt),null;case 24:return n=null,null!==e&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),a8(r2),ig(t),null;case 25:return null}throw Error(s(156,t.tag))}(t.alternate,t,iP);if(null!==n){iS=n;return}if(null!==(t=t.sibling)){iS=t;return}iS=t=e}while(null!==t);0===iz&&(iz=5)}function uo(e,t,n,r,l){var a=T.T,o=j.p;try{j.p=2,T.T=null,function(e,t,n,r,l,a){do uu();while(null!==i$);if(0!=(6&ik))throw Error(s(327));var o,i=e.finishedWork,u=e.finishedLanes;if(null!==i){if(e.finishedWork=null,e.finishedLanes=0,i===e.current)throw Error(s(177));e.callbackNode=null,e.callbackPriority=0,e.cancelPendingCommit=null;var c=i.lanes|i.childLanes;if(function(e,t,n){var r=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.entangledLanes&=t,e.errorRecoveryDisabledLanes&=t,e.shellSuspendCounter=0,t=e.entanglements;for(var l=e.expirationTimes,a=e.hiddenUpdates;0r&&(l=r,r=a,a=l),l=n_(n,a);var o=n_(n,r);l&&o&&(1!==e.rangeCount||e.anchorNode!==l.node||e.anchorOffset!==l.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&((t=t.createRange()).setStart(l.node,l.offset),e.removeAllRanges(),a>r?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for("function"==typeof n.focus&&n.focus(),n=0;nn?32:n,T.T=null,null===i$)var a=!1;else{n=iW,iW=null;var o=i$,i=iV;if(i$=null,iV=0,0!=(6&ik))throw Error(s(331));var u=ik;if(ik|=4,o7(o.current),o1(o,o.current,i,n),ik=u,ux(),ev&&"function"==typeof ev.onPostCommitFiberRoot)try{ev.onPostCommitFiberRoot(ey,o)}catch(e){}a=!0}return a}finally{j.p=l,T.T=r,ui(e,t)}}return!1}function us(e,t,n){t=n8(n,t),t=aP(e.stateNode,t,2),null!==(e=ou(e,t,2))&&(i1(e,2),uE(e))}function uc(e,t,n){if(3===e.tag)us(e,e,n);else for(;null!==t;){if(3===t.tag){us(t,e,n);break}if(1===t.tag){var r=t.stateNode;if("function"==typeof t.type.getDerivedStateFromError||"function"==typeof r.componentDidCatch&&(null===iH||!iH.has(r))){e=n8(n,e),null!==(r=ou(t,n=az(2),2))&&(aN(n,r,t,e),i1(r,2),uE(r));break}}t=t.return}}function uf(e,t,n){var r=e.pingCache;if(null===r){r=e.pingCache=new ib;var l=new Set;r.set(t,l)}else void 0===(l=r.get(t))&&(l=new Set,r.set(t,l));l.has(n)||(i_=!0,l.add(n),e=ud.bind(null,e,t,n),t.then(e,e))}function ud(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,2&ik?iA=!0:4&ik&&(iD=!0),ug(),iw===e&&(iE&n)===n&&(4===iz||3===iz&&(62914560&iE)===iE&&300>eu()-iM?0==(2&ik)&&i6(e,0):iL|=n),uE(e)}function up(e,t){0===t&&(t=eN()),null!==(e=n2(e,t))&&(i1(e,t),uE(e))}function uh(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),up(e,n)}function um(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;null!==l&&(n=l.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(s(314))}null!==r&&r.delete(t),up(e,n)}function ug(){if(50 title"):null)}function sC(e){return"stylesheet"!==e.type||0!=(3&e.state.loading)}var s_=null;function sP(){}function sz(){if(this.count--,0===this.count){if(this.stylesheets)sT(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var sN=null;function sT(e,t){e.stylesheets=null,null!==e.unsuspend&&(e.count++,sN=new Map,t.forEach(sL,e),sN=null,sz.call(e))}function sL(e,t){if(!(4&t.state.loading)){var n=sN.get(e);if(n)var r=n.get(null);else{n=new Map,sN.set(e,n);for(var l=e.querySelectorAll("link[data-precedence],style[data-precedence]"),a=0;a{/** - * @license React - * react-dom.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function r(e){var t="https://react.dev/errors/"+e;if(1{!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=n(6787)},3935:(e,t,n)=>{!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=n(7015)},631:(e,t)=>{/** - * @license React - * react-jsx-runtime.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var n=Symbol.for("react.transitional.element"),r=Symbol.for("react.fragment");function l(e,t,r){var l=null;if(void 0!==r&&(l=""+r),void 0!==t.key&&(l=""+t.key),"key"in t)for(var a in r={},t)"key"!==a&&(r[a]=t[a]);else r=t;return{$$typeof:n,type:e,key:l,ref:void 0!==(t=r.ref)?t:null,props:r}}t.Fragment=r,t.jsx=l,t.jsxs=l},8405:(e,t,n)=>{var r=n(3454),l=Symbol.for("react.transitional.element"),a=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),u=Symbol.for("react.profiler"),s=Symbol.for("react.consumer"),c=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),m=Symbol.iterator,g={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},y=Object.assign,v={};function b(e,t,n){this.props=e,this.context=t,this.refs=v,this.updater=n||g}function k(){}function w(e,t,n){this.props=e,this.context=t,this.refs=v,this.updater=n||g}b.prototype.isReactComponent={},b.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},b.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},k.prototype=b.prototype;var S=w.prototype=new k;S.constructor=w,y(S,b.prototype),S.isPureReactComponent=!0;var E=Array.isArray,x={H:null,A:null,T:null,S:null},C=Object.prototype.hasOwnProperty;function _(e,t,n,r,a,o,i){return{$$typeof:l,type:e,key:t,ref:void 0!==(n=i.ref)?n:null,props:i}}function P(e){return"object"==typeof e&&null!==e&&e.$$typeof===l}var z=/\/+/g;function N(e,t){var n,r;return"object"==typeof e&&null!==e&&null!=e.key?(n=""+e.key,r={"=":"=0",":":"=2"},"$"+n.replace(/[=:]/g,function(e){return r[e]})):t.toString(36)}function T(){}function L(e,t,n){if(null==e)return e;var r=[],o=0;return!function e(t,n,r,o,i){var u,s,c,f=typeof t;("undefined"===f||"boolean"===f)&&(t=null);var d=!1;if(null===t)d=!0;else switch(f){case"bigint":case"string":case"number":d=!0;break;case"object":switch(t.$$typeof){case l:case a:d=!0;break;case h:return e((d=t._init)(t._payload),n,r,o,i)}}if(d)return i=i(t),d=""===o?"."+N(t,0):o,E(i)?(r="",null!=d&&(r=d.replace(z,"$&/")+"/"),e(i,n,r,"",function(e){return e})):null!=i&&(P(i)&&(u=i,s=r+(null==i.key||t&&t.key===i.key?"":(""+i.key).replace(z,"$&/")+"/")+d,i=_(u.type,s,null,void 0,void 0,void 0,u.props)),n.push(i)),1;d=0;var p=""===o?".":o+":";if(E(t))for(var g=0;g{e.exports=n(8405)},5893:(e,t,n)=>{e.exports=n(631)},6152:(e,t)=>{/** - * @license React - * scheduler.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function n(e,t){var n=e.length;for(e.push(t);0>>1,l=e[r];if(0>>1;ra(u,n))sa(c,u)?(e[r]=c,e[s]=n,r=s):(e[r]=u,e[i]=n,r=i);else if(sa(c,n))e[r]=c,e[s]=n,r=s;else break}}return t}function a(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if(t.unstable_now=void 0,"object"==typeof performance&&"function"==typeof performance.now){var o,i=performance;t.unstable_now=function(){return i.now()}}else{var u=Date,s=u.now();t.unstable_now=function(){return u.now()-s}}var c=[],f=[],d=1,p=null,h=3,m=!1,g=!1,y=!1,v="function"==typeof setTimeout?setTimeout:null,b="function"==typeof clearTimeout?clearTimeout:null,k="undefined"!=typeof setImmediate?setImmediate:null;function w(e){for(var t=r(f);null!==t;){if(null===t.callback)l(f);else if(t.startTime<=e)l(f),t.sortIndex=t.expirationTime,n(c,t);else break;t=r(f)}}function S(e){if(y=!1,w(e),!g){if(null!==r(c))g=!0,L();else{var t=r(f);null!==t&&O(S,t.startTime-e)}}}var E=!1,x=-1,C=5,_=-1;function P(){return!(t.unstable_now()-_e&&P());){var i=p.callback;if("function"==typeof i){p.callback=null,h=p.priorityLevel;var u=i(p.expirationTime<=e);if(e=t.unstable_now(),"function"==typeof u){p.callback=u,w(e),n=!0;break t}p===r(c)&&l(c),w(e)}else l(c);p=r(c)}if(null!==p)n=!0;else{var s=r(f);null!==s&&O(S,s.startTime-e),n=!1}}break e}finally{p=null,h=a,m=!1}n=void 0}}finally{n?o():E=!1}}}if("function"==typeof k)o=function(){k(z)};else if("undefined"!=typeof MessageChannel){var N=new MessageChannel,T=N.port2;N.port1.onmessage=z,o=function(){T.postMessage(null)}}else o=function(){v(z,0)};function L(){E||(E=!0,o())}function O(e,n){x=v(function(){e(t.unstable_now())},n)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){g||m||(g=!0,L())},t.unstable_forceFrameRate=function(e){0>e||125o?(e.sortIndex=a,n(f,e),null===r(c)&&e===r(f)&&(y?(b(x),x=-1):y=!0,O(S,a-o))):(e.sortIndex=i,n(c,e),g||m||(g=!0,L())),e},t.unstable_shouldYield=P,t.unstable_wrapCallback=function(e){var t=h;return function(){var n=h;h=t;try{return e.apply(this,arguments)}finally{h=n}}}},3840:(e,t,n)=>{e.exports=n(6152)}}]); \ No newline at end of file diff --git a/_next/static/chunks/framework-f76b3558e182e37e.js b/_next/static/chunks/framework-f76b3558e182e37e.js new file mode 100644 index 00000000..b6d02119 --- /dev/null +++ b/_next/static/chunks/framework-f76b3558e182e37e.js @@ -0,0 +1,25 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[774],{6787:(e,t,n)=>{var r,l,a=n(3454),o=n(3840),i=n(7294),u=n(3935);function s(e){var t="https://react.dev/errors/"+e;if(1l||u[r]!==s[l]){var c="\n"+u[r].replace(" at new "," at ");return e.displayName&&c.includes("")&&(c=c.replace("",e.displayName)),c}while(1<=r&&0<=l);break}}}finally{R=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?O(n):""}function A(e){try{var t="";do t+=function(e){switch(e.tag){case 26:case 27:case 5:return O(e.type);case 16:return O("Lazy");case 13:return O("Suspense");case 19:return O("SuspenseList");case 0:case 15:return e=F(e.type,!1);case 11:return e=F(e.type.render,!1);case 1:return e=F(e.type,!0);default:return""}}(e),e=e.return;while(e);return t}catch(e){return"\nError generating stack: "+e.message+"\n"+e.stack}}function D(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do 0!=(4098&(t=e).flags)&&(n=t.return),e=t.return;while(e)}return 3===t.tag?n:null}function M(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&null!==(e=e.alternate)&&(t=e.memoizedState),null!==t)return t.dehydrated}return null}function I(e){if(D(e)!==e)throw Error(s(188))}function U(e){return null!==(e=function(e){var t=e.alternate;if(!t){if(null===(t=D(e)))throw Error(s(188));return t!==e?null:e}for(var n=e,r=t;;){var l=n.return;if(null===l)break;var a=l.alternate;if(null===a){if(null!==(r=l.return)){n=r;continue}break}if(l.child===a.child){for(a=l.child;a;){if(a===n)return I(l),e;if(a===r)return I(l),t;a=a.sibling}throw Error(s(188))}if(n.return!==r.return)n=l,r=a;else{for(var o=!1,i=l.child;i;){if(i===n){o=!0,n=l,r=a;break}if(i===r){o=!0,r=l,n=a;break}i=i.sibling}if(!o){for(i=a.child;i;){if(i===n){o=!0,n=a,r=l;break}if(i===r){o=!0,r=a,n=l;break}i=i.sibling}if(!o)throw Error(s(189))}}if(n.alternate!==r)throw Error(s(190))}if(3!==n.tag)throw Error(s(188));return n.stateNode.current===n?e:t}(e))?function e(t){var n=t.tag;if(5===n||26===n||27===n||6===n)return t;for(t=t.child;null!==t;){if(null!==(n=e(t)))return n;t=t.sibling}return null}(e):null}var H=Array.isArray,j=u.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,$={pending:!1,data:null,method:null,action:null},V=[],B=-1;function W(e){return{current:e}}function Q(e){0>B||(e.current=V[B],V[B]=null,B--)}function q(e,t){V[++B]=e.current,e.current=t}var K=W(null),Y=W(null),G=W(null),X=W(null),Z={$$typeof:b,Provider:null,Consumer:null,_currentValue:null,_currentValue2:null,_threadCount:0};function J(e,t){switch(q(G,t),q(Y,e),q(K,null),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)&&(t=t.namespaceURI)?u5(t):0;break;default:if(t=(e=8===e?t.parentNode:t).tagName,e=e.namespaceURI)t=u8(e=u5(e),t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}Q(K),q(K,t)}function ee(){Q(K),Q(Y),Q(G)}function et(e){null!==e.memoizedState&&q(X,e);var t=K.current,n=u8(t,e.type);t!==n&&(q(Y,e),q(K,n))}function en(e){Y.current===e&&(Q(K),Q(Y)),X.current===e&&(Q(X),Z._currentValue=null)}var er=Object.prototype.hasOwnProperty,el=o.unstable_scheduleCallback,ea=o.unstable_cancelCallback,eo=o.unstable_shouldYield,ei=o.unstable_requestPaint,eu=o.unstable_now,es=o.unstable_getCurrentPriorityLevel,ec=o.unstable_ImmediatePriority,ef=o.unstable_UserBlockingPriority,ed=o.unstable_NormalPriority,ep=o.unstable_LowPriority,eh=o.unstable_IdlePriority,em=o.log,eg=o.unstable_setDisableYieldValue,ey=null,ev=null;function eb(e){if("function"==typeof em&&eg(e),ev&&"function"==typeof ev.setStrictMode)try{ev.setStrictMode(ey,e)}catch(e){}}var ek=Math.clz32?Math.clz32:function(e){return 0==(e>>>=0)?32:31-(ew(e)/eS|0)|0},ew=Math.log,eS=Math.LN2,eE=128,ex=4194304;function eC(e){var t=42&e;if(0!==t)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194176&e;case 4194304:case 8388608:case 16777216:case 33554432:return 62914560&e;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function e_(e,t){var n=e.pendingLanes;if(0===n)return 0;var r=0,l=e.suspendedLanes;e=e.pingedLanes;var a=134217727&n;return 0!==a?0!=(n=a&~l)?r=eC(n):0!=(e&=a)&&(r=eC(e)):0!=(n&=~l)?r=eC(n):0!==e&&(r=eC(e)),0===r?0:0!==t&&t!==r&&0==(t&l)&&((l=r&-r)>=(e=t&-t)||32===l&&0!=(4194176&e))?t:r}function eP(e,t){return e.errorRecoveryDisabledLanes&t?0:0!=(e=-536870913&e.pendingLanes)?e:536870912&e?536870912:0}function ez(){var e=eE;return 0==(4194176&(eE<<=1))&&(eE=128),e}function eN(){var e=ex;return 0==(62914560&(ex<<=1))&&(ex=4194304),e}function eT(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function eL(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var r=31-ek(t);e.entangledLanes|=t,e.entanglements[r]=1073741824|e.entanglements[r]|4194218&n}function eO(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-ek(n),l=1<=t9),nn=!1;function nr(e,t){switch(e){case"keyup":return -1!==t8.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function nl(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var na=!1,no={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function ni(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!no[e.type]:"textarea"===t}function nu(e,t,n,r){tk?tw?tw.push(r):tw=[r]:tk=r,0<(t=uW(t,"onChange")).length&&(n=new tH("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var ns=null,nc=null;function nf(e){uM(e,0)}function nd(e){if(te(eq(e)))return e}function np(e,t){if("change"===e)return t}var nh=!1;if(e0){if(e0){var nm="oninput"in document;if(!nm){var ng=document.createElement("div");ng.setAttribute("oninput","return;"),nm="function"==typeof ng.oninput}r=nm}else r=!1;nh=r&&(!document.documentMode||9=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=nC(r)}}function nP(){for(var e=window,t=tt();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(e){n=!1}if(n)e=t.contentWindow;else break;t=tt(e.document)}return t}function nz(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}var nN=e0&&"documentMode"in document&&11>=document.documentMode,nT=null,nL=null,nO=null,nR=!1;function nF(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;nR||null==nT||nT!==tt(r)||(r="selectionStart"in(r=nT)&&nz(r)?{start:r.selectionStart,end:r.selectionEnd}:{anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},nO&&nx(nO,r)||(nO=r,0<(r=uW(nL,"onSelect")).length&&(t=new tH("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=nT)))}function nA(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var nD={animationend:nA("Animation","AnimationEnd"),animationiteration:nA("Animation","AnimationIteration"),animationstart:nA("Animation","AnimationStart"),transitionrun:nA("Transition","TransitionRun"),transitionstart:nA("Transition","TransitionStart"),transitioncancel:nA("Transition","TransitionCancel"),transitionend:nA("Transition","TransitionEnd")},nM={},nI={};function nU(e){if(nM[e])return nM[e];if(!nD[e])return e;var t,n=nD[e];for(t in n)if(n.hasOwnProperty(t)&&t in nI)return nM[e]=n[t];return e}e0&&(nI=document.createElement("div").style,"AnimationEvent"in window||(delete nD.animationend.animation,delete nD.animationiteration.animation,delete nD.animationstart.animation),"TransitionEvent"in window||delete nD.transitionend.transition);var nH=nU("animationend"),nj=nU("animationiteration"),n$=nU("animationstart"),nV=nU("transitionrun"),nB=nU("transitionstart"),nW=nU("transitioncancel"),nQ=nU("transitionend"),nq=new Map,nK="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll scrollEnd toggle touchMove waiting wheel".split(" ");function nY(e,t){nq.set(e,t),eZ(t,[e])}var nG=[],nX=0,nZ=0;function nJ(){for(var e=nX,t=nZ=nX=0;t>=o,l-=o,ra=1<<32-ek(t)+l|n<d?(p=f,f=null):p=f.sibling;var h=g(l,f,i[d],u);if(null===h){null===f&&(f=p);break}e&&f&&null===h.alternate&&t(l,f),o=a(h,o,d),null===c?s=h:c.sibling=h,c=h,f=p}if(d===i.length)return n(l,f),rp&&ri(l,d),s;if(null===f){for(;dp?(h=d,d=null):h=d.sibling;var b=g(l,d,v.value,u);if(null===b){null===d&&(d=h);break}e&&d&&null===b.alternate&&t(l,d),o=a(b,o,p),null===f?c=b:f.sibling=b,f=b,d=h}if(v.done)return n(l,d),rp&&ri(l,p),c;if(null===d){for(;!v.done;p++,v=i.next())null!==(v=m(l,v.value,u))&&(o=a(v,o,p),null===f?c=v:f.sibling=v,f=v);return rp&&ri(l,p),c}for(d=r(d);!v.done;p++,v=i.next())null!==(v=y(d,l,p,v.value,u))&&(e&&null!==v.alternate&&d.delete(null===v.key?p:v.key),o=a(v,o,p),null===f?c=v:f.sibling=v,f=v);return e&&d.forEach(function(e){return t(l,e)}),rp&&ri(l,p),c}(u,c,f=w.call(f),v)}if("function"==typeof f.then)return i(u,c,rR(f),v);if(f.$$typeof===b)return i(u,c,oa(u,f,v),v);rA(u,f)}return"string"==typeof f&&""!==f||"number"==typeof f||"bigint"==typeof f?(f=""+f,null!==c&&6===c.tag?(n(u,c.sibling),(c=l(c,f)).return=u):(n(u,c),(c=ip(f,u.mode,v)).return=u),o(u=c)):n(u,c)}(i,u,c,f);return rL=null,v}catch(e){if(e===rE)throw e;var k=ia(29,e,null,i.mode);return k.lanes=f,k.return=i,k}finally{}}}var rI=rM(!0),rU=rM(!1),rH=W(null),rj=W(0);function r$(e,t){q(rj,e=iT),q(rH,t),iT=e|t.baseLanes}function rV(){q(rj,iT),q(rH,rH.current)}function rB(){iT=rj.current,Q(rH),Q(rj)}var rW=W(null),rQ=null;function rq(e){var t=e.alternate;q(rX,1&rX.current),q(rW,e),null===rQ&&(null===t||null!==rH.current?rQ=e:null!==t.memoizedState&&(rQ=e))}function rK(e){if(22===e.tag){if(q(rX,rX.current),q(rW,e),null===rQ){var t=e.alternate;null!==t&&null!==t.memoizedState&&(rQ=e)}}else rY(e)}function rY(){q(rX,rX.current),q(rW,rW.current)}function rG(e){Q(rW),rQ===e&&(rQ=null),Q(rX)}var rX=W(0);function rZ(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!=(128&t.flags))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var rJ="undefined"!=typeof AbortController?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(t,n){e.push(n)}};this.abort=function(){t.aborted=!0,e.forEach(function(e){return e()})}},r0=o.unstable_scheduleCallback,r1=o.unstable_NormalPriority,r2={$$typeof:b,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function r4(){return{controller:new rJ,data:new Map,refCount:0}}function r3(e){e.refCount--,0===e.refCount&&r0(r1,function(){e.controller.abort()})}var r6=null,r5=0,r8=0,r7=null;function r9(){if(null!==r6&&0==--r5){null!==r7&&(r7.status="fulfilled");var e=r6;r6=null,r8=0,r7=null;for(var t=0;ta?a:8;var o=T.T,i={};T.T=i,ag(e,!1,t,n);try{var u=l(),s=T.S;if(null!==s&&s(i,u),null!==u&&"object"==typeof u&&"function"==typeof u.then){var c,f,d=(c=[],f={status:"pending",value:null,reason:null,then:function(e){c.push(e)}},u.then(function(){f.status="fulfilled",f.value=r;for(var e=0;e title"))),u1(l,r,n),l[eD]=e,eY(l),r=l;break e;case"link":var a=sP("link","href",t).get(r+(n.href||""));if(a){for(var o=0;o",e=e.removeChild(e.firstChild);break;case"select":e="string"==typeof r.is?l.createElement("select",{is:r.is}):l.createElement("select"),r.multiple?e.multiple=!0:r.size&&(e.size=r.size);break;default:e="string"==typeof r.is?l.createElement(n,{is:r.is}):l.createElement(n)}}e[eD]=t,e[eM]=r;e:for(l=t.child;null!==l;){if(5===l.tag||6===l.tag)e.appendChild(l.stateNode);else if(4!==l.tag&&27!==l.tag&&null!==l.child){l.child.return=l,l=l.child;continue}if(l===t)break;for(;null===l.sibling;){if(null===l.return||l.return===t)break e;l=l.return}l.sibling.return=l.return,l=l.sibling}switch(t.stateNode=e,u1(e,n,r),n){case"button":case"input":case"select":case"textarea":e=!!r.autoFocus;break;case"img":e=!0;break;default:e=!1}e&&im(t)}}return ib(t),t.flags&=-16777217,null;case 6:if(e&&null!=t.stateNode)e.memoizedProps!==r&&im(t);else{if("string"!=typeof r&&null===t.stateNode)throw Error(s(166));if(e=G.current,rk(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,null!==(l=rf))switch(l.tag){case 27:case 5:r=l.memoizedProps}e[eD]=t,(e=!!(e.nodeValue===n||null!==r&&!0===r.suppressHydrationWarning||uX(e.nodeValue,n)))||ry(t)}else(e=u6(e).createTextNode(r))[eD]=t,t.stateNode=e}return ib(t),null;case 13:if(r=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(l=rk(t),null!==r&&null!==r.dehydrated){if(null===e){if(!l)throw Error(s(318));if(!(l=null!==(l=t.memoizedState)?l.dehydrated:null))throw Error(s(317));l[eD]=t}else rw(),0==(128&t.flags)&&(t.memoizedState=null),t.flags|=4;ib(t),l=!1}else null!==rh&&(i2(rh),rh=null),l=!0;if(!l){if(256&t.flags)return rG(t),t;return rG(t),null}}if(rG(t),0!=(128&t.flags))return t.lanes=n,t;if(n=null!==r,e=null!==e&&null!==e.memoizedState,n){r=t.child,l=null,null!==r.alternate&&null!==r.alternate.memoizedState&&null!==r.alternate.memoizedState.cachePool&&(l=r.alternate.memoizedState.cachePool.pool);var a=null;null!==r.memoizedState&&null!==r.memoizedState.cachePool&&(a=r.memoizedState.cachePool.pool),a!==l&&(r.flags|=2048)}return n!==e&&n&&(t.child.flags|=8192),iy(t,t.updateQueue),ib(t),null;case 4:return ee(),null===e&&uj(t.stateNode.containerInfo),ib(t),null;case 10:return oe(t.type),ib(t),null;case 19:if(Q(rX),null===(l=t.memoizedState))return ib(t),null;if(r=0!=(128&t.flags),null===(a=l.rendering)){if(r)iv(l,!1);else{if(0!==iL||null!==e&&0!=(128&e.flags))for(e=t.child;null!==e;){if(null!==(a=rZ(e))){for(t.flags|=128,iv(l,!1),e=a.updateQueue,t.updateQueue=e,iy(t,e),t.subtreeFlags=0,e=n,n=t.child;null!==n;)iu(n,e),n=n.sibling;return q(rX,1&rX.current|2),t.child}e=e.sibling}null!==l.tail&&eu()>ij&&(t.flags|=128,r=!0,iv(l,!1),t.lanes=4194304)}}else{if(!r){if(null!==(e=rZ(a))){if(t.flags|=128,r=!0,e=e.updateQueue,t.updateQueue=e,iy(t,e),iv(l,!0),null===l.tail&&"hidden"===l.tailMode&&!a.alternate&&!rp)return ib(t),null}else 2*eu()-l.renderingStartTime>ij&&536870912!==n&&(t.flags|=128,r=!0,iv(l,!1),t.lanes=4194304)}l.isBackwards?(a.sibling=t.child,t.child=a):(null!==(e=l.last)?e.sibling=a:t.child=a,l.last=a)}if(null!==l.tail)return t=l.tail,l.rendering=t,l.tail=t.sibling,l.renderingStartTime=eu(),t.sibling=null,e=rX.current,q(rX,r?1&e|2:1&e),t;return ib(t),null;case 22:case 23:return rG(t),rB(),r=null!==t.memoizedState,null!==e?null!==e.memoizedState!==r&&(t.flags|=8192):r&&(t.flags|=8192),r?0!=(536870912&n)&&0==(128&t.flags)&&(ib(t),6&t.subtreeFlags&&(t.flags|=8192)):ib(t),null!==(n=t.updateQueue)&&iy(t,n.retryQueue),n=null,null!==e&&null!==e.memoizedState&&null!==e.memoizedState.cachePool&&(n=e.memoizedState.cachePool.pool),r=null,null!==t.memoizedState&&null!==t.memoizedState.cachePool&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),null!==e&&Q(lt),null;case 24:return n=null,null!==e&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),oe(r2),ib(t),null;case 25:return null}throw Error(s(156,t.tag))}(t.alternate,t,iT);if(null!==n){iC=n;return}if(null!==(t=t.sibling)){iC=t;return}iC=t=e}while(null!==t);0===iL&&(iL=5)}function us(e,t,n,r,l){var a=T.T,o=j.p;try{j.p=2,T.T=null,function(e,t,n,r,l,a){do uf();while(null!==iW);if(0!=(6&iE))throw Error(s(327));var o,i=e.finishedWork,u=e.finishedLanes;if(null!==i){if(e.finishedWork=null,e.finishedLanes=0,i===e.current)throw Error(s(177));e.callbackNode=null,e.callbackPriority=0,e.cancelPendingCommit=null;var c=i.lanes|i.childLanes;if(function(e,t,n){var r=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.entangledLanes&=t,e.errorRecoveryDisabledLanes&=t,e.shellSuspendCounter=0,t=e.entanglements;for(var l=e.expirationTimes,a=e.hiddenUpdates;0r&&(l=r,r=a,a=l),l=n_(n,a);var o=n_(n,r);l&&o&&(1!==e.rangeCount||e.anchorNode!==l.node||e.anchorOffset!==l.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&((t=t.createRange()).setStart(l.node,l.offset),e.removeAllRanges(),a>r?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for("function"==typeof n.focus&&n.focus(),n=0;nn?32:n,T.T=null,null===iW)var a=!1;else{n=iK,iK=null;var o=iW,i=iQ;if(iW=null,iQ=0,0!=(6&iE))throw Error(s(331));var u=iE;if(iE|=4,it(o.current),o3(o,o.current,i,n),iE=u,uP(),ev&&"function"==typeof ev.onPostCommitFiberRoot)try{ev.onPostCommitFiberRoot(ey,o)}catch(e){}a=!0}return a}finally{j.p=l,T.T=r,uc(e,t)}}return!1}function ud(e,t,n){t=n8(n,t),t=aT(e.stateNode,t,2),null!==(e=of(e,t,2))&&(i3(e,2),u_(e))}function up(e,t,n){if(3===e.tag)ud(e,e,n);else for(;null!==t;){if(3===t.tag){ud(t,e,n);break}if(1===t.tag){var r=t.stateNode;if("function"==typeof t.type.getDerivedStateFromError||"function"==typeof r.componentDidCatch&&(null===iV||!iV.has(r))){e=n8(n,e),null!==(r=of(t,n=aL(2),2))&&(aO(n,r,t,e),i3(r,2),u_(r));break}}t=t.return}}function uh(e,t,n){var r=e.pingCache;if(null===r){r=e.pingCache=new iS;var l=new Set;r.set(t,l)}else void 0===(l=r.get(t))&&(l=new Set,r.set(t,l));l.has(n)||(iN=!0,l.add(n),e=um.bind(null,e,t,n),t.then(e,e))}function um(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,2&iE?iI=!0:4&iE&&(iU=!0),ub(),ix===e&&(i_&n)===n&&(4===iL||3===iL&&(62914560&i_)===i_&&300>eu()-iH?0==(2&iE)&&i7(e,0):iF|=n),u_(e)}function ug(e,t){0===t&&(t=eN()),null!==(e=n2(e,t))&&(i3(e,t),u_(e))}function uy(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),ug(e,n)}function uv(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;null!==l&&(n=l.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(s(314))}null!==r&&r.delete(t),ug(e,n)}function ub(){if(50 title"):null)}function sN(e){return"stylesheet"!==e.type||0!=(3&e.state.loading)}var sT=null;function sL(){}function sO(){if(this.count--,0===this.count){if(this.stylesheets)sF(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var sR=null;function sF(e,t){e.stylesheets=null,null!==e.unsuspend&&(e.count++,sR=new Map,t.forEach(sA,e),sR=null,sO.call(e))}function sA(e,t){if(!(4&t.state.loading)){var n=sR.get(e);if(n)var r=n.get(null);else{n=new Map,sR.set(e,n);for(var l=e.querySelectorAll("link[data-precedence],style[data-precedence]"),a=0;a{/** + * @license React + * react-dom.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */function r(e){var t="https://react.dev/errors/"+e;if(1{!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=n(6787)},3935:(e,t,n)=>{!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=n(7015)},631:(e,t)=>{/** + * @license React + * react-jsx-runtime.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var n=Symbol.for("react.transitional.element"),r=Symbol.for("react.fragment");function l(e,t,r){var l=null;if(void 0!==r&&(l=""+r),void 0!==t.key&&(l=""+t.key),"key"in t)for(var a in r={},t)"key"!==a&&(r[a]=t[a]);else r=t;return{$$typeof:n,type:e,key:l,ref:void 0!==(t=r.ref)?t:null,props:r}}t.Fragment=r,t.jsx=l,t.jsxs=l},8405:(e,t,n)=>{var r=n(3454),l=Symbol.for("react.transitional.element"),a=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),u=Symbol.for("react.profiler"),s=Symbol.for("react.consumer"),c=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),m=Symbol.iterator,g={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},y=Object.assign,v={};function b(e,t,n){this.props=e,this.context=t,this.refs=v,this.updater=n||g}function k(){}function w(e,t,n){this.props=e,this.context=t,this.refs=v,this.updater=n||g}b.prototype.isReactComponent={},b.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},b.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},k.prototype=b.prototype;var S=w.prototype=new k;S.constructor=w,y(S,b.prototype),S.isPureReactComponent=!0;var E=Array.isArray,x={H:null,A:null,T:null,S:null},C=Object.prototype.hasOwnProperty;function _(e,t,n,r,a,o,i){return{$$typeof:l,type:e,key:t,ref:void 0!==(n=i.ref)?n:null,props:i}}function P(e){return"object"==typeof e&&null!==e&&e.$$typeof===l}var z=/\/+/g;function N(e,t){var n,r;return"object"==typeof e&&null!==e&&null!=e.key?(n=""+e.key,r={"=":"=0",":":"=2"},"$"+n.replace(/[=:]/g,function(e){return r[e]})):t.toString(36)}function T(){}function L(e,t,n){if(null==e)return e;var r=[],o=0;return!function e(t,n,r,o,i){var u,s,c,f=typeof t;("undefined"===f||"boolean"===f)&&(t=null);var d=!1;if(null===t)d=!0;else switch(f){case"bigint":case"string":case"number":d=!0;break;case"object":switch(t.$$typeof){case l:case a:d=!0;break;case h:return e((d=t._init)(t._payload),n,r,o,i)}}if(d)return i=i(t),d=""===o?"."+N(t,0):o,E(i)?(r="",null!=d&&(r=d.replace(z,"$&/")+"/"),e(i,n,r,"",function(e){return e})):null!=i&&(P(i)&&(u=i,s=r+(null==i.key||t&&t.key===i.key?"":(""+i.key).replace(z,"$&/")+"/")+d,i=_(u.type,s,null,void 0,void 0,void 0,u.props)),n.push(i)),1;d=0;var p=""===o?".":o+":";if(E(t))for(var g=0;g{e.exports=n(8405)},5893:(e,t,n)=>{e.exports=n(631)},6152:(e,t)=>{/** + * @license React + * scheduler.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */function n(e,t){var n=e.length;for(e.push(t);0>>1,l=e[r];if(0>>1;ra(u,n))sa(c,u)?(e[r]=c,e[s]=n,r=s):(e[r]=u,e[i]=n,r=i);else if(sa(c,n))e[r]=c,e[s]=n,r=s;else break}}return t}function a(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if(t.unstable_now=void 0,"object"==typeof performance&&"function"==typeof performance.now){var o,i=performance;t.unstable_now=function(){return i.now()}}else{var u=Date,s=u.now();t.unstable_now=function(){return u.now()-s}}var c=[],f=[],d=1,p=null,h=3,m=!1,g=!1,y=!1,v="function"==typeof setTimeout?setTimeout:null,b="function"==typeof clearTimeout?clearTimeout:null,k="undefined"!=typeof setImmediate?setImmediate:null;function w(e){for(var t=r(f);null!==t;){if(null===t.callback)l(f);else if(t.startTime<=e)l(f),t.sortIndex=t.expirationTime,n(c,t);else break;t=r(f)}}function S(e){if(y=!1,w(e),!g){if(null!==r(c))g=!0,L();else{var t=r(f);null!==t&&O(S,t.startTime-e)}}}var E=!1,x=-1,C=5,_=-1;function P(){return!(t.unstable_now()-_e&&P());){var i=p.callback;if("function"==typeof i){p.callback=null,h=p.priorityLevel;var u=i(p.expirationTime<=e);if(e=t.unstable_now(),"function"==typeof u){p.callback=u,w(e),n=!0;break t}p===r(c)&&l(c),w(e)}else l(c);p=r(c)}if(null!==p)n=!0;else{var s=r(f);null!==s&&O(S,s.startTime-e),n=!1}}break e}finally{p=null,h=a,m=!1}n=void 0}}finally{n?o():E=!1}}}if("function"==typeof k)o=function(){k(z)};else if("undefined"!=typeof MessageChannel){var N=new MessageChannel,T=N.port2;N.port1.onmessage=z,o=function(){T.postMessage(null)}}else o=function(){v(z,0)};function L(){E||(E=!0,o())}function O(e,n){x=v(function(){e(t.unstable_now())},n)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){g||m||(g=!0,L())},t.unstable_forceFrameRate=function(e){0>e||125o?(e.sortIndex=a,n(f,e),null===r(c)&&e===r(f)&&(y?(b(x),x=-1):y=!0,O(S,a-o))):(e.sortIndex=i,n(c,e),g||m||(g=!0,L())),e},t.unstable_shouldYield=P,t.unstable_wrapCallback=function(e){var t=h;return function(){var n=h;h=t;try{return e.apply(this,arguments)}finally{h=n}}}},3840:(e,t,n)=>{e.exports=n(6152)}}]); \ No newline at end of file diff --git a/_next/static/chunks/main-app-8d98cc04c64c92a3.js b/_next/static/chunks/main-app-b454a46fae1a9f06.js similarity index 61% rename from _next/static/chunks/main-app-8d98cc04c64c92a3.js rename to _next/static/chunks/main-app-b454a46fae1a9f06.js index a30f3570..569c26b7 100644 --- a/_next/static/chunks/main-app-8d98cc04c64c92a3.js +++ b/_next/static/chunks/main-app-b454a46fae1a9f06.js @@ -1 +1 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[744],{6739:(e,s,n)=>{Promise.resolve().then(n.t.bind(n,6048,23)),Promise.resolve().then(n.t.bind(n,3029,23)),Promise.resolve().then(n.t.bind(n,4395,23)),Promise.resolve().then(n.t.bind(n,5759,23)),Promise.resolve().then(n.t.bind(n,2976,23)),Promise.resolve().then(n.t.bind(n,8201,23))}},e=>{var s=s=>e(e.s=s);e.O(0,[130,182],()=>(s(4561),s(6739))),_N_E=e.O()}]); \ No newline at end of file +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[744],{5495:(e,s,n)=>{Promise.resolve().then(n.t.bind(n,6048,23)),Promise.resolve().then(n.t.bind(n,3029,23)),Promise.resolve().then(n.t.bind(n,4395,23)),Promise.resolve().then(n.t.bind(n,5759,23)),Promise.resolve().then(n.t.bind(n,2976,23)),Promise.resolve().then(n.t.bind(n,8201,23))}},e=>{var s=s=>e(e.s=s);e.O(0,[130,182],()=>(s(4561),s(5495))),_N_E=e.O()}]); \ No newline at end of file diff --git a/index.html b/index.html index 28beb7d2..dc73d809 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -awesome-genome-visualization \ No newline at end of file +awesome-genome-visualization \ No newline at end of file diff --git a/index.txt b/index.txt index 180fbcb0..8aca10ab 100644 --- a/index.txt +++ b/index.txt @@ -1,9 +1,9 @@ 3:I[5759,[],""] 4:I[8201,[],""] -0:["T1VRlSZjIoqJBz05KXxdz",[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",{"children":["__PAGE__",{},[["$L1","$L2"],null],null]},[["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[],"styles":null}]}]}],null],null],[[["$","link","0",{"rel":"stylesheet","href":"/awesome-genome-visualization/_next/static/css/28cf49100d4511f0.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],"$L5"]]]] +0:["X5qHYYI0f9f9UodGf9NIn",[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",{"children":["__PAGE__",{},[["$L1","$L2"],null],null]},[["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[],"styles":null}]}]}],null],null],[[["$","link","0",{"rel":"stylesheet","href":"/awesome-genome-visualization/_next/static/css/28cf49100d4511f0.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],"$L5"]]]] 6:"$Sreact.fragment" -5:["$","$6","EjZPl3IfLt2Ev_ELvA7SB",{"children":[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"awesome-genome-visualization"}],["$","meta","3",{"name":"description","content":"A blog"}]]}] +5:["$","$6","J-92oMG1gy-68DEr9KWmI",{"children":[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"awesome-genome-visualization"}],["$","meta","3",{"name":"description","content":"A blog"}]]}] 1:null 7:"$Sreact.suspense" -8:I[2766,["931","static/chunks/app/page-f3460c0adfd55efa.js"],"default"] -2:["$","$7",null,{"children":["$","$L8",null,{"tools":[{"tags":["Commercial"],"name":"10x genomics/Loupe","url":"https://support.10xgenomics.com/genome-exome/software/visualization/latest/structural-variants","img":"10xgenomics.png","interactive":["true"],"width":1600,"height":300},{"tags":["Commercial"],"name":"Alamut","img":"alamut.png","url":"https://www.interactive-biosoftware.com/alamut-visual/","interactive":["true"],"width":938,"height":132},{"tags":["Commercial","Microbiology"],"name":"ATCC Genome Portal","platform":["Silo"],"img":"atcc.png","url":"https://docs.onecodex.com/en/articles/3996697-using-the-genome-browser","interactive":["true"],"width":2602,"height":1276},{"tags":["Commercial","Synthetic biology"],"name":"Benchling","img":"benchling.png","url":"https://www.benchling.com/","interactive":["true"],"width":1710,"height":896},{"tags":["Commercial","SV"],"name":"CLC Genomics workbench","img":"clcgenomics.png","url":"https://digitalinsights.qiagen.com/news/blog/discovery/structural-variant-detection-using-clc-genomics-workbench/","interactive":["true"],"width":600,"height":455},{"tags":["Commercial"],"name":"DNASTAR","img":"dnastar.png","url":"https://www.dnastar.com/","interactive":["true"],"width":438,"height":253},{"tags":["Commercial","Synthetic biology"],"name":"Geneious","img":"geneious.png","url":"https://www.geneious.com/","interactive":["true"],"width":1000,"height":600},{"tags":["Commercial"],"name":"Genestack","img":"genestack.png","url":"https://genestack.com/blog/2015/05/28/navigation-in-genestack-genome-browser/","interactive":["true"],"width":1256,"height":556},{"tags":["Commercial"],"name":"Golden Helix","img":"goldenhelix.png","url":"https://www.goldenhelix.com/products/GenomeBrowse/","note":"Free for academic use","interactive":["true"],"width":360,"height":245},{"tags":["Commercial"],"name":"Lucid viewer","img":"lucidalign.png","url":"https://lucidalign.com/","interactive":["true"],"width":1024,"height":540},{"tags":["Commercial"],"name":"MacVector","img":"macvector.png","url":"https://macvector.com/","width":598,"height":478},{"tags":["Commercial","Comparative"],"name":"Persephone","img":"persephone.jpg","url":"https://persephonesoft.com/","width":576,"height":313},{"tags":["Commercial"],"img":"snapgene.png","name":"SnapGene","url":"https://www.snapgene.com/","width":777,"height":436},{"tags":["Commercial"],"img":"strandngs.png","name":"Strand NGS","url":"https://www.strand-ngs.com/","width":786,"height":478},{"tags":["Commercial","SV"],"img":"bionano.png","name":"Bionano","url":"https://bionanogenomics.com/technology/structural-variation/","width":568,"height":295},{"tags":["MSA"],"name":"AA (alignment annotator)","pub":{"doi":"10.1093/nar/gku400","year":2014,"citations":52},"note":"also see STRAP","img":"aa.png","language":["JS"],"url":"http://www.bioinformatics.org/strap/aa","platform":["Web"],"width":1222,"height":539},{"tags":["MSA"],"name":"abrowse (MSA viewer)","language":["JS"],"img":"abrowse.png","url":"https://github.com/ihh/abrowse","platform":["Web"],"width":1848,"height":533,"github_stars":11},{"tags":["MSA"],"name":"alignment.js","img":"alignmentjs.png","url":"https://github.com/veg/alignment.js","language":["JS"],"platform":["Web"],"width":2006,"height":454,"github_stars":6},{"tags":["MSA"],"name":"AlignmentComparator","img":"alignmentcomparator.png","github":"https://github.com/bioinfweb/AlignmentComparator","url":"http://bioinfweb.info/AlignmentComparator/","note":"Uses http://bioinfweb.info/LibrAlign/","language":["Java"],"width":756,"height":592,"github_stars":1},{"tags":["MSA"],"name":"AlignmentViewer","img":"alignmentviewer.png","language":["JS"],"github":"https://github.com/sanderlab/alignmentviewer","url":"https://alignmentviewer.org/","pub":{"url":"https://f1000research.com/articles/9-213","doi":"https://doi.org/10.12688/f1000research.22242.2","year":2020,"citations":5},"platform":["Web"],"width":1848,"height":716,"github_stars":25},{"tags":["MSA"],"name":"AliView","img":"aliview.png","url":"http://www.ormbunkar.se/aliview/","github":"https://github.com/AliView/AliView","pub":{"doi":"10.1093/bioinformatics/btu531","year":2014,"citations":2277},"platform":["Desktop"],"language":["Java"],"width":400,"height":241,"github_stars":112},{"tags":["MSA"],"name":"BioJS/MSA","language":["JS"],"url":"https://msa.biojs.net/","img":"biojsmsa.png","github":"https://github.com/wilzbach/msa","platform":["Web"],"pub":{"url":"https://academic.oup.com/bioinformatics/article/32/22/3501/2525598?login=true","doi":"10.1093/bioinformatics/btw474","year":2016,"citations":148},"width":1956,"height":634,"github_stars":167},{"name":"rMSA","url":"https://github.com/mhahsler/rMSA/blob/master/vignettes/rMSA_vignette.pdf","note":"Can automate boxshade","github":"https://github.com/mhahsler/rMSA","img":"rmsa.png","tags":["MSA"],"language":["R"],"width":650,"height":407,"github_stars":9},{"tags":["MSA","Deadlink"],"name":"Boxshade","note":"Also available as a command line tool with `apt install boxshade`. See also rMSA which can automate running boxshade from within R","img":"boxshade.png","url":"https://embnet.vital-it.ch/software/BOX_form.html","pub":{"url":"https://genomebiology.biomedcentral.com/articles/10.1186/gb-2000-1-2-reports2047","doi":"10.1186/gb-2000-1-2-reports2047","year":2000,"citations":8},"platform":["Web","CLI"],"width":915,"height":249},{"tags":["MSA"],"name":"ESPript","img":"espript.png","pub":{"doi":"10.1093/bioinformatics/15.4.305","year":1999,"citations":2396},"url":"http://espript.ibcp.fr/ESPript/ESPript/","platform":["Web","CLI"],"note":"Primarily a web interface but can download a binary for linux https://espript.ibcp.fr/ESPript/ESPript/esp_faq.php","width":830,"height":204},{"tags":["MSA"],"name":"Jalview","img":"jalview.jpg","url":"https://www.jalview.org/","pub":{"doi":"10.1093/bioinformatics/btp033","year":2009,"citations":7658},"platform":["Desktop"],"language":["Java"],"width":520,"height":377},{"tags":["MSA"],"name":"JSAV","img":"jsav.png","github":"https://github.com/AndrewCRMartin/JSAV","url":"http://www.bioinf.org.uk/software/jsav","language":["JS"],"platform":["Web"],"pub":{"url":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4304231/","doi":"10.12688/f1000research.5486.1","year":2014,"citations":14},"width":1000,"height":836,"github_stars":11},{"tags":["Logo"],"name":"LogoJS","img":"logojs.png","github":"https://github.com/weng-lab/logojs-package","language":["JS"],"url":"https://logojs.wenglab.org/app/gallery/","pub":{"doi":"10.1093/bioinformatics/btaa192","year":2020,"citations":8},"platform":["Web"],"width":413,"height":254,"github_stars":14},{"tags":["MSA"],"name":"MSABrowser","img":"msabrowser.png","language":["JS"],"github":"https://github.com/thekaplanlab/msabrowser","url":"https://thekaplanlab.github.io/","pub":{"doi":"https://doi.org/10.1093/bioadv/vbab009","year":2021,"citations":2},"platform":["Web"],"width":1654,"height":290,"github_stars":30},{"tags":["MSA"],"name":"msaR","url":"https://github.com/zachcp/msaR","img":"msar.png","note":"uses BioJS/MSA","language":["R","JS"],"platform":["Desktop","R/htmlwidget"],"width":1000,"height":580,"github_stars":8},{"tags":["MSA"],"name":"MView","url":"https://www.ebi.ac.uk/Tools/msa/mview/","pub":{"doi":"https://doi.org/10.1093/bioinformatics/14.4.380","year":1998,"citations":296},"img":"mview.png","note":"See also their web versions of clustal omega etc. which have similar outputs","platform":["Web","Silo"],"width":1222,"height":550},{"tags":["MSA"],"name":"NCBI MSA Viewer","url":"https://www.ncbi.nlm.nih.gov/projects/msaviewer/","img":"ncbimsa.png","platform":["Web","CGI","Silo"],"width":1222,"height":459},{"tags":["MSA"],"name":"pyBoxshade","img":"pyboxshade.png","url":"https://github.com/mdbaron42/pyBoxshade","language":["Python"],"note":"also see boxshade","platform":["Desktop"],"width":519,"height":304,"github_stars":22},{"tags":["MSA"],"name":"pymsaplotter","language":["Python"],"img":"pymsaplotter.png","url":"https://github.com/orangeSi/pymsaploter","width":1000,"height":513,"github_stars":10},{"tags":["MSA"],"name":"React MSAViewer","img":"react-msa-viewer.png","language":["JS","React"],"url":"https://github.com/plotly/react-msa-viewer","platform":["Web"],"width":595,"height":243,"github_stars":25},{"tags":["MSA"],"name":"react-msaview","img":"react-msaview.png","language":["JS","React"],"url":"https://github.com/GMOD/react-msaview","width":1177,"height":413,"github_stars":15},{"tags":["MSA"],"name":"seqotron","img":"seqotron.png","url":"https://github.com/4ment/seqotron","pub":{"doi":"10.1186/s13104-016-1927-4","year":2016,"citations":35},"language":["Objective-C"],"platform":["Desktop"],"width":826,"height":602,"github_stars":28},{"tags":["MSA"],"name":"STRAP","note":"also see AA","img":"strap.png","url":"http://www.bioinformatics.org/strap/","pub":{"doi":"10.1093/nar/gku400","year":2014,"citations":52},"platform":["Web","Applet"],"width":725,"height":380},{"tags":["MSA"],"name":"TeXShade","img":"texshade.png","pub":{"doi":"https://doi.org/10.1093/bioinformatics/16.2.135","year":2000,"citations":264},"url":"http://mirrors.ibiblio.org/CTAN/macros/latex/contrib/texshade/texshade.pdf","platform":["Desktop"],"width":2872,"height":761},{"tags":["MSA"],"name":"Wasabi","img":"wasabi.png","url":"http://wasabiapp.org/","github":"https://github.com/veidenberg/wasabi","language":["JS","Python"],"pub":{"doi":"https://doi.org/10.1093/molbev/msv333","year":2015,"citations":51},"platform":["Web"],"width":1378,"height":496,"github_stars":16},{"tags":["CNV","Static"],"name":"aCNVViewer","img":"acnvviewer.png","language":["Python"],"url":"https://github.com/FJD-CEPH/aCNViewer","pub":{"url":"https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0189334","doi":"https://doi.org/10.1371/journal.pone.0189334","year":2017,"citations":6},"width":4000,"height":1800,"github_stars":27},{"name":"CNVkit","tags":["CNV"],"img":"cnvkit.png","url":"https://cnvkit.readthedocs.io/en/stable/plots.html","github":"https://github.com/etal/cnvkit","language":["Python"],"pub":{"url":"https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1004873","doi":"https://doi.org/10.1371/journal.pcbi.1004873","year":2016,"citations":1275},"width":885,"height":1555,"github_stars":498},{"tags":["CNV","Static"],"language":["C","R"],"name":"BAMScale","img":"bamscale.png","url":"https://github.com/ncbi/BAMscale","pub":{"url":"https://epigeneticsandchromatin.biomedcentral.com/articles/10.1186/s13072-020-00343-x","doi":"10.1186/s13072-020-00343-x","year":2020,"citations":42},"width":2172,"height":498,"github_stars":64},{"tags":["Static","Alignments viewer"],"language":["Python"],"img":"bamsnap.png","name":"BAMSnap","url":"https://github.com/parklab/bamsnap","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btaa1101","year":2021,"citations":7},"width":1000,"height":1121,"github_stars":108},{"tags":["Static","Epigenomics"],"name":"ChIA-Pipe","img":"chiapipe.png","url":"https://github.com/TheJacksonLaboratory/ChIA-PIPE","pub":{"url":"https://www.science.org/doi/10.1126/sciadv.aay2078","doi":"10.1126/sciadv.aay2078","year":2020,"citations":23},"width":541,"height":562,"github_stars":26},{"tags":["Gene fusion","Circular","Linear"],"name":"Chimeraviz","img":"chimeraviz.png","url":"https://github.com/stianlagstad/chimeraviz","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btx329","year":2017,"citations":24},"language":["R"],"width":1914,"height":1935,"github_stars":36},{"tags":["Static","CNV"],"name":"CNView","img":"cnview.jpg","url":"https://github.com/RCollins13/CNView","pub":{"doi":"https://doi.org/10.1101/049536","year":2016,"citations":10},"language":["R"],"width":1260,"height":900,"github_stars":68},{"tags":["Static","CNV"],"name":"CNVPlot","img":"cnvplot.jpg","url":"https://github.com/dantaki/CNVplot","pub":{"doi":"10.1101/030270","year":2015,"citations":0},"language":["R"],"width":535,"height":537,"github_stars":15},{"tags":["Static","CNV"],"name":"CNVpytor","img":"cnvpytor.png","url":"https://github.com/abyzovlab/CNVpytor","pub":{"doi":"https://doi.org/10.1093/gigascience/giab074","year":2021,"citations":41},"language":["Python"],"width":1024,"height":1024,"github_stars":165},{"tags":["Static","Synthetic biology"],"name":"DNAPlotLib","img":"dnaplotlib.png","url":"https://github.com/VoigtLab/dnaplotlib","pub":{"doi":"10.1021/acssynbio.6b00252","year":2016,"citations":48},"language":["Python"],"width":960,"height":810,"github_stars":287},{"name":"ExonIntron","url":"http://wormweb.org/exonintron","img":"exonintron.png","tags":["Static","Gene structure"],"width":387,"height":78},{"tags":["Static","Gene structure"],"name":"FeatureViewer","img":"featureviewer.png","pub":{"doi":"https://doi.org/10.5281/zenodo.596941"},"url":"https://github.com/calipho-sib/feature-viewer","platform":["Web"],"width":2736,"height":970,"github_stars":107},{"tags":["Static","Gene structure"],"name":"Geneviz","img":"geneviz.png","url":"https://jrderuiter.github.io/geneviz/usage.html","github":"https://github.com/jrderuiter/geneviz","language":["Python"],"width":640,"height":152,"github_stars":15},{"tags":["Static"],"name":"Genome STRiP","img":"genomestrip.png","pub":{"doi":"10.1038/ng.3200","year":2015,"citations":349},"url":"http://software.broadinstitute.org/software/genomestrip/","width":1133,"height":466},{"tags":["Static","Gene structure"],"name":"GenomeTools","img":"genometools.png","github":"https://github.com/genometools/genometools","url":"http://genometools.org/","pub":{"doi":"10.1109/TCBB.2013.68","year":2013,"citations":338},"language":["C"],"width":700,"height":326,"github_stars":281},{"tags":["Static","SV","Alignments viewer"],"name":"GenomeView","img":"genomeview.png","url":"https://github.com/nspies/genomeview","pub":{"doi":"https://doi.org/10.1101/355636","year":2018,"citations":2},"language":["Python"],"width":900,"height":591,"github_stars":140},{"name":"GenomeView (java app)","img":"genomeview_java.png","url":"https://genomeview.org/content/quick-start-guide","github":"https://github.com/GenomeView/genomeview","pub":{"doi":"https://doi.org/10.1093/nar/gkr995","year":2011,"citations":119},"language":["Java"],"tags":["Alignments viewer"],"width":640,"height":496,"github_stars":7},{"tags":["Static","Comparative"],"name":"genoPlotR","img":"genoplotr.png","url":"http://genoplotr.r-forge.r-project.org/","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btq413","year":2010,"citations":570},"language":["R"],"width":500,"height":300},{"tags":["Static","Ideogram","Circular"],"name":"ggbio","url":"http://www.bioconductor.org/packages/2.11/bioc/vignettes/ggbio/inst/doc/ggbio.pdf","github":"https://github.com/lawremi/ggbio","img":"ggbio.png","language":["R","ggplot2"],"pub":{"url":"https://genomebiology.biomedcentral.com/articles/10.1186/gb-2012-13-8-r77","doi":"https://doi.org/10.1186/gb-2012-13-8-r77","year":2012,"citations":259},"width":600,"height":600,"github_stars":110},{"tags":["Static","Comparative"],"name":"GGgenes","img":"gggenes.png","url":"https://github.com/wilkox/gggenes","language":["R","ggplot2"],"width":768,"height":768,"github_stars":474},{"tags":["Static"],"name":"GGsashimi","img":"ggsashimi.png","url":"https://github.com/guigolab/ggsashimi","pub":{"doi":"https://dx.doi.org/10.1371%2Fjournal.pcbi.1006360","year":2018,"citations":162},"language":["R","ggplot2"],"width":3600,"height":3330,"github_stars":114},{"name":"GSSPlayground","img":"gssplayground.png","url":"https://github.com/orangeSi/GSSplayground","language":["Perl"],"tags":["Comparative","Static","Alignments viewer"],"width":1300,"height":700,"github_stars":31},{"tags":["Static","Ideogram","Quantitative","CNV"],"name":"gtrellis","github":"https://github.com/jokergoo/gtrellis","img":"gtrellis.png","url":"http://bioconductor.org/packages/devel/bioc/vignettes/gtrellis/inst/doc/gtrellis.html","pub":{"doi":"https://doi.org/10.1186/s12859-016-1051-4","year":2016,"citations":19},"language":["R"],"width":720,"height":576,"github_stars":39},{"tags":["Static","Alignments viewer","Quantitative"],"name":"Gviz","img":"gviz.png","url":"https://bioconductor.org/packages/release/bioc/html/Gviz.html","github":"https://github.com/ivanek/Gviz","pub":{"doi":"https://doi.org/10.1007/978-1-4939-3578-9_16","year":2016,"citations":683},"language":["R"],"width":720,"height":480,"github_stars":67},{"tags":["Static","Coverage"],"name":"Hagfish","img":"hagfish.png","url":"https://github.com/mfiers/hagfish/wiki/Plots","github":"https://github.com/mfiers/hagfish","language":["Python"],"width":957,"height":284,"github_stars":36},{"tags":["Static","Hi-C"],"name":"HiCPlotter","img":"hicplotter.jpg","pub":{"doi":"https://doi.org/10.1186/s13059-015-0767-1","year":2015,"citations":161},"url":"https://github.com/kcakdemir/HiCPlotter","language":["Python"],"width":600,"height":840,"github_stars":17},{"tags":["Static","Alignments viewer"],"name":"JVarKit/BamToSVG","img":"bamtosvg.jpg","pub":{"doi":"10.6084/m9.figshare.1425030"},"url":"http://lindenb.github.io/jvarkit/BamToSVG.html","language":["Java"],"width":599,"height":591},{"tags":["Static","Protein","Lollipops"],"name":"Lollipops","img":"lollipops.png","url":"https://github.com/joiningdata/lollipops","language":["Go"],"width":1776,"height":200,"github_stars":180},{"tags":["Static","Protein"],"name":"Mason","img":"mason.png","url":"http://www.yeastrc.org/mason/","platform":["Web","Deadlink"],"width":1378,"height":496},{"tags":["Static","Epigenomics","Methylation"],"name":"Methplotlib","url":"https://github.com/wdecoster/methplotlib","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btaa093","year":2020,"citations":25},"img":"methplotlib.jpg","language":["Python"],"width":700,"height":450,"github_stars":88},{"tags":["Single cell"],"name":"Millefy","img":"millefy.png","url":"https://github.com/yuifu/millefy","pub":{"doi":"https://dx.doi.org/10.1186%2Fs12864-020-6542-z","year":2020,"citations":5},"language":["R"],"platform":["Package"],"width":1418,"height":2157,"github_stars":26},{"name":"Pairoscope","url":"http://pairoscope.sourceforge.net/","language":["C++"],"img":"pairoscope.png","tags":["Static","SV"],"width":1024,"height":768},{"name":"pauvre","github":"https://github.com/conchoecia/pauvre","tags":["Static","Comparative","Multi-way synteny"],"img":"pauvre.png","language":["Python"],"platform":["CLI"],"url":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6991124/figure/fig-3/","pub":{"doi":"https://dx.doi.org/10.7717%2Fpeerj.8356","year":2020,"citations":18},"width":2428,"height":748,"github_stars":48},{"name":"PureScript genetics browser","url":"https://github.com/chfi/purescript-genetics-browser","img":"purescript.png","language":["Purescript"],"platform":["Web"],"tags":["GWAS"],"width":1848,"height":663,"github_stars":5},{"name":"pyGenomeTracks","url":"https://github.com/deeptools/pyGenomeTracks","language":["Python"],"note":"See also https://pypi.org/project/gtracks/ which is a separate project that is powered by pyGenomeTracks","img":"pygenometracks.png","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btaa692","year":2020,"citations":255},"tags":["Static","Hi-C","General"],"width":743,"height":591,"github_stars":732},{"name":"RACER","url":"https://oliviasabik.github.io/RACERweb/articles/IntroToRACER.html","github":"https://github.com/oliviasabik/RACER","language":["R"],"img":"racer.png","tags":["Static","GWAS"],"pub":{"doi":"https://doi.org/10.1101/495366","year":2018,"citations":5},"width":1400,"height":865,"github_stars":16},{"name":"RepViz","url":"https://bmcresnotes.biomedcentral.com/articles/10.1186/s13104-019-4473-z","github":"https://github.com/elolab/RepViz","language":["R"],"pub":{"doi":"10.1186/s13104-019-4473-z","year":2019,"citations":0},"img":"repviz.png","tags":["Static","Quantitative"],"width":1677,"height":2482,"github_stars":2},{"name":"Samplot","url":"https://github.com/ryanlayer/samplot","language":["Python"],"pub":{"doi":"10.1186/s13059-021-02380-5","year":2021,"citations":52},"img":"samplot.jpg","tags":["Static","SV","Alignments viewer"],"width":1202,"height":602,"github_stars":495},{"name":"SashimiPlot","url":"https://miso.readthedocs.io/en/fastmiso/sashimi.html","language":["Python"],"img":"sashimi-plot-example.png","github":"https://github.com/yarden/MISO","pub":{"doi":"https://dx.doi.org/10.1093%2Fbioinformatics%2Fbtv034","year":2015,"citations":135},"tags":["Static","Expression","Splicing"],"note":"See also rmats2sashimiplot which uses MISO. MATS stands for Multivariate Analysis of Transcript Splicing","width":1012,"height":683,"github_stars":129},{"name":"shabam","url":"https://github.com/dlrice/shabam","language":["Python"],"img":"shabam.png","tags":["Static"],"width":790,"height":203,"github_stars":6},{"name":"shinyChromosome","url":"http://150.109.59.144:3838/shinyChromosome/","platform":["Web"],"tags":["Dotplot","Linear","Ideogram"],"github":"https://github.com/YaoLab-Bioinfo/shinyChromosome","img":"shinychromosome.png","language":["R","Shiny"],"pub":{"url":"https://www.sciencedirect.com/science/article/pii/S1672022919301883","doi":"https://doi.org/10.1016/j.gpb.2019.07.003","year":2019,"citations":16},"width":950,"height":550,"github_stars":42},{"name":"SparK","url":"https://github.com/harbourlab/SparK","language":["Python"],"img":"spark.png","tags":["Static","Hi-C","Quantitative"],"pub":{"doi":"https://doi.org/10.1101/845529","year":2019,"citations":41},"width":4553,"height":821,"github_stars":102},{"name":"Spliceclust","url":"https://github.com/pkimes/spliceclust","img":"spliceclust.png","language":["R"],"tags":["Static","Splicing"],"width":1152,"height":384,"github_stars":11},{"name":"Sushi","url":"https://www.bioconductor.org/packages/release/bioc/vignettes/Sushi/inst/doc/Sushi.pdf","language":["R"],"img":"sushi.png","github":"https://github.com/PhanstielLab/Sushi","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btu379","year":2014,"citations":175},"tags":["Static"],"width":589,"height":247,"github_stars":67},{"name":"svist4get","url":"https://link.springer.com/article/10.1186/s12859-019-2706-8","language":["Python"],"tags":["Static"],"img":"svis4get.png","pub":{"doi":"10.1186/s12859-019-2706-8","year":2019,"citations":34},"width":973,"height":403},{"name":"svv","url":"https://github.com/ryanlayer/svv","language":["Python"],"img":"svv.png","tags":["Static","SV","Coverage"],"width":489,"height":999,"github_stars":25},{"name":"svviz","url":"https://github.com/svviz/svviz","language":["Python"],"tags":["Static","SV","Insertion"],"img":"svviz.png","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btv478","year":2015,"citations":45},"width":1604,"height":893,"github_stars":80},{"name":"svviz2","url":"https://github.com/nspies/svviz2","language":["Python"],"tags":["Static","SV","Insertion"],"img":"svviz2.png","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btv478","year":2015,"citations":45},"width":1834,"height":1129,"github_stars":49},{"name":"TnT","url":"https://tnt.marlin.pub/articles/introduction","language":["R","JS"],"github":"https://github.com/tntvis/tnt.genome","img":"tnt.png","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btw210","year":2016,"citations":3},"tags":["Gene structure"],"platform":["Web","Interactive"],"width":741,"height":215,"github_stars":18},{"name":"trackViewer","url":"https://bioconductor.org/packages/release/bioc/vignettes/trackViewer/inst/doc/trackViewer.html","language":["R"],"img":"trackviewer.png","github":"https://github.com/jianhong/trackViewer","pub":{"doi":"https://doi.org/10.1038/s41592-019-0430-y","year":2019,"citations":137},"tags":["Static","Lollipops","Quantitative"],"width":1152,"height":960,"github_stars":58},{"tags":["Comparative","Deadlink"],"name":"Aequatus","img":"aequatus.png","pub":{"doi":"https://doi.org/10.1093/gigascience/giy128","year":2018,"citations":1},"url":"https://github.com/TGAC/Aequatus","language":["JS","Java"],"platform":["Web","Silo"],"width":626,"height":281,"github_stars":7},{"tags":["Comparative"],"name":"AliTV","img":"alitv.png","url":"https://alitvteam.github.io/AliTV/d3/AliTV.html","pub":{"doi":"https://doi.org/10.7717/peerj-cs.116","year":2017,"citations":63},"platform":["Web"],"language":["JS","D3","Perl"],"width":2500,"height":1923},{"tags":["Comparative"],"name":"Artemis comparison tool (ACT)","github":"https://github.com/sanger-pathogens/Artemis","img":"artemis_act.png","url":"https://www.sanger.ac.uk/science/tools/artemis-comparison-tool-act","pub":{"doi":"https://doi.org/10.1093/bioinformatics/bti553","year":2005,"citations":1349},"language":["Java"],"platform":["Desktop"],"width":648,"height":530,"github_stars":229},{"tags":["Comparative"],"name":"Biodalliance comparative demo","github":"https://github.com/dasmoth/dalliance","url":"http://biodalliance.org/dev/test-comparative.html","pub":{"doi":"http://doi.org/10.1093/bioinformatics/btr020","year":2011,"citations":89},"language":["JS"],"img":"biodalliance_comparative.png","platform":["Web"],"width":1222,"height":681,"github_stars":226},{"tags":["Comparative","Pangenome","Microbiology"],"name":"Chromatiblock","url":"https://github.com/mjsull/chromatiblock","platform":["Web"],"language":["Python"],"img":"chromatiblock.png","pub":{"doi":"https://doi.org/10.21105/joss.02451","year":2020,"citations":1},"width":1654,"height":1079,"github_stars":30},{"tags":["Comparative"],"name":"CMap","github":"https://github.com/gmod/cmap","url":"http://gmod.org/wiki/CMap","language":["Perl"],"img":"cmap.jpg","pub":{"doi":"https://dx.doi.org/10.1093%2Fbioinformatics%2Fbtp458","year":2009,"citations":64},"platform":["Web"],"width":620,"height":831,"github_stars":5},{"tags":["Comparative","Dotplot","Linear","JBrowse integration"],"name":"CoGe","github":"https://github.com/LyonsLab/coge","img":"coge.png","url":"https://genomevolution.org/coge/","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btx144","year":2017,"citations":132},"language":["Perl"],"platform":["Web","Silo"],"width":1313,"height":469,"github_stars":44},{"tags":["Comparative","UCSC integration"],"name":"Comparative assembly hub / \"snake track\"","url":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4296145/","platform":["Web"],"img":"comparative_assembly_hub.png","pub":{"url":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4296145/","doi":"https://dx.doi.org/10.1093%2Fbioinformatics%2Fbtu534","year":2014,"citations":27},"width":440,"height":140},{"tags":["Comparative"],"name":"CrossBrowse","url":"https://github.com/shenkers/CrossBrowse","language":["Java"],"platform":["Desktop"],"img":"crossbrowse.png","pub":{"doi":"https://doi.org/10.1101/272880","year":2018,"citations":0},"width":1101,"height":652,"github_stars":8},{"tags":["Comparative","Ideogram"],"name":"CVit","url":"https://sourceforge.net/projects/cvit/","github":"https://github.com/ekcannon/CViT","pub":{"doi":"10.1155/2011/373875","year":2011,"citations":26},"img":"cvit.png","language":["Perl"],"platform":["Web"],"width":1100,"height":850,"github_stars":2},{"tags":["Comparative","Ideogram"],"name":"Cvit.js","language":["JS"],"img":"cvitjs.png","url":"https://github.com/LegumeFederation/cvitjs","platform":["Web"],"width":1000,"height":500,"github_stars":10},{"tags":["Comparative"],"name":"EasyFig","github":"https://github.com/mjsull/Easyfig","img":"easyfig.png","language":["Python"],"url":"https://mjsull.github.io/Easyfig/","platform":["CLI"],"pub":{"url":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3065679/","doi":"https://dx.doi.org/10.1093%2Fbioinformatics%2Fbtr039","year":2011,"citations":2597},"width":5000,"height":2171,"github_stars":86},{"name":"Edinburgh-Genome-Foundry/DnaFeaturesViewer","url":"https://github.com/Edinburgh-Genome-Foundry/DnaFeaturesViewer","img":"dnafeaturesviewer.png","platform":["Desktop"],"language":["Python"],"note":"See also https://github.com/Edinburgh-Genome-Foundry/Caravagene","tags":["Microbiology","Synthetic biology"],"pub":{"url":"https://academic.oup.com/bioinformatics/article-abstract/36/15/4350/5868559?redirectedFrom=PDF","doi":"https://doi.org/10.1093/bioinformatics/btaa213","year":2020,"citations":85},"width":1000,"height":300,"github_stars":567},{"tags":["Comparative"],"name":"GBrowse_syn","github":"https://github.com/GMOD/GBrowse","url":"http://gmod.org/wiki/GBrowse_syn","pub":{"doi":"https://dx.doi.org/10.1002%2F0471250953.bi0912s31","year":2010,"citations":32},"img":"gbrowse_syn.png","language":["Perl"],"platform":["Web"],"width":1340,"height":428,"github_stars":49},{"tags":["Comparative","Gene order","Pangenome"],"name":"Genome Context Viewer","github":"https://github.com/legumeinfo/gcv","url":"https://www.legumefederation.org/gcv/phytozome_10_2/","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btx757","year":2017,"citations":25},"img":"genome_context_viewer.png","platform":["Web","Silo"],"language":["JS","Typescript"],"width":2550,"height":2010,"github_stars":35},{"tags":["Comparative"],"name":"Genome-plots-processing","img":"genome_plots_processing.png","pub":{"doi":"https://dx.doi.org/10.1073%2Fpnas.1603910113","year":2016,"citations":218},"url":"https://github.com/filip-husnik/genome-plots-processing","language":["Processing"],"width":1712,"height":1114,"github_stars":1},{"tags":["Comparative","Ideogram","Dotplot"],"name":"Genomicus","url":"https://www.genomicus.biologie.ens.fr/genomicus/","pub":{"doi":"10.1093/nar/gkab1091","year":2021,"citations":45},"img":"genomicus.png","platform":["Web","Silo"],"width":1459,"height":1438},{"tags":["Comparative"],"name":"gggenomes","url":"https://github.com/thackl/gggenomes","img":"gggenomes.png","pub":{"doi":"http://dx.doi.org/10.1101/2020.11.30.404863","year":2020,"citations":3},"language":["R"],"platform":["Package"],"width":3000,"height":1200,"github_stars":563},{"tags":["Comparative","Linear","Quantitative"],"name":"GIVE","github":"https://github.com/Zhong-Lab-UCSD/Genomic-Interactive-Visualization-Engine","img":"give_hic.png","url":"https://zhong-lab-ucsd.github.io/GIVE_homepage/","language":["JS"],"pub":{"doi":"https://doi.org/10.1186/s13059-018-1465-6","year":2018,"citations":16},"platform":["Web"],"width":1680,"height":1050,"github_stars":142},{"tags":["Comparative"],"name":"mauve-viewer","img":"mauve_viewer.png","url":"https://github.com/nconrad/mauve-viewer","language":["JS"],"platform":["Web"],"width":2112,"height":1367,"github_stars":40},{"tags":["Comparative","Dotplot","Linear"],"name":"MCScan (python version)","img":"mcscan_python.png","url":"https://github.com/tanghaibao/jcvi/wiki/MCscan-(Python-version)","github":"https://github.com/tanghaibao/jcvi","language":["Python"],"pub":{"doi":"10.1186/s13059-014-0573-1","year":2015,"citations":329},"platform":["CLI"],"width":833,"height":257,"github_stars":706},{"name":"MCScanX","tags":["Comparative","Dotplot","Circular","Linear","Ideogram"],"url":"https://github.com/wyp1125/MCScanX","img":"mcscanx.png","pub":{"doi":"https://dx.doi.org/10.1093%2Fnar%2Fgkr1293","year":2012,"citations":4170},"language":["Perl"],"platform":["CLI"],"width":1424,"height":1380,"github_stars":202},{"tags":["Comparative","Deadlink"],"name":"mGSV (multiple genome synteny viewer)","img":"mgsv.jpg","url":"https://github.com/kashmatic/mGSV","pub":{"doi":"https://dx.doi.org/10.1186%2F1471-2105-13-190","year":2012,"citations":17},"platform":["Web","Silo"],"width":600,"height":322,"github_stars":5},{"tags":["Comparative"],"name":"MizBee","img":"mizbee.jpg","language":["Processing"],"url":"http://www.cs.utah.edu/~miriah/mizbee/Overview.html","platform":["Desktop"],"pub":{"url":"https://ieeexplore.ieee.org/document/5290692","doi":"10.1109/TVCG.2009.167","year":2009,"citations":119},"width":550,"height":355},{"tags":["Comparative"],"name":"Multiple genome viewer","img":"mgv.png","url":"http://www.informatics.jax.org/mgv/","github":"https://github.com/mgijax/mgv","language":["JS","VueJS"],"platform":["Web","Silo"],"pub":{"doi":"https://doi.org/10.1007/s00335-021-09904-1","year":2021,"citations":4},"width":512,"height":341,"github_stars":11},{"tags":["Comparative","Gene order"],"name":"OMA local synteny browser","img":"oma.png","pub":{"doi":"http://doi.org/10.1093/nar/gkaa1007","year":2020,"citations":149},"url":"https://omabrowser.org/oma/synteny/ADH1A_HUMAN/","platform":["Web","Silo"],"width":1848,"height":688},{"tags":["Comparative","Dotplot","Linear"],"name":"pafr","img":"pafr.png","url":"https://github.com/dwinter/pafr","language":["R","ggplot2"],"width":672,"height":960,"github_stars":62},{"tags":["Comparative"],"name":"Parasight","img":"parasight.png","url":"https://baileylab.brown.edu/parasight/galframe.html","note":"Examples at https://ratparalogy.gs.washington.edu/","pub":{"doi":"https://doi.org/10.1038/ng1562","year":2005,"citations":741},"language":["Perl"],"width":570,"height":285},{"tags":["Comparative"],"name":"progressiveMauve viewer","img":"progressive_mauve.png","github":"https://github.com/koadman/mauve","language":["Java"],"url":"http://darlinglab.org/mauve/user-guide/viewer.html","platform":["Desktop"],"width":638,"height":512,"github_stars":23},{"tags":["Comparative","Dotplot","Linear"],"name":"SyMap","url":"http://www.agcol.arizona.edu/software/symap/","platform":["Desktop"],"img":"symap.png","pub":{"doi":"https://dx.doi.org/10.1101%2Fgr.5396706","year":2006,"citations":156},"width":640,"height":1131},{"tags":["Comparative"],"name":"Synima","img":"synima.png","url":"https://github.com/rhysf/Synima","platform":["CLI"],"language":["Perl"],"pub":{"doi":"https://dx.doi.org/10.1186%2Fs12859-017-1939-7","year":2017,"citations":37},"width":778,"height":539,"github_stars":59},{"tags":["Comparative"],"img":"jax_synteny_browser.png","name":"Synteny browser","url":"https://github.com/TheJacksonLaboratory/syntenybrowser","platform":["Web"],"width":1848,"height":815,"github_stars":4},{"tags":["Comparative","Dotplot","Linear","Microbiology"],"name":"SynTView","img":"syntview.png","url":"http://hub18.hosting.pasteur.fr/SynTView/documentation/","platform":["Desktop","Web","Flash"],"pub":{"url":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3849071/","doi":"https://dx.doi.org/10.1186%2F1471-2105-14-277","year":2013,"citations":22},"width":1361,"height":1152},{"tags":["Comparative","Linear","Dotplot"],"name":"SynVisio","img":"synvisio.png","language":["JS","D3"],"url":"https://synvisio.github.io/","github":"https://github.com/kiranbandi/synvisio","width":1920,"height":1080,"github_stars":75},{"tags":["Comparative","Ideogram"],"name":"Tripal MapViewer","language":["PHP","JS"],"github":"https://github.com/statonlab/tripal_map","img":"tripal_mapviewer.png","pub":{"doi":"https://doi.org/10.1093/database/baz100","year":2019,"citations":4},"width":1000,"height":435,"github_stars":1},{"tags":["Comparative"],"name":"VISTA browser","url":"http://pipeline.lbl.gov/cgi-bin/gateway2","img":"vista.png","platform":["Web","Silo"],"pub":{"doi":"https://dx.doi.org/10.1093%2Fnar%2Fgkh458","year":2004,"citations":1823},"width":1222,"height":348},{"tags":["Comparative"],"name":"XMatchView","img":"xmatchview.png","github":"https://github.com/bcgsc/xmatchview","language":["Python"],"url":"https://www.bcgsc.ca/resources/software/xmatchview","platform":["Desktop"],"pub":{"doi":"https://doi.org/10.21105/joss.00497","year":2018,"citations":3},"width":1000,"height":500,"github_stars":36},{"tags":["Graph"],"name":"AGB assembly graph browser","img":"agb.jpeg","github":"https://github.com/almiheenko/AGB","platform":["Web"],"language":["Python"],"pub":{"url":"https://academic.oup.com/bioinformatics/article/35/18/3476/5306331","doi":"https://doi.org/10.1093/bioinformatics/btz072","year":2019,"citations":13},"github_stars":77,"width":1975,"height":1044},{"tags":["Graph"],"name":"Bandage","img":"bandage.png","url":"https://github.com/rrwick/Bandage/","note":"See also BandageNG https://github.com/asl/BandageNG","language":["C++"],"platform":["Desktop"],"pub":{"url":"https://academic.oup.com/bioinformatics/article/31/20/3350/196114","doi":"https://doi.org/10.1093/bioinformatics/btv383","year":2015,"citations":1651},"width":440,"height":157,"github_stars":567},{"tags":["Graph"],"name":"gfaestus","img":"gfaestus.png","url":"https://github.com/chfi/gfaestus","note":"See demo video displaying GFF3 annotations on graph https://www.youtube.com/watch?v=A-HnKXIrJl4","language":["Rust"],"width":679,"height":448,"github_stars":61},{"tags":["SV","CNV","Breakends","Graph"],"name":"gGnomes","img":"ggnomesr.png","url":"https://github.com/mskilab/gGnome","language":["R"],"platform":["Web"],"width":1536,"height":1920,"github_stars":37},{"tags":["SV","CNV","Breakends","Graph"],"name":"gGnomes.js","img":"ggnomes.png","url":"https://github.com/mskilab/gGnome.js","language":["JS"],"platform":["Web"],"width":1222,"height":575,"github_stars":26},{"tags":["Graph"],"name":"graphgenomeviewer","img":"graphgenomeviewer.png","url":"https://cmdcolin.github.io/graphgenomeviewer/","github":"https://github.com/cmdcolin/graphgenomeviewer/","language":["JS"],"platform":["Web"],"width":1222,"height":575,"github_stars":8},{"tags":["Graph","Alignments viewer","Circular","SV"],"name":"MoMi-G","img":"momig.png","url":"https://github.com/MoMI-G/MoMI-G","pub":{"doi":"10.1186/s12859-019-3145-2","year":2019,"citations":21},"language":["JS"],"platform":["Web"],"width":2880,"height":1754,"github_stars":85},{"tags":["Graph"],"name":"odgi draw + odgi viz + odgi inject","language":["C++"],"github":"https://github.com/pangenome/odgi","img":"odgi.png","pub":{"doi":"https://doi.org/10.1101/2021.11.10.467921","year":2021,"citations":14},"note":"Example from https://github.com/pangenome/pggb, see also gene arrow map https://odgi.readthedocs.io/en/latest/rst/tutorials/injecting_gene_arrows.html","url":"https://odgi.readthedocs.io/en/latest/index.html","width":1389,"height":1587,"github_stars":182},{"tags":["Graph"],"name":"sequence tube map","img":"sequence_tube_map.png","url":"https://github.com/vgteam/sequenceTubeMap","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btz597","year":2019,"citations":30},"language":["JS"],"platform":["Web"],"width":1594,"height":422,"github_stars":173},{"tags":["Text based","MSA"],"name":"Alan","img":"alan.png","url":"https://github.com/mpdunne/alan","language":["Bash"],"platform":["CLI"],"width":1096,"height":712,"github_stars":111},{"tags":["Text based","MSA"],"name":"Alv","img":"alv.png","url":"https://github.com/arvestad/alv","pub":{"doi":"https://doi.org/10.21105/joss.00955","year":2018,"citations":3},"platform":["CLI"],"language":["Python"],"width":2244,"height":598,"github_stars":106},{"tags":["Text based","Alignments viewer"],"name":"ASCIIGenome","img":"asciigenome.png","url":"https://github.com/dariober/ASCIIGenome","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btx007","year":2017,"citations":4},"language":["Java"],"platform":["CLI"],"width":1368,"height":632,"github_stars":194},{"tags":["Text based","Coverage"],"name":"Bamcov","img":"bamcov.png","url":"https://github.com/fbreitwieser/bamcov","language":["C"],"platform":["CLI"],"width":637,"height":166,"github_stars":98},{"tags":["Text based"],"name":"BLAST+ (reading -outfmt 0 pairwise output is the original CLI bioinformatics!)","url":"ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/","pub":{"doi":"10.1186/1471-2105-10-421","year":2009,"citations":13752},"language":["C++"],"platform":["CLI"]},{"tags":["Text based"],"name":"Hapviz","url":"https://github.com/ekg/hapviz","img":"hapviz.png","language":["C"],"platform":["CLI"],"width":870,"height":416,"github_stars":11},{"tags":["Text based"],"name":"plotReads","img":"plotreads.png","url":"http://campuspress.yale.edu/knightlab/ruddle/plotreads/","platform":["CLI","Static"],"width":2842,"height":1634},{"name":"pyBamView","tags":["Alignments viewer","Static"],"url":"https://mgymrek.github.io/pybamview/","platform":["CLI"],"img":"pybamview.png","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btu565","year":2014,"citations":6},"note":"See supplementary info for more figures, supports padded SAM/BAM which is fairly rare","language":["Python"],"width":644,"height":695},{"tags":["Text based"],"name":"Rna Alignment Viewers (Colorstock, SScolor, Ratón)","url":"http://biowiki.org/wiki/index.php?title=Rna_Alignment_Viewers&redirect=no","img":"rnaalignment.png","platform":["CLI"],"language":["Perl"],"pub":{"url":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7109877/","doi":"https://dx.doi.org/10.1093%2Fbioinformatics%2Fbtm635","year":2008,"citations":3},"width":544,"height":286},{"tags":["Text based"],"name":"Sam2pairwise","url":"https://github.com/mlafave/sam2pairwise","pub":{"doi":"https://doi.org/10.5281/zenodo.11377"},"language":["C++"],"platform":["CLI"],"github_stars":40},{"tags":["Text based","Coverage"],"name":"Samtools depth visualization","language":["C"],"img":"depthplot.png","url":"https://twitter.com/yokofakun/status/1178686978541441025","platform":["CLI","GNUplot"],"width":1101,"height":446},{"tags":["Text based","Alignments viewer"],"name":"Samtools tview","url":"http://www.htslib.org/","github":"https://github.com/samtools/samtools","language":["C"],"platform":["CLI"],"pub":{"doi":"https://doi.org/10.1093/bioinformatics/btp352","year":2009,"citations":46097},"img":"tview.png","width":1290,"height":875,"github_stars":1572},{"tags":["Text based"],"name":"SvABA","img":"svaba.png","url":"https://github.com/walaj/svaba#alignmentstxtgz","pub":{"doi":"https://doi.org/10.1101/gr.221028.117","year":2018,"citations":281},"platform":["CLI"],"width":5360,"height":1587,"github_stars":226},{"tags":["Text based"],"name":"VizAln (from HipSTR)","img":"hipstr.png","url":"https://github.com/tfwillems/HipSTR","pub":{"doi":"https://doi.org/10.1038/nmeth.4267","year":2017,"citations":214},"width":4750,"height":2046,"github_stars":92},{"tags":["Circular"],"name":"Anvio","github":"https://github.com/merenlab/anvio","pub":{"doi":"https://doi.org/10.7717/peerj.1319","year":2015,"citations":1374},"url":"https://peerj.com/articles/1319/","language":["Python"],"github_stars":410},{"tags":["Circular"],"name":"BioCircos.js","img":"biocircos.png","language":["JS"],"pub":{"doi":"https://doi.org/10.1093/bioinformatics/btw041","year":2016,"citations":114},"url":"http://bioinfo.ibp.ac.cn/biocircos/","platform":["Web"],"width":900,"height":600},{"tags":["Commercial","Circular"],"name":"Circa","img":"circa.png","url":"https://omgenomics.com/circa","platform":["Desktop"],"width":1158,"height":1158},{"tags":["Circular","Static"],"name":"Circleator","github":"https://github.com/jonathancrabtree/Circleator","img":"circleator.png","url":"http://jonathancrabtree.github.io/Circleator/index.html","pub":{"doi":"https://dx.doi.org/10.1093%2Fbioinformatics%2Fbtu505","year":2014,"citations":32},"language":["Perl"],"width":420,"height":420,"github_stars":46},{"tags":["Circular","Static"],"name":"circlize","img":"circlize.jpeg","url":"https://github.com/jokergoo/circlize","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btu393","year":2014,"citations":2685},"language":["R"],"width":1181,"height":1181,"github_stars":950},{"tags":["Circular","Static"],"name":"Circos","img":"circos.png","note":"no official github to my knowledge","url":"http://circos.ca/","pub":{"doi":"https://dx.doi.org/10.1101%2Fgr.092759.109","year":2009,"citations":8156},"language":["Perl"],"width":310,"height":427,"github_stars":68},{"tags":["Circular"],"name":"CircosJS","language":["JS"],"img":"circosjs.png","url":"https://github.com/nicgirault/circosJS","platform":["Web"],"width":888,"height":905,"github_stars":503},{"tags":["Circular"],"name":"DNAPlotter","img":"dnaplotter.jpg","url":"https://www.sanger.ac.uk/science/tools/dnaplotter","pub":{"doi":"http://dx.doi.org/10.1093%2Fbioinformatics%2Fbtn578","year":2008,"citations":692},"platform":["Desktop"],"language":["Java"],"width":663,"height":577},{"tags":["Circular","Linear"],"name":"GenomeProjector","url":"https://github.com/gaou/g-language/wiki","github":"https://github.com/gaou/g-language","img":"glanguage.jpg","platform":["Desktop"],"language":["Perl"],"pub":{"url":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2636772/","doi":"https://dx.doi.org/10.1186%2F1471-2105-10-31","year":2009,"citations":32},"width":1024,"height":768,"github_stars":1},{"tags":["Circular","Static","Comparative"],"name":"JupiterPlot","img":"jupiterplot.png","url":"https://github.com/JustinChu/JupiterPlot","pub":{"doi":"https://doi.org/10.5281/zenodo.1241235"},"language":["Perl"],"width":324,"height":324,"github_stars":66},{"tags":["Static"],"name":"mummer2circos","img":"mummer2circos.png","url":"https://github.com/metagenlab/mummer2circos","language":["Python"],"width":3000,"height":3000,"github_stars":92},{"tags":["Circular","Static"],"name":"OGDRAW","img":"ogdraw.png","url":"https://chlorobox.mpimp-golm.mpg.de/OGDraw.html","platform":["Web"],"pub":{"doi":"https://doi.org/10.1093/nar/gkz238","year":2019,"citations":1174},"width":1250,"height":1250},{"tags":["Synthetic biology"],"img":"seqviz.png","name":"seqviz","url":"https://github.com/Lattice-Automation/seqviz#viewer","platform":["Web"],"width":1848,"height":633,"github_stars":220},{"tags":["Synthetic biology"],"img":"aplasmideditor.png","twitter":"https://twitter.com/apeplasmid?lang=en","name":"ApE (a plasmid editor)","url":"https://jorgensen.biology.utah.edu/wayned/ape/","platform":["Desktop"],"width":828,"height":1725},{"tags":["Historical","Deadlink","Gene structure","Annotation","Comparative"],"name":"Apollo","img":"apollo.jpg","url":"https://web.archive.org/web/20060927154956/http://www.fruitfly.org/annot/apollo/","note":"URL is an archive.org link","platform":["Desktop"],"language":["Java"],"pub":{"url":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC151184/","doi":"https://dx.doi.org/10.1186%2Fgb-2002-3-12-research0082","year":2002,"citations":288},"width":600,"height":247},{"tags":["Gene structure","Annotation","JBrowse integration"],"img":"webapollo.jpg","name":"Apollo aka WebApollo","github":"https://github.com/gmod/apollo","url":"https://genomearchitect.readthedocs.io/en/latest/","platform":["Web"],"pub":{"doi":"https://doi.org/10.1186/gb-2013-14-8-r93","year":2013,"citations":307},"language":["Java","Groovy","JS"],"width":685,"height":384,"github_stars":123},{"tags":["Synthetic biology"],"name":"Chopchop","img":"chopchop.png","url":"http://chopchop.cbu.uib.no/","pub":{"doi":"https://doi.org/10.1093/nar/gkz365","year":2019,"citations":1156},"width":1378,"height":575},{"tags":["Alignments viewer"],"name":"Chromatic","url":"https://chromatic.nci.nih.gov/","img":"chromatic.png","platform":["Web"],"language":["WASM"],"pub":{"url":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5987889/","doi":"https://dx.doi.org/10.1177%2F1176935118771972","year":2018,"citations":4},"width":1019,"height":673},{"tags":["CNV","Annotation","Deadlink"],"name":"cnvCurator","url":"http://www.acsu.buffalo.edu/~lm69/cnvCurator","platform":["Desktop"],"img":"cnvcurator.png","interactive":["true"],"language":["Java"],"pub":{"url":"http://bmcbioinformatics.biomedcentral.com/articles/10.1186/s12859-015-0766-y","doi":"10.1186/s12859-015-0766-y","year":2015,"citations":2},"width":778,"height":476},{"tags":["Gene structure","Coverage","Variation"],"interactive":["true"],"name":"D3GB","github":"https://github.com/BioinfoUSAL/D3GB","note":"Live link http://d3gb.usal.es/docs/HumanGenomeBrowser/index.html?r=12:121113963-121213963 doesn't work anymore","img":"d3gb.png","url":"http://d3gb.usal.es/","language":["JS","D3","R"],"pub":{"doi":"https://doi.org/10.1089/cmb.2016.0213","year":2017,"citations":14},"platform":["Web"],"width":970,"height":360,"github_stars":0},{"tags":["Exotic"],"img":"dnaskittle.png","github":"https://github.com/josiahseaman/skittle","language":["Python","JS"],"name":"DNASkittle","url":"https://www.dnaskittle.com/","pub":{"doi":"10.1186/1471-2105-10-452","year":2009,"citations":7},"platform":["Web"],"width":1194,"height":441,"github_stars":7},{"tags":["Epigenomics"],"name":"EaSeq","img":"easeq.png","url":"https://easeq.net/screenshots/","platform":["Desktop"],"pub":{"url":"https://www.nature.com/articles/nsmb.3180","doi":"https://doi.org/10.1038/nsmb.3180","year":2016,"citations":221},"width":243,"height":312},{"tags":["Exotic"],"name":"FluentDNA","img":"fluentdna.jpeg","url":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7203487/","pub":{"doi":"https://dx.doi.org/10.3389%2Ffgene.2020.00292","year":2020,"citations":3},"platform":["Web"],"width":256,"height":256},{"tags":["Alignments viewer","Linear"],"name":"Gambit","img":"gambit.png","url":"http://labsergen.langebio.cinvestav.mx/bioinformatics/jacob/?p=473","platform":["Desktop"],"width":1024,"height":671},{"tags":["SV","Alignments viewer"],"name":"Ribbon","language":["JS"],"url":"http://genomeribbon.com/","github":"https://github.com/MariaNattestad/ribbon","img":"genomeribbon.png","platform":["Web"],"interactive":["true"],"pub":{"url":"https://academic.oup.com/bioinformatics/advance-article-abstract/doi/10.1093/bioinformatics/btaa680/5885081?redirectedFrom=fulltext","doi":"https://doi.org/10.1093/bioinformatics/btaa680","year":2020,"citations":48},"width":720,"height":405,"github_stars":251},{"tags":["CNV","GWAS","Linear","MSA"],"name":"GenomeSpy","img":"genomespy.png","github":"https://github.com/genome-spy/genome-spy","url":"https://genomespy.app/","language":["JS","WebGL"],"platform":["Web"],"interactive":["true"],"width":1194,"height":476,"github_stars":165},{"tags":["General","Linear"],"name":"Genoverse","url":"https://github.com/wtsi-web/Genoverse","language":["JS"],"img":"genoverse.png","platform":["Web"],"width":1194,"height":476,"github_stars":106},{"tags":["Linear","Population"],"name":"Gnomad browser","url":"https://github.com/macarthur-lab/gnomadjs","language":["JS"],"pub":{"doi":"https://doi.org/10.1038/s41586-020-2308-7","year":2020,"citations":6163},"img":"gnomad.png","twitter":"https://twitter.com/gnomad_project","platform":["Web","Silo"],"width":1081,"height":599,"github_stars":79},{"tags":["SV","Linear"],"name":"Gremlin","img":"gremlin.png","url":"http://compbio.cs.brown.edu/projects/gremlin/","pub":{"doi":"https://doi.org/10.1109/tvcg.2010.163","year":2010,"citations":22},"platform":["Web"],"width":1072,"height":745},{"tags":["Expression","Linear","Linkage disequilibrium"],"img":"gtex_locus.png","name":"GTEX Locus browser","pub":{"doi":"https://doi.org/10.1126/science.aaz1776","year":2020,"citations":2529},"url":"https://gtexportal.org/home/locusBrowserPage/ACTN3","platform":["Web"],"width":1194,"height":767},{"tags":["Population","Linkage disequilibrium","GWAS"],"name":"GWAS catalog browser","img":"gwascatalog.png","pub":{"doi":"https://doi.org/10.1093/nar/gky1120","year":2018,"citations":3177},"url":"https://www.ebi.ac.uk/gwas/variants/rs1558902","platform":["Web"],"twitter":"https://twitter.com/gwascatalog?lang=en","width":748,"height":533},{"tags":["Alignments viewer","Assembly QC"],"name":"Hawkeye","github":"https://github.com/peterhj/amos","language":["C++"],"img":"hawkeye.png","pub":{"url":"https://genomebiology.biomedcentral.com/articles/10.1186/gb-2007-8-3-r34","doi":"10.1186/gb-2007-8-3-r34","year":2007,"citations":55},"platform":["Desktop"],"width":1200,"height":765,"github_stars":0},{"tags":["Population","GWAS"],"name":"Human genome dating","url":"https://human.genome.dating/region/chr1_13250000","language":["JS"],"platform":["Web"],"img":"human_genome_dating.png","pub":{"doi":"https://doi.org/10.1371/journal.pbio.3000586","year":2020,"citations":138},"note":"made with vega/d3","width":1746,"height":1352},{"tags":["Assembly QC","Graph"],"name":"Icarus QUAST","img":"icarus.png","url":"http://quast.sourceforge.net/icarus.html","github":"https://github.com/ablab/quast","platform":["Web"],"pub":{"doi":"https://doi.org/10.1093/bioinformatics/btw379","year":2016,"citations":107},"width":1504,"height":797,"github_stars":370},{"tags":["SV","Alignments viewer"],"name":"InGAP-SV","img":"ingap_sv.png","language":["Java"],"url":"http://ingap.sourceforge.net/","pub":{"doi":"10.1093/nar/gkr506","year":2011,"citations":64},"platform":["Desktop"],"width":417,"height":510},{"tags":["SV","Introgression"],"name":"Introgression browser","img":"introgression_browser.png","url":"https://git.wageningenur.nl/aflit001/ibrowser","pub":{"url":"https://onlinelibrary.wiley.com/doi/pdf/10.1111/tpj.12800","doi":"10.1111/tpj.12800","year":2015,"citations":17},"language":["Python"],"platform":["Web"],"width":619,"height":359},{"tags":["Microbiology","Circular","Linear"],"name":"IslandViewer and IslandPlot","url":"https://bl.ocks.org/lairdm/c6c235dbfa6e6ee61565","img":"islandplot.png","language":["JS","D3"],"platform":["Web"],"github":"https://github.com/lairdm/islandplot","pub":{"doi":"https://doi.org/10.1093/nar/gkv401","year":2015,"citations":251},"note":"web app using it here https://pathogenomics.sfu.ca/islandviewer uses D3, SVG","width":937,"height":374,"github_stars":33},{"tags":["Alignment viewer"],"name":"MagicViewer","language":["Java"],"img":"magicviewer.jpeg","url":"http://bioinformatics.zj.cn/magicviewer/","platform":["Desktop"],"pub":{"url":"https://academic.oup.com/nar/article/38/suppl_2/W732/1096410","doi":"https://doi.org/10.1093/nar/gkq302","year":2010,"citations":40},"width":1280,"height":960},{"tags":["GWAS","Population"],"name":"Locuszoom","github":"https://github.com/statgen/locuszoom","img":"locuszoom.png","url":"http://locuszoom.org/","language":["R","Python"],"pub":{"doi":"https://doi.org/10.1093/bioinformatics/btq419","year":2010,"citations":2199},"platform":["Web"],"width":488,"height":310,"github_stars":149},{"name":"Locuszoom.js","url":"http://locuszoom.org/locuszoomjs.php","github":"https://github.com/statgen/locuszoom","platform":["Web"],"pub":{"doi":"https://doi.org/10.1093/bioinformatics/btab186","year":2021,"citations":156},"github_stars":149},{"tags":["Alignments viewer"],"name":"LookSeq","github":"https://github.com/magnusmanske/lookseq","img":"lookseq.png","url":"https://www.sanger.ac.uk/tool/lookseq/","pub":{"doi":"10.1101/gr.093443.109","year":2009,"citations":50},"platform":["Web"],"width":1918,"height":1049,"github_stars":4},{"tags":["Population"],"name":"Panoptes","img":"panoptes.png","github":"https://github.com/cggh/panoptes","language":["Python","JS"],"url":"https://www.malariagen.net/apps/ag1000g/phase1-AR3/index.html","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btx410","year":2017,"citations":6},"width":1378,"height":476,"github_stars":36},{"tags":["Alignments viewer"],"name":"MapView","img":"mapview.jpg","url":"https://sites.google.com/site/wjwdavy/","platform":["Desktop"],"note":"links in original paper are dead, but URL provided here works","pub":{"url":"https://academic.oup.com/bioinformatics/article/25/12/1554/193807","doi":"https://doi.org/10.1093/bioinformatics/btp255","year":2009,"citations":66},"width":500,"height":397},{"tags":["Alignments viewer"],"name":"NGB","img":"ngb.png","url":"https://github.com/epam/NGB","platform":["Web"],"language":["Java"],"width":1920,"height":921,"github_stars":154},{"tags":["Coverage"],"name":"SeqCover","img":"seqcover.png","github":"https://github.com/brentp/seqcover","platform":["Web"],"url":"https://brentp.github.io/seqcover/#gene=AIFM1","width":1378,"height":476,"github_stars":50},{"tags":["Special-purpose"],"name":"SEQing","img":"seqing.png","url":"https://github.com/malewins/SEQing","pub":{"doi":"https://doi.org/10.1186/s12859-020-3434-9","year":2020,"citations":8},"language":["Python"],"platform":["Web"],"width":1169,"height":950,"github_stars":8},{"tags":["CNV"],"name":"SFARI","url":"https://gene.sfari.org/database/human-gene/","pub":{"doi":"https://doi.org/10.1242/dmm.005439","year":2010,"citations":232},"img":"sfari.jpg","platform":["Web","Silo"],"width":745,"height":367},{"tags":["Alignments viewer"],"name":"Short read assembly browser","img":"short_read_assembly_browser.png","platform":["Web","Silo"],"pub":{"doi":"https://doi.org/10.1093/pcp/pcs183","year":2013,"citations":578},"url":"https://rapdb.dna.affrc.go.jp/AssemblyBrowser2/index.html?ref=%22chr01%22&run_id=%22G4toI1%22&start=%22234780%22&end=%22236631%22","width":1378,"height":476},{"tags":["CNV"],"name":"SNPitty","url":"https://bitbucket.org/ccbc/snpitty/src/master/","language":["R"],"img":"snpitty.jpg","platform":["Web"],"pub":{"url":"https://www.jmdjournal.org/article/S1525-1578(17)30166-6/fulltext","doi":"https://doi.org/10.1016/j.jmoldx.2017.11.011","year":2018,"citations":14},"width":753,"height":361},{"tags":["MSA","Deadlink"],"name":"SNIPViz","github":"https://github.com/yeastrc/snipviz","pub":{"doi":"https://doi.org/10.1186/1756-0500-7-468","year":2014,"citations":7},"url":"http://www.yeastrc.org/snipviz/4.HTML_Config_retrieve_newick_and_fasta_from_server/snip_viz_HTML_config_with_newick_clustering.html","img":"snpviz.png","platform":["Web"],"width":1377,"height":519,"github_stars":19},{"tags":["SV","CNV"],"name":"SplitThreader","img":"splitthreader.png","github":"https://github.com/MariaNattestad/SplitThreader","language":["JS","PHP"],"url":"http://splitthreader.com/","pub":{"doi":"https://doi.org/10.1101/087981","year":2016,"citations":11},"platform":["Web"],"width":2698,"height":1778,"github_stars":66},{"tags":["Alignments viewer","Assembly QC"],"name":"Staden","language":["C","Tcl/Tk"],"img":"staden.png","url":"https://sourceforge.net/projects/staden/","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btq268","year":2010,"citations":188},"platform":["Desktop"],"width":640,"height":939},{"tags":["Pangenome"],"name":"TASUKE","img":"tasuke.png","url":"https://ricegenome.dna.affrc.go.jp/","note":"info about multi-genome-browser https://tasuke.dna.affrc.go.jp/","pub":{"doi":"https://doi.org/10.1093/dnares/dsz022","year":2019,"citations":21},"platform":["Web"],"width":1377,"height":572},{"tags":["Transposons","Repeats","Deadlink"],"language":["Perl"],"platform":["Web","CGI","Server"],"name":"TE-nest","img":"tenest.jpg","github":"https://github.com/cmdcolin/TEnest","pub":{"doi":"https://doi.org/10.1104/pp.107.110353","year":2007,"citations":55},"note":"this was an online tool that does not appear to exist anymore see https://web.archive.org/web/20170712104431/http://www.plantgdb.org/tool/TEnest/. the github link is re-hosted source code also downloaded from archive.org","width":637,"height":847,"github_stars":1},{"tags":["Transposons","Repeats"],"name":"Transposcope","github":"https://github.com/FenyoLab/transposcope","img":"transposcope.png","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btaa244","year":2020,"citations":0},"language":["JS"],"platform":["Web"],"width":1374,"height":510,"github_stars":8},{"tags":["Special-purpose"],"name":"UGENE","language":["C++"],"img":"ugene.png","url":"http://ugene.net/","github":"https://github.com/ugeneunipro/ugene","platform":["Desktop"],"pub":{"doi":"10.1093/bioinformatics/bts091","year":2012,"citations":2038},"width":796,"height":602,"github_stars":203},{"tags":["Annotation"],"name":"Varsome","img":"varsome.png","pub":{"doi":"https://doi.org/10.1093/bioinformatics/bty897","year":2018,"citations":1141},"url":"https://varsome.com/security-validation/?next=/variant/hg19/NM_000088.3(COL1A1):c.658C%3ET","platform":["Web","Silo"],"width":1378,"height":572},{"tags":["Splicing"],"name":"Vials","pub":{"doi":"10.1109/TVCG.2015.2467911","year":2016,"citations":16},"url":"http://vials.io/","github":"https://github.com/Caleydo/vials","platform":["Web"],"github_stars":13},{"tags":["Quantitative"],"name":"wasm bigwig demo browser","img":"wasm_bigwig.png","url":"https://shk656461.github.io/index.html","language":["WASM"],"platform":["Web"],"width":977,"height":279},{"tags":["General"],"name":"BasePlayer","url":"https://baseplayer.fi/","github":"https://github.com/rkataine/BasePlayer","img":"baseplayer.png","platform":["Desktop"],"language":["Java"],"pub":{"doi":"https://doi.org/10.1038/s41596-018-0052-3","year":2018,"citations":27},"width":858,"height":486,"github_stars":4},{"tags":["General","Historical","Alignments viewer"],"img":"celera.jpeg","name":"Celera genome browser","url":"https://www.csee.umbc.edu/~turner/presentations/bvw2002/sld009.htm","platform":["Desktop"],"width":800,"height":600},{"tags":["General","Alignments viewer"],"name":"IGB","img":"igb.jpg","url":"https://bioviz.org/","platform":["Desktop"],"language":["Java"],"pub":{"url":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4937187/","doi":"https://dx.doi.org/10.1093%2Fbioinformatics%2Fbtw069","year":2016,"citations":309},"width":800,"height":398},{"tags":["General","Alignments viewer","SV","Quantitative"],"name":"IGV","img":"igv.jpg","language":["Java"],"url":"https://igv.org/","github":"https://github.com/igvteam/igv","platform":["Desktop"],"pub":{"doi":"https://dx.doi.org/10.1038%2Fnbt.1754","year":2011,"citations":11174},"width":1124,"height":1280,"github_stars":617},{"tags":["General","SV","Alignments viewer"],"name":"Savant","img":"savant.jpg","github":"https://github.com/compbio-UofT/savant","language":["Java"],"url":"http://bioinformatics-ca.github.io/savant_genome_browser_lab_2015/","platform":["Desktop"],"pub":{"url":"https://pubmed.ncbi.nlm.nih.gov/22638571/","doi":"https://doi.org/10.1093/nar/gks427","year":2012,"citations":44},"width":800,"height":561,"github_stars":12},{"tags":["General","Alignments viewer"],"name":"Tablet","github":"https://github.com/cropgeeks/tablet","img":"tablet.jpeg","language":["Java"],"url":"https://ics.hutton.ac.uk/tablet/","pub":{"doi":"https://doi.org/10.1093/bib/bbs012","year":2012,"citations":766},"platform":["Desktop"],"width":520,"height":408,"github_stars":37},{"tags":["Exotic","GWAS"],"name":"BigTop","language":["JS"],"img":"bigtop.png","url":"https://blog.dnanexus.com/2019-05-21-bigtop-data-visualization/","github":"https://github.com/dnanexus/bigtop","platform":["Web"],"width":537,"height":310,"github_stars":5},{"tags":["Exotic"],"name":"Cylindrical alignment app","img":"cylindrical_alignment_viewer.png","url":"https://sourceforge.net/projects/cylindrical-alignment-app/","alt_url":"https://sourceforge.net/projects/cyl-viewer/","platform":["Desktop"],"width":1920,"height":1080},{"tags":["General","Alignments viewer"],"name":"Biodalliance","github":"https://github.com/dasmoth/dalliance","url":"http://www.biodalliance.org/","platform":["Web"],"img":"biodalliance.png","pub":{"doi":"http://doi.org/10.1093/bioinformatics/btr020","year":2011,"citations":89},"language":["JS"],"width":2002,"height":766,"github_stars":226},{"tags":["General","Comparative"],"name":"Ensembl genome browser","img":"ensembl.png","pub":{"doi":"https://doi.org/10.1093/nar/30.1.38","year":2002,"citations":1145},"url":"https://useast.ensembl.org/Homo_sapiens/Location/View?r=17:63992802-64038237","platform":["Web","Silo"],"width":1121,"height":583},{"tags":["General","Comparative"],"img":"2020ensembl.png","name":"Ensembl genome browser 2020 edition","url":"http://2020.ensembl.org/","platform":["Web"],"width":1378,"height":648},{"tags":["General"],"name":"GBrowse 2","github":"https://github.com/GMOD/GBrowse","img":"gbrowse.png","url":"http://gmod.org/wiki/GBrowse","language":["Perl"],"platform":["Web"],"pub":{"doi":"https://dx.doi.org/10.1093%2Fbib%2Fbbt001","year":2013,"citations":101},"note":"Original gbrowse paper https://doi.org/10.1101/gr.403602","width":800,"height":552,"github_stars":49},{"name":"GenomeMaps","img":"genomemaps.jpg","github":"https://github.com/opencb/genome-maps","url":"http://www.genomemaps.org/","pub":{"url":"https://academic.oup.com/nar/article/41/W1/W41/1113984","doi":"https://doi.org/10.1093/nar/gkt530","year":2013,"citations":25},"tags":["General","Deadlink"],"language":["JS"],"width":489,"height":640,"github_stars":39},{"tags":["General","Epigenomics","Higlass integration","Linear","Circular","Comparative","Quantitative"],"name":"Gosling","img":"gosling.png","github":"https://github.com/gosling-lang/gosling.js","language":["JS","WebGL","Typescript","React"],"platform":["Web"],"url":"https://gosling.js.org/","pub":{"doi":"10.1109/TVCG.2021.3114876","year":2022,"citations":23},"width":1549,"height":777,"github_stars":155},{"tags":["General","Epigenomics","Hi-C"],"name":"HiGlass","img":"higlass.png","github":"https://github.com/higlass/higlass","language":["JS","WebGL"],"pub":{"doi":"10.1186/s13059-018-1486-1","year":2018,"citations":995},"url":"https://higlass.io","platform":["Web","Server"],"width":1250,"height":956,"github_stars":306},{"tags":["General","Alignments viewer"],"name":"IGV.js","language":["JS"],"img":"igvjs.png","pub":{"doi":"https://doi.org/10.1101/2020.05.03.075499","year":2020,"citations":46},"url":"https://github.com/igvteam/igv.js/","platform":["Web"],"width":1116,"height":605,"github_stars":627},{"tags":["General","Alignments viewer","SV","Quantitative","Gene structure"],"name":"JBrowse","note":"See also JBrowse plugin registry https://gmod.github.io/jbrowse-registry. Runs on the web or as a desktop app using Electron","img":"jbrowse.png","url":"http://jbrowse.org/jbrowse1.html","github":"https://github.com/GMOD/jbrowse","language":["JS"],"platform":["Web","Desktop"],"pub":{"doi":"https://doi.org/10.1186/s13059-016-0924-1","year":2016,"citations":629},"width":2120,"height":1310,"github_stars":459},{"tags":["General","SV","Comparative","Dotplot","Circular","Alignments viewer","Quantitative","Hi-C"],"name":"JBrowse 2","note":"See gallery for more examples https://jbrowse.org/jb2/gallery","img":"jbrowse2.png","github":"https://github.com/GMOD/jbrowse-components","url":"http://jbrowse.org/jb2","language":["JS","Typescript","React"],"pub":{"doi":"https://doi.org/10.1101/2022.07.28.501447","year":2022,"citations":14},"platform":["Web"],"width":1848,"height":1964,"github_stars":192},{"tags":["General","SV","Alignments viewer","Comparative"],"name":"Kero-BROWSE","img":"kerobrowse.png","url":"https://kero.hgc.jp/examples/CLCL/hg38/index.html","github":"https://github.com/DBKERO/genome_browser","platform":["Web"],"pub":{"doi":"https://doi.org/10.1093/nar/gkx1001","year":2017,"citations":44},"language":["JS"],"note":"Also can visualize basic synteny, see tracks e.g. https://kero.hgc.jp/tool/keyword.html#kero:chrX:153,724,868-153,744,762 human vs chimp","width":602,"height":397,"github_stars":7},{"tags":["General","SV","Epigenomics","Gene structure","Splicing"],"name":"NCBI Genome Data Viewer","img":"gdv.png","url":"https://www.ncbi.nlm.nih.gov/genome/gdv/","pub":{"doi":"10.1101/gr.266932.120","year":2020,"citations":104},"platform":["Web","Silo"],"width":1848,"height":697},{"tags":["General"],"name":"Nucleome browser","img":"nucleome.png","url":"https://vis.nucleome.org/v1/main.html","pub":{"doi":"https://doi.org/10.1101/2022.02.21.481225","year":2022,"citations":1},"language":["JS"],"twitter":"https://twitter.com/4DNucleome","note":"github at https://github.com/nucleome","platform":["Web"],"width":1377,"height":471},{"tags":["General","SV"],"name":"Pileup.js","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btw167","year":2016,"citations":18},"img":"pileupjs.png","url":"https://github.com/hammerlab/pileup.js","language":["JS"],"platform":["Web"],"width":1086,"height":597,"github_stars":273},{"tags":["General"],"name":"Trackster","img":"trackster.png","pub":{"doi":"https://doi.org/10.1038/nbt.2404","year":2012,"citations":23},"url":"https://galaxyproject.org/learn/visualization/","platform":["Web"],"width":472,"height":238},{"tags":["General"],"img":"ucsc.jpg","name":"UCSC genome browser","url":"https://genome.ucsc.edu/","github":"https://github.com/ucscGenomeBrowser/kent","pub":{"doi":"10.1101/gr.229102","year":2002,"citations":5618},"platform":["Web","Silo"],"width":512,"height":131,"github_stars":209},{"tags":["General","Quantitative","Epigenomics","Deadlink"],"name":"Valis browser","url":"https://valis.bio/","img":"valis.png","github":"https://github.com/VALIS-software/valis-hpgv","language":["JS","WebGL"],"platform":["Web"],"width":2836,"height":1444,"github_stars":14},{"tags":["General","Epigenomics","Hi-C","Comparative"],"name":"WashU epigenomics browser","github":"https://github.com/lidaof/eg-react","img":"washu.png","url":"https://epigenomegateway.wustl.edu/","pub":{"doi":"https://doi.org/10.1093/nar/gkz348","year":2019,"citations":224},"language":["JS","React"],"note":"The ReactJS is a redesign, there is also a legacy version. Note also, there are comparative features https://www.biorxiv.org/content/10.1101/2022.11.29.518374v1","platform":["Web"],"width":1852,"height":849,"github_stars":65},{"tags":["General"],"name":"Zenbu","img":"zenbu.png","url":"http://fantom.gsc.riken.jp/zenbu/","pub":{"doi":"https://doi.org/10.1038/nbt.2840","year":2014,"citations":143},"platform":["Web"],"width":640,"height":416},{"name":"cgplot","img":"cgplot.png","url":"https://github.com/dfguan/cgplot","language":["Python"],"tags":["Static","Dotplot","Comparative"],"width":3000,"height":3000,"github_stars":9},{"tags":["Dotplot","Comparative"],"name":"D-GENIES","github":"https://github.com/genotoul-bioinfo/dgenies","pub":{"doi":"https://dx.doi.org/10.7717%2Fpeerj.4958","year":2018,"citations":442},"url":"http://dgenies.toulouse.inra.fr/","img":"dgenies.png","language":["JS","Python","D3"],"platform":["Web"],"width":500,"height":500,"github_stars":94},{"tags":["Dotplot","Static","Comparative"],"name":"Delly-maze","img":"maze.png","url":"https://github.com/dellytools/maze","note":"see also https://www.gear-genomics.com/maze/","pub":{"doi":"https://dx.doi.org/10.1093%2Fbioinformatics%2Fbts378","year":2012,"citations":1718},"language":["Python"],"width":2560,"height":1304,"github_stars":9},{"tags":["Dotplot","Static","Comparative"],"name":"Discoplot","img":"discoplot.png","url":"https://github.com/mjsull/DiscoPlot","pub":{"doi":"https://doi.org/10.7287/peerj.preprints.1038v1","year":2015,"citations":0},"language":["Python"],"width":1500,"height":1564,"github_stars":14},{"tags":["Dotplot","Comparative"],"name":"Dot","language":["JS","Python"],"url":"https://dot.sandbox.bio/","github":"https://github.com/MariaNattestad/dot","img":"dot.png","platform":["Web"],"note":"Python data preparation script","width":2500,"height":1324,"github_stars":30},{"tags":["Dotplot"],"name":"Dotlet","img":"dotlet.png","github":"https://github.com/sib-swiss/dotlet","pub":{"doi":"https://doi.org/10.1093/bioinformatics/16.2.178","year":2000,"citations":79},"language":["JS","React"],"platform":["Web"],"url":"https://dotlet.vital-it.ch/","note":"The original publication was 2000 but updated ~2020 with reactjs","width":1377,"height":640,"github_stars":4},{"tags":["Dotplot","Deadlink"],"name":"Dotplot (chirimoyo)","url":"https://chirimoyo.ac.uma.es/bitlab/portfolio/dotplot/","platform":["Web"]},{"tags":["Dotplot"],"name":"iLambda/Dotplot","url":"https://github.com/iLambda/dotplot","platform":["Web"],"github_stars":1},{"tags":["Dotplot","Comparative"],"name":"dotPlotly","url":"https://github.com/tpoorten/dotPlotly/","img":"dotplotly.png","language":["R","Shiny"],"platform":["Web"],"width":700,"height":450,"github_stars":183},{"tags":["Dotplot"],"name":"Dottup","img":"dottup.png","url":"https://www.bioinformatics.nl/cgi-bin/emboss/help/dottup","note":"also seen here http://eichlerlab.gs.washington.edu/pubs/chm1-structural-variation/data/GRCh37/heterochromatic_extensions.pdf","width":539,"height":454},{"tags":["Dotplot"],"name":"FlexiDot","img":"flexidot.png","url":"https://github.com/molbio-dresden/flexidot","pub":{"doi":"https://doi.org/10.1093/bioinformatics/bty395","year":2018,"citations":59},"language":["Python"],"platform":["CLI"],"width":759,"height":564,"github_stars":89},{"tags":["Dotplot","Comparative"],"name":"Gepard","github":"https://github.com/univieCUBE/gepard","url":"http://cube.univie.ac.at/gepard","language":["Java"],"img":"gepard.jpeg","platform":["Desktop"],"pub":{"doi":"https://doi.org/10.1093/bioinformatics/btm039","year":2007,"citations":579},"width":1088,"height":856,"github_stars":59},{"tags":["Dotplot","Comparative"],"name":"Jdot","url":"https://github.com/LyonsLab/jdot","img":"jdot.png","language":["JS"],"platform":["Web"],"width":689,"height":320,"github_stars":1},{"tags":["Dotplot","Comparative"],"name":"last-dotplot","img":"last_dotplot.png","language":["Python","C++"],"url":"https://gitlab.com/mcfrith/last","platform":["CLI","Web-server"],"width":493,"height":421},{"tags":["Dotplot","Static","Comparative"],"name":"mcutils","img":"mcutils_dotplot.jpeg","language":["R","C++"],"url":"https://github.com/mchaisso/mcutils","note":"https://twitter.com/mjpchaisson/status/1040363992206569472","width":470,"height":404,"github_stars":12},{"tags":["Dotplot","Static","Comparative"],"name":"Minidot","img":"minidot.png","url":"https://github.com/thackl/minidot","language":["R"],"width":1179,"height":683,"github_stars":70},{"tags":["Dotplot","Comparative"],"name":"Mummer-idotplot","url":"https://github.com/ryought/mummer-idotplot","language":["JS","Python"],"platform":["Web","CLI"],"github_stars":25},{"tags":["Dotplot","Static","Comparative"],"name":"Mummerplot","img":"mummerplot.png","github":"https://github.com/mummer4/mummer","url":"http://mummer.sourceforge.net/","pub":{"doi":"10.1186/gb-2004-5-2-r12","year":2004,"citations":4351},"language":["GNUPlot"],"width":3300,"height":2550,"github_stars":426},{"tags":["Dotplot","Comparative"],"img":"mummerplot_ggplot2.png","name":"ggplot2 mummerplot","url":"https://jmonlong.github.io/Hippocamplus/2017/09/19/mummerplots-with-ggplot2/","language":["R"],"width":1920,"height":1536},{"tags":["Dotplot","Comparative"],"name":"Redotable","img":"redotable.png","url":"https://github.com/s-andrews/redotable","language":["Java"],"platform":["Desktop"],"width":606,"height":585,"github_stars":10},{"tags":["Dotplot","Comparative","Static"],"name":"syntenyPlotByR","img":"synteny_plot_by_r.png","url":"https://github.com/shingocat/syntenyPlotByR","language":["R"],"width":800,"height":800,"github_stars":19},{"tags":["Epigenomics"],"name":"Chip Monk","img":"chipmonk.png","url":"http://www.bioinformatics.babraham.ac.uk/projects/chipmonk/","note":"Also see SeqMonk https://www.bioinformatics.babraham.ac.uk/projects/seqmonk/","pub":{"doi":"10.1186/1752-0509-1-S1-P80","year":2007,"citations":3},"language":["Java"],"platform":["Desktop"],"width":800,"height":600},{"tags":["Epigenomics","CNV"],"name":"Chipster","img":"chipster.jpg","github":"https://github.com/chipster/chipster","language":["Java"],"note":"Copy number tutorial https://chipster.csc.fi/manual/cn-tutorial.pdf","url":"https://chipster.csc.fi/","pub":{"doi":"10.1186/1471-2164-12-507","year":2011,"citations":283},"platform":["Desktop"],"width":1201,"height":913,"github_stars":33},{"tags":["Epigenomics"],"name":"cisGenome Browser","img":"cisgenome.png","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btq286","year":2010,"citations":38},"url":"https://jhui2014.github.io/browser/screenshots.html","language":["C"],"platform":["Desktop"],"width":1022,"height":857},{"tags":["Epigenomics","Higlass integration"],"name":"Epilogos","language":["Python"],"img":"epilogos.jpg","github":"https://github.com/meuleman/epilogos","url":"https://epilogos.altius.org/","platform":["Web"],"width":2048,"height":868,"github_stars":40},{"tags":["Epigenomics"],"name":"Epiviz","img":"epiviz.png","github":"https://github.com/epiviz/epiviz","url":"https://epiviz.github.io/","platform":["Web"],"language":["JS","R","D3"],"pub":{"doi":"https://doi.org/10.1093/bioinformatics/btaa591","year":2020,"citations":4},"width":1377,"height":507,"github_stars":67},{"tags":["Epigenomics","Hi-C","Higlass integration"],"name":"HiPiler","language":["JS"],"img":"hipiler.png","github":"https://github.com/flekschas/hipiler","pub":{"doi":"10.1109/TVCG.2017.2745978","year":2018,"citations":35},"platform":["Web"],"url":"http://hipiler.higlass.io","width":1116,"height":507,"github_stars":13},{"tags":["Epigenomics","Hi-C"],"name":"Juicebox","img":"juicebox.jpg","url":"https://github.com/aidenlab/Juicebox","language":["Java"],"platform":["Desktop"],"pub":{"url":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5596920/","doi":"https://dx.doi.org/10.1016%2Fj.cels.2015.07.012","year":2016,"citations":1266},"width":765,"height":674,"github_stars":232},{"tags":["Epigenomics","Hi-C"],"name":"Juicebox.js","github":"https://github.com/igvteam/juicebox.js","img":"juiceboxjs.jpg","url":"http://www.igv.org/doc/juiceboxjs.html","language":["JS"],"platform":["Web"],"pub":{"url":"https://www.cell.com/fulltext/S2405-4712(18)30001-2","doi":"https://doi.org/10.1016/j.cels.2018.01.001","year":2018,"citations":281},"width":761,"height":467,"github_stars":19},{"tags":["Epigenomics","Higlass integration"],"name":"Peax","img":"peax.png","language":["JS"],"pub":{"doi":"https://doi.org/10.1111/cgf.13971","year":2020,"citations":21},"platform":["Web"],"url":"https://github.com/Novartis/peax","width":640,"height":427,"github_stars":67},{"tags":["Ideogram"],"name":"eweitz/Ideogram","img":"eweitz_ideogram.png","url":"https://github.com/eweitz/ideogram","language":["JS"],"platform":["Web"],"width":1116,"height":507,"github_stars":280},{"tags":["Ideogram","Static"],"name":"Ideogram","img":"rcollins_ideogram.png","url":"https://github.com/RCollins13/HumanIdiogramLibrary","pub":{"doi":"https://doi.org/10.5281/zenodo.1210135"},"language":["SVG"],"width":5113,"height":1680,"github_stars":84},{"tags":["Ideogram","Static"],"name":"Ideoplot","url":"https://github.com/mchaisso/Ideoplot","language":["R"],"github_stars":12},{"tags":["Ideogram","Static"],"name":"karyoploteR","img":"karyoploter.png","url":"https://github.com/bernatgel/karyoploteR","pub":{"doi":"https://dx.doi.org/10.1093%2Fbioinformatics%2Fbtx346","year":2017,"citations":505},"language":["R"],"width":2329,"height":1000,"github_stars":292},{"tags":["Ideogram"],"name":"KaryotypeSVG","url":"https://github.com/andreasprlic/karyotypeSVG","img":"karyotypesvg.png","language":["JS","SVG"],"platform":["Web"],"width":1814,"height":280,"github_stars":6},{"tags":["Ideogram"],"name":"NCBI Genome Decoration","note":"Was located at https://www.ncbi.nlm.nih.gov/genome/tools/gdp/, sunsetted in 2023","img":"ncbi_genome_decoration.png","platform":["Web","Form","Silo","Historical"],"width":456,"height":306},{"tags":["Ideogram"],"name":"UCSC Genome Graphs","img":"ucsc_genome_graph.png","url":"http://genome.ucsc.edu/cgi-bin/hgGenome","github":"https://github.com/ucscGenomeBrowser/kent","pub":{"doi":"10.1101/gr.229102","year":2002,"citations":5618},"platform":["Web","Form","Silo"],"width":950,"height":546,"github_stars":209},{"tags":["Mobile app","Alignments viewer"],"name":"iGenomics","language":["Objective-C"],"github":"https://github.com/stuckinaboot/iGenomics","img":"igenomics.png","pub":{"doi":"https://doi.org/10.1093/gigascience/giaa138","year":2020,"citations":18},"width":1521,"height":1299,"github_stars":36},{"tags":["Pangenome"],"name":"Pan-Tetris","img":"pantetris.png","url":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4547177/","pub":{"doi":"https://dx.doi.org/10.1186%2F1471-2105-16-S11-S3","year":2015,"citations":16},"width":1200,"height":899},{"tags":["Pangenome"],"name":"Panacaea","language":["Perl"],"pub":{"doi":"https://doi.org/10.1186/s12859-018-2250-y","year":2018,"citations":10},"img":"panacaea.png","url":"https://github.com/JCVenterInstitute/PanACEA","width":584,"height":405,"github_stars":7},{"tags":["Pangenome"],"name":"Panache","language":["JS","VueJS"],"img":"panache.png","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btab688","year":2021,"citations":11},"url":"https://github.com/SouthGreenPlatform/panache","width":726,"height":381,"github_stars":42},{"tags":["Pangenome"],"name":"panX","github":"https://github.com/neherlab/pan-genome-analysis","img":"panx.jpeg","url":"http://pangenome.tuebingen.mpg.de/","pub":{"url":"https://academic.oup.com/nar/article/46/1/e5/4564799","doi":"https://doi.org/10.1093/nar/gkx977","year":2017,"citations":194},"width":2756,"height":1813,"github_stars":128},{"tags":["Pangenome","JBrowse integration"],"name":"RPAN (3kricedb)","img":"rpan.png","pub":{"doi":"https://doi.org/10.1093/nar/gkw958","year":2016,"citations":120},"platform":["Web"],"url":"http://cgm.sjtu.edu.cn/3kricedb/visualization/?tracks=DNA%2Cgene%2CPF","width":1663,"height":633},{"tags":["Protein","MSA"],"name":"Protael","img":"protael.png","github":"https://github.com/sanshu/protaeljs","url":"http://sanshu.github.io/protaelweb/","pub":{"url":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5963358/","doi":"https://dx.doi.org/10.1093%2Fbioinformatics%2Fbtv605","year":2015,"citations":8},"platform":["Web"],"language":["JS"],"width":1711,"height":1161,"github_stars":18},{"tags":["Protein","Cancer","Lollipops","SV","Canvas"],"name":"ProteinPaint","img":"proteinpaint.png","url":"https://pecan.stjude.cloud/proteinpaint","github":"https://github.com/stjude/proteinpaint","pub":{"url":"https://www.nature.com/articles/ng.3466","doi":"https://doi.org/10.1038/ng.3466","year":2015,"citations":245},"platform":["Web"],"language":["JS"],"width":1663,"height":633,"github_stars":14},{"tags":["CNV","Linear","Cancer","Lollipops","SV","Alignments viewer"],"name":"GenomePaint","img":"genomepaint.png","url":"https://genomepaint.stjude.cloud/","github":"https://github.com/stjude/proteinpaint","pub":{"url":"https://www.cell.com/cancer-cell/fulltext/S1535-6108(20)30659-0","doi":"https://doi.org/10.1016/j.ccell.2020.12.011","year":2021,"citations":20},"platform":["Web"],"note":"Demos https://proteinpaint.stjude.org/bam/","width":1663,"height":648,"github_stars":14},{"tags":["Protein"],"name":"pViz","img":"pviz.jpg","language":["JS"],"url":"https://github.com/Genentech/pviz","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btu567","year":2014,"citations":19},"platform":["Web"],"width":959,"height":259,"github_stars":68},{"tags":["Heatmap","Population"],"name":"UCSC Xena","language":["JS"],"img":"xena.png","github":"https://github.com/ucscXena/ucsc-xena-client","url":"https://xena.ucsc.edu/","pub":{"doi":"https://doi.org/10.1038/s41587-020-0546-8","year":2020,"citations":2126},"platform":["Web"],"width":550,"height":286,"github_stars":57},{"tags":["Heatmap","Population","Variation"],"name":"VIVA","img":"viva.png","url":"https://www.biorxiv.org/content/10.1101/589879v1.full.pdf","pub":{"doi":"https://doi.org/10.1038/s41598-019-49114-z","year":2019,"citations":8},"github":"https://github.com/compbiocore/VariantVisualization.jl","platform":["Web"],"width":433,"height":390,"github_stars":81},{"tags":["Dotplot"],"name":"Dotter","pub":{"doi":"https://doi.org/10.1016/0378-1119(95)00714-8","year":1995,"citations":483},"img":"dotter.png","url":"https://sonnhammer.sbc.su.se/Dotter.html","platform":["CLI"],"width":567,"height":429},{"tags":["Repeats","Dotplot","Static","Linear"],"img":"repaver.jpg","url":"https://gitlab.com/gringer/bioinfscripts/","language":["R","C++"],"platform":["CLI"],"name":"REPAVER","pub":{"url":"https://www.researchgate.net/pub/346507956_REPAVER_Paving_the_Way_for_Repeat_Discovery_in_Complex_Genomes?channel=doi&linkId=5fc58ba4a6fdcce95268fe60&showFulltext=true","doi":"http://dx.doi.org/10.13140/RG.2.2.15289.39522"},"width":879,"height":620},{"name":"LinearDisplay.pl","url":"https://github.com/JCVenterInstitute/LinearDisplay","img":"lineardisplay.png","language":["Perl"],"platform":["CLI"],"pub":{"doi":"https://doi.org/10.1038/s41586-019-1742-x","year":2019,"citations":503},"note":"readme says to cite this paper","tags":["Comparative"],"width":2050,"height":2384,"github_stars":5},{"name":"Gview","tags":["Circular","Linear","Pangenome","Microbiology"],"url":"https://server.gview.ca/examples","img":"gview.png","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btq588","year":2010,"citations":285},"platform":["Web"],"language":["Perl","Java","Java web start"],"width":890,"height":969},{"name":"FastANI","tags":["Comparative","Microbiology"],"img":"fastani.jpg","url":"https://github.com/ParBLiSS/FastANI","pub":{"doi":"https://doi.org/10.1038/s41467-018-07641-9","year":2018,"citations":2754},"language":["C++"],"width":1050,"height":1050,"github_stars":353},{"name":"JGI/IMG","tags":["Dotplot","Linear","Microbiology"],"platform":["Web","Silo"],"note":"Dotplot use MUMmer","url":"https://img.jgi.doe.gov/","img":"jgiimg.png","width":812,"height":717},{"name":"covviz","github":"https://github.com/brwnj/covviz","tags":["CNV","Coverage","Population"],"language":["JS"],"url":"https://brwnj.github.io/covviz/","img":"covviz.png","width":1177,"height":735,"github_stars":56},{"name":"clinker","tags":["Comparative","Gene order","Multi-way synteny"],"language":["JS"],"img":"clinker.png","url":"https://github.com/gamcil/clinker","platform":["Web"],"pub":{"url":"https://academic.oup.com/bioinformatics/advance-article-abstract/doi/10.1093/bioinformatics/btab007/6103786","doi":"https://doi.org/10.1093/bioinformatics/btab007","year":2021,"citations":603},"width":2482,"height":1753,"github_stars":507},{"name":"PopSV","tags":["Population","SV"],"platform":["Web"],"language":["R"],"url":"https://github.com/jmonlong/PopSV/blob/master/3-Visualization.md","github":"https://github.com/jmonlong/PopSV","pub":{"doi":"https://doi.org/10.1371/journal.pgen.1007285","year":2018,"citations":41},"img":"popsv.png","width":959,"height":443,"github_stars":28},{"name":"Shasta","tags":["Graph"],"url":"https://chanzuckerberg.github.io/shasta/ComputationalMethods.html#ReadGraph","note":"Uses graphviz","img":"shasta.png","language":["C++"],"platform":["Web","Localhost","CLI"],"pub":{"doi":"https://doi.org/10.1038/s41587-020-0503-6","year":2020,"citations":348},"width":1272,"height":1334},{"name":"LINX","note":"part of the PURPLE/GRIDSS/LINX pipeline","url":"https://github.com/hartwigmedical/hmftools/blob/master/linx/README.md","language":["Java","Circos integration"],"github":"https://github.com/hartwigmedical/hmftools","pub":{"doi":"https://doi.org/10.1101/781013","year":2019,"citations":38},"img":"linx.png","tags":["Graph","SV","Breakends","Circular","Linear","Gene fusion","Cancer"],"width":1542,"height":1690,"github_stars":177},{"name":"PURPLE","pub":{"doi":"https://doi.org/10.1101/781013","year":2019,"citations":38},"note":"intermutation-distance rainfall plots/katagesis plots are not technically in genomic coordinates, but do indicate genomic cluster of variatnts","url":"https://github.com/hartwigmedical/hmftools/blob/master/purity-ploidy-estimator/README.md","github":"https://github.com/hartwigmedical/hmftools","tags":["CNV","Cancer"],"img":"purple.png","width":600,"height":675,"github_stars":177},{"name":"SMRT View","tags":["SV"],"note":"wiki page https://github.com/PacificBiosciences/DevNet/wiki/SMRT-View","github":"https://github.com/PacificBiosciences/DevNet","url":"http://files.pacb.com/software/smrtanalysis/2.3.0/doc/smrtview/help/Webhelp/App_View_Epipro.htm","img":"smrtview.png","width":1095,"height":247,"github_stars":113},{"name":"sockeye","tags":["Exotic","Comparative","Historical"],"pub":{"url":"https://genome.cshlp.org/content/14/5/956.full","doi":"10.1101/gr.1890304","year":2004,"citations":21},"url":"https://www.bcgsc.ca/resources/software/sockeye","img":"sockeye.jpg","width":1280,"height":1028},{"name":"spinteny","language":["JS"],"tags":["Exotic","Comparative"],"url":"https://github.com/skinner/spinteny","img":"spinteny.png","width":656,"height":323,"github_stars":1},{"name":"Internet Contig Explorer","tags":["Historical"],"url":"https://www.bcgsc.ca/resources/software/ice","pub":{"url":"https://genome.cshlp.org/content/13/6a/1244.long","doi":"10.1101/gr.819303","year":2003,"citations":19},"img":"internet_contig_explorer.jpg","width":1280,"height":804},{"name":"bcftools roh","img":"bcftools_roh.png","tags":["Static"],"url":"https://samtools.github.io/bcftools/howtos/roh-calling.html","github":"https://github.com/samtools/bcftools","note":"Plots runs of homozygosity, has interactive plot-roh.py helper too","language":["Python","C","Matplotlib"],"pub":{"doi":"https://doi.org/10.1093/bioinformatics/btw044","year":2016,"citations":476},"width":1622,"height":760,"github_stars":629},{"name":"bcftools cnv","tags":["CNV"],"language":["Python","C","Matplotlib"],"img":"bcftools_cnv.png","github":"https://github.com/samtools/bcftools","url":"https://samtools.github.io/bcftools/howtos/cnv-calling.html","width":1000,"height":800,"github_stars":629},{"name":"mocha","img":"mocha.png","url":"https://github.com/freeseek/mocha","note":"Has a full analysis pipeline associated with end result visualizations","tags":["CNV"],"pub":{"doi":"10.1038/s41586-018-0321-x","year":2018,"citations":281},"language":["C","WDL","R"],"width":525,"height":525,"github_stars":74},{"name":"ALVIS (MSA viewer)","language":["Java"],"url":"https://www.ebi.ac.uk/research/goldman/software/alvis","note":"Introduces sequence bundles concept, also see web app version https://www.ebi.ac.uk/goldman-srv/sequencebundles/ source code https://bitbucket.org/schwarzlab/alvis/src/master/","pub":{"url":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4856975/","doi":"https://dx.doi.org/10.1093%2Fnar%2Fgkw022","year":2016,"citations":9},"tags":["MSA"],"img":"alvis.png","width":600,"height":462},{"name":"ALVIS (chimeric alignment viewer)","language":["Java"],"url":"https://github.com/SR-Martin/alvis","pub":{"url":"https://bmcbioinformatics.biomedcentral.com/articles/10.1186/s12859-021-04056-0","doi":"https://doi.org/10.1186/s12859-021-04056-0","year":2021,"citations":12},"tags":["Assembly QC"],"img":"alvis_chimeric.png","width":708,"height":396,"github_stars":18},{"name":"genevisR","img":"genevisr.png","github":"https://github.com/griffithlab/GenVisR","url":"https://bioconductor.org/packages/release/bioc/vignettes/GenVisR/inst/doc/Intro.html","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btw325","year":2016,"citations":240},"tags":["CNV"],"language":["R"],"width":939,"height":1026,"github_stars":203},{"name":"NanoMethViz","github":"https://github.com/Shians/NanoMethViz","pub":{"doi":"10.1371/journal.pcbi.1009524","year":2021,"citations":9},"url":"http://www.bioconductor.org/packages/release/bioc/html/NanoMethViz.html","img":"nanomethviz.png","tags":["Methylation"],"language":["R"],"width":672,"height":480,"github_stars":21},{"name":"GfaViz","img":"gfaviz.png","github":"https://github.com/ggonnella/gfaviz","language":["C++"],"pub":{"url":"https://academic.oup.com/bioinformatics/article/35/16/2853/5267826","doi":"https://doi.org/10.1093/bioinformatics/bty1046","year":2018,"citations":21},"tags":["Graph"],"width":951,"height":351,"github_stars":63},{"name":"Nextclade","img":"nextclade.png","url":"https://clades.nextstrain.org/","language":["JS","React","D3"],"tags":["Phylogenetics","Microbiology"],"pub":{"doi":"https://doi.org/10.21105/joss.03773","year":2021,"citations":545},"note":"Related usage on nextstrain app also","width":1378,"height":431},{"name":"vcfR","img":"vcfr.png","language":["R"],"tags":["Population","Coverage"],"note":"image shows chromoqc output","url":"https://knausb.github.io/vcfR_documentation/","github":"https://github.com/knausb/vcfR","pub":{"doi":"http://dx.doi.org/10.1111/1755-0998.12549","year":2016,"citations":627},"width":1344,"height":1344,"github_stars":239},{"name":"asgart","img":"asgart.png","language":["Rust"],"github":"https://github.com/delehef/asgart","tags":["SV","Ideogram","Circular","Linear"],"pub":{"url":"https://academic.oup.com/bioinformatics/article/34/16/2708/4948616","doi":"https://doi.org/10.1093/bioinformatics/bty172","year":2018,"citations":12},"width":500,"height":581,"github_stars":31},{"name":"MashMap","img":"mashmap.png","tags":["Dotplot"],"language":["Perl","C++"],"pub":{"doi":"https://doi.org/10.1093/bioinformatics/bty597","year":2018,"citations":113},"url":"https://github.com/marbl/MashMap/blob/master/scripts/generateDotPlot","github":"https://github.com/marbl/MashMap","width":521,"height":521,"github_stars":258},{"name":"udon","img":"udon.png","tags":["Alignments viewer"],"url":"https://github.com/ocxtal/udon","language":["Rust"],"note":"Uses an advanced data structure for pileup, so visually a basic example but likely just a small demo","width":652,"height":140,"github_stars":20},{"name":"AnnoJ","img":"annoj.png","tags":["Methylation"],"language":["JS"],"platform":["Web"],"url":"https://brainome.ucsd.edu/howto_annoj.html","note":"See list of instances of the browser here https://ecker.salk.edu/genome-browser/","github":"https://github.com/mukamel-lab/annoj_cndd","width":859,"height":722,"github_stars":0},{"name":"methylartist","img":"methylartist.png","language":["Python"],"tags":["Long reads","Methylation"],"pub":{"doi":"https://doi.org/10.1101/2021.07.22.453313","year":2021,"citations":7},"url":"https://github.com/adamewing/methylartist","width":1330,"height":683,"github_stars":113},{"name":"SWAV","tags":["Population","Deadlink"],"pub":{"url":"https://www.nature.com/articles/s41598-019-57038-x","doi":"https://doi.org/10.1038/s41598-019-57038-x","year":2020,"citations":12},"url":"http://swav.popgenetics.net/","img":"swav.png","width":1900,"height":1386},{"name":"gingko","url":"http://qb.cshl.edu/ginkgo/?q=/9EiUttUP0CBHs3WnuBa0","img":"gingko.jpeg","language":["PHP","JS"],"github":"https://github.com/robertaboukhalil/ginkgo","pub":{"doi":"https://doi.org/10.1038/nmeth.3578","year":2015,"citations":218},"platform":["Web"],"tags":["Single cell","CNV"],"width":2000,"height":1400,"github_stars":46},{"name":"copynumber","url":"https://www.bioconductor.org/packages/release/bioc/vignettes/copynumber/inst/doc/copynumber.pdf","img":"copynumber.png","pub":{"doi":"https://doi.org/10.1186/1471-2164-13-591","year":2012,"citations":239},"tags":["CNV"],"language":["R"],"width":925,"height":621},{"name":"alignfigR","img":"alignfigr.png","url":"https://cran.r-project.org/web/packages/alignfigR/vignettes/my-vignette.html","tags":["MSA"],"language":["R"],"width":528,"height":240},{"name":"copykat","img":"copykat.png","url":"https://github.com/navinlabcode/copykat/blob/master/vignettes/copycat-vignettes.pdf","github":"https://github.com/navinlabcode/copykat","pub":{"doi":"10.1038/s41587-020-00795-2","year":2021,"citations":348},"tags":["Single cell","CNV"],"language":["R"],"width":812,"height":752,"github_stars":192},{"name":"scCNV_heatmap","url":"https://github.com/StefanKurtenbach/scCNV_heatmap","language":["Python"],"img":"sccnv_heatmap.png","tags":["Single cell","CNV"],"width":228,"height":304,"github_stars":3},{"name":"casper","url":"https://github.com/akdess/CaSpER","pub":{"url":"https://www.nature.com/articles/s41467-019-13779-x","doi":"https://doi.org/10.1038/s41467-019-13779-x","year":2020,"citations":98},"language":["R"],"img":"casper.png","tags":["Single cell","CNV"],"width":580,"height":935,"github_stars":76},{"name":"RectChr","img":"rectchr.png","url":"https://github.com/BGI-shenzhen/RectChr","tags":["Comparative","Ideogram","Static","Limited code available"],"language":["Binary blob","Perl"],"width":635,"height":760,"github_stars":73},{"name":"LDBlockShow","url":"https://github.com/BGI-shenzhen/LDBlockShow","pub":{"url":"https://academic.oup.com/bib/advance-article-abstract/doi/10.1093/bib/bbaa227/5939575?redirectedFrom=fulltext","doi":"https://doi.org/10.1093/bib/bbaa227","year":2020,"citations":194},"img":"ldblockshow.png","language":["C++","Perl"],"tags":["GWAS","Population"],"width":260,"height":275,"github_stars":129},{"name":"clinker (gene fusion software)","url":"https://github.com/Oshlack/Clinker/","pub":{"url":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6065480/","doi":"https://dx.doi.org/10.1093%2Fgigascience%2Fgiy079","year":2018,"citations":18},"img":"clinker_fusion.png","tags":["Gene fusion"],"language":["R"],"width":644,"height":717,"github_stars":50},{"name":"arriba","img":"arriba.png","tags":["Gene fusion"],"url":"https://github.com/suhrig/arriba","pub":{"url":"https://genome.cshlp.org/content/31/3/448","doi":"10.1101/gr.257246.119","year":2021,"citations":229},"language":["C++","R"],"width":480,"height":280,"github_stars":211},{"name":"FusionInspector","img":"fusioninspector.png","url":"https://github.com/FusionInspector/FusionInspector/wiki","github":"https://github.com/FusionInspector/FusionInspector","pub":{"doi":"https://doi.org/10.1101/2021.08.02.454639","year":2021,"citations":3},"tags":["Gene fusion"],"note":"Uses igv.js","language":["Perl","JS"],"width":1889,"height":811,"github_stars":53},{"name":"NeoLoopFinder","img":"neoloopfinder.png","url":"https://github.com/XiaoTaoWang/NeoLoopFinder","tags":["SV","Hi-C"],"pub":{"doi":"https://doi.org/10.1038/s41592-021-01164-w","year":2021,"citations":77},"language":["Python"],"width":992,"height":609,"github_stars":53},{"name":"alen","url":"https://github.com/jakobnissen/alen","tags":["MSA","Text based"],"language":["Rust"],"img":"alen.png","width":823,"height":486,"github_stars":76},{"name":"Aquaria","url":"http://aquaria.ws/Q9HD67/5i0i/A","tags":["Protein","MSA"],"pub":{"doi":"https://doi.org/10.1038/nmeth.3258","year":2015,"citations":55},"platform":["Web"],"img":"aquaria.png","width":1244,"height":701},{"name":"vega","url":"http://vega.archive.ensembl.org/Homo_sapiens/Location/Chromosome?r=6-QBL","tags":["Assembly QC","Historical","Genetic map"],"platform":["Web"],"pub":{"doi":"https://doi.org/10.1093/nar/gki135","year":2004,"citations":91},"img":"vega.png","note":"Mentioned in https://www.biorxiv.org/content/10.1101/2021.07.02.450883v1.full.pdf also note: vega standards for vertebrate genome annotation database","width":1523,"height":798},{"name":"nightingale/protvista","github":"https://github.com/ebi-webcomponents/nightingale","url":"https://ebi-webcomponents.github.io/nightingale/#/msa","tags":["Protein","MSA"],"platform":["Web"],"pub":{"doi":"https://dx.doi.org/10.1093%2Fbioinformatics%2Fbtx120","year":2017,"citations":56},"img":"nightingale.png","language":["JS","Typescript"],"note":"Used on InterProScan website https://www.ebi.ac.uk/interpro/","width":1211,"height":425,"github_stars":116},{"name":"ArchR","github":"https://github.com/GreenleafLab/ArchR","url":"https://www.archrproject.com/articles/Articles/tutorial.html","pub":{"doi":"https://doi.org/10.1038/s41588-021-00790-6","year":2021,"citations":670},"tags":["Single cell"],"language":["R"],"img":"archr.png","width":1500,"height":1500,"github_stars":360},{"name":"PGAP-X","img":"pgapx.png","tags":["Pangenome"],"language":["C++"],"platform":["Desktop"],"url":"https://pgapx.zhaopage.com/","pub":{"url":"https://bmcgenomics.biomedcentral.com/articles/10.1186/s12864-017-4337-7","doi":"https://doi.org/10.1186/s12864-017-4337-7","year":2018,"citations":23},"width":778,"height":248},{"name":"MAVIS","img":"mavis.png","github":"https://github.com/bcgsc/mavis","tags":["Gene fusion","SV"],"language":["Python"],"url":"http://mavis.bcgsc.ca/","pub":{"doi":"https://doi.org/10.1093/bioinformatics/bty621","year":2018,"citations":22},"width":1200,"height":494,"github_stars":72},{"name":"ProViz","img":"proviz.png","tags":["MSA","Protein"],"language":["JS"],"url":"http://slim.icr.ac.uk/proviz/index.php","note":"See also alphafold visualization as tracks http://slim.icr.ac.uk/projects/alphafold?page=alphafold_proviz_homepage","pub":{"url":"https://academic.oup.com/nar/article/44/W1/W11/2499309","doi":"https://doi.org/10.1093/nar/gkw265","year":2016,"citations":67},"width":1847,"height":925},{"name":"panGraphViewer","url":"https://github.com/TF-Chan-Lab/panGraphViewer","img":"pangraphviewer.jpg","tags":["Graph","Pangenome"],"language":["Python"],"width":479,"height":260,"github_stars":49},{"name":"SVPV","img":"svpv.jpg","language":["Python"],"url":"https://github.com/VCCRI/SVPV","tags":["SV","Coverage"],"pub":{"url":"https://academic.oup.com/bioinformatics/article/33/13/2032/3056003","doi":"https://doi.org/10.1093/bioinformatics/btx117","year":2017,"citations":8},"width":380,"height":597,"github_stars":29},{"name":"wiggleplotr","github":"https://github.com/kauralasoo/wiggleplotr","img":"wiggleplotr.png","url":"http://bioconductor.org/packages/devel/bioc/vignettes/wiggleplotr/inst/doc/wiggleplotr.html","tags":["Coverage"],"language":["R"],"width":576,"height":384,"github_stars":35},{"name":"pretzel","url":"https://github.com/plantinformatics/pretzel","img":"pretzel.png","language":["JS","D3"],"pub":{"doi":"10.1101/517953","year":2019,"citations":20},"tags":["Comparative","Genetic map"],"width":1114,"height":765,"github_stars":42},{"name":"splicejam","language":["R"],"img":"splicejam.png","tags":["Splicing","Sashimi"],"pub":{"doi":"https://doi.org/10.1016/j.celrep.2019.08.093","year":2019,"citations":65},"url":"https://github.com/jmw86069/splicejam","width":384,"height":288,"github_stars":26},{"name":"genomegraphs","language":["R"],"img":"genomegraphs.png","tags":["Ideogram","Quantitative","Splicing"],"url":"http://bioconductor.org/packages/2.5/bioc/vignettes/GenomeGraphs/inst/doc/GenomeGraphs.pdf","pub":{"doi":"https://doi.org/10.1186/1471-2105-10-2","year":2009,"citations":52},"width":408,"height":775},{"name":"IdeoViz","language":["R"],"img":"ideoviz.png","tags":["Ideogram","Quantitative","Splicing"],"github":"https://github.com/shraddhapai/IdeoViz","url":"https://www.bioconductor.org/packages/release/bioc/vignettes/IdeoViz/inst/doc/Vignette.pdf","width":290,"height":455,"github_stars":1},{"name":"Flash Gviewer","language":["Flash","ActionScript"],"img":"flashgviewer.png","tags":["Ideogram","Genetic map","Historical"],"url":"http://gmod.org/wiki/Flashgviewer/","width":499,"height":806},{"name":"Plotgardener","language":["R"],"img":"plotgardener.png","tags":["Hi-C","Coverage"],"url":"https://github.com/PhanstielLab/plotgardener/","pub":{"doi":"10.1093/bioinformatics/btac057","year":2022,"citations":43},"width":840,"height":510,"github_stars":281},{"name":"MIRA","language":["C++"],"img":"mira.png","tags":["Assembly QC","Alignments viewer","Historical"],"url":"http://mira-assembler.sourceforge.net/docs/DefinitiveGuideToMIRA.html","pub":{"doi":"https://dx.doi.org/10.1101%2Fgr.1917404","year":2004,"citations":869},"note":"orig paper also describes mira here http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.23.7465&rep=rep1&type=pdf","width":1066,"height":720},{"name":"oxford-plots","url":"https://github.com/jherrero/oxford-plots","img":"oxford.png","tags":["Dotplot"],"language":["R","Perl"],"note":"Has nice description of a synteny pipeline here https://github.com/jherrero/oxford-plots/blob/master/examples/pig_X_Y.txt","width":2000,"height":2000,"github_stars":11},{"name":"IGGE","tags":["Graph","Exotic"],"note":"Not open source","img":"igge.png","url":"https://github.com/immersivegraphgenomeexplorer/IGGE","pub":{"doi":"10.1109/SEGAH52098.2021.9551857","year":2021,"citations":5},"width":247,"height":249,"github_stars":2},{"name":"PipMaker","tags":["Comparative","Repeats","Annotation"],"url":"http://pipmaker.bx.psu.edu/pipmaker/","note":"See also MultiPipMaker http://pipmaker.bx.psu.edu/pipmaker/mpm-example/index.html","img":"pipmaker.png","pub":{"doi":"https://dx.doi.org/10.1101%2Fgr.10.4.577","year":2000,"citations":892},"width":501,"height":382},{"name":"GraphAlignmentViewer","language":["Python"],"img":"graphalignmentviewer.png","url":"https://github.com/Illumina/GraphAlignmentViewer","tags":["Repeats"],"width":865,"height":755,"github_stars":33},{"name":"MEGA-X","img":"megax.png","language":["Pascal"],"github":"https://github.com/KumarMEGALab/MEGA-source-code","url":"https://www.megasoftware.net/","platform":["Desktop"],"pub":{"doi":"https://doi.org/10.1093/molbev/msab120","year":2021,"citations":7387},"note":"original paper from 1994 but actively updated. requires EULA for download","tags":["MSA","Phylogenetics"],"width":665,"height":450,"github_stars":5},{"name":"Haploview","tags":["Population","Linkage disequilibrium"],"img":"haploview.png","url":"https://www.broadinstitute.org/haploview/haploview","platform":["Desktop"],"pub":{"doi":"https://doi.org/10.1093/bioinformatics/bth457","year":2004,"citations":11625},"language":["Java"],"width":800,"height":600},{"name":"AliTreeViz","img":"alitreeviz.png","github":"https://github.com/lipme/alitreeviz","url":"https://www.npmjs.com/package/alitreeviz","tags":["MSA","Phylogenetics"],"language":["JS"],"width":1905,"height":918,"github_stars":4},{"name":"WGDI","img":"wgdi.png","url":"https://github.com/SunPengChuan/wgdi","language":["Python"],"pub":{"doi":"https://doi.org/10.1101/2021.04.29.441969","year":2021,"citations":45},"tags":["Comparative","Dotplot","Circular"],"width":1247,"height":392,"github_stars":106},{"name":"AmpliconArchitect","note":"The term amplicon refers essentially to extrachromosomal DNA in cancer","img":"ampliconarchitect.png","url":"https://github.com/virajbdeshpande/AmpliconArchitect","pub":{"doi":"https://doi.org/10.1038/s41467-018-08200-y","year":2019,"citations":165},"language":["Python"],"tags":["SV","Cancer"],"width":643,"height":323,"github_stars":127},{"name":"PGV (pangenome tool)","img":"pgv1.png","url":"https://github.com/ucrbioinfo/PGV","language":["Python"],"platform":["Web"],"pub":{"url":"https://bmcbioinformatics.biomedcentral.com/articles/10.1186/s12859-021-04424-w","doi":"https://doi.org/10.1186/s12859-021-04424-w","year":2021,"citations":4},"tags":["Pangenome","Dotplot","Comparative"],"width":1914,"height":2132,"github_stars":18},{"name":"REViewer","img":"reviewer.png","tags":["Repeats"],"url":"https://github.com/Illumina/REViewer","language":["C++"],"note":"See also GraphAlignmentViewer, similar look and from illumina also","pub":{"doi":"https://doi.org/10.1101/2021.10.20.465046","year":2021,"citations":3},"width":3841,"height":1789,"github_stars":72},{"name":"Trackplot (R)","img":"trackplot.png","url":"https://github.com/PoisonAlien/trackplot","pub":{"doi":"https://doi.org/10.1093/bioadv/vbae031","year":2024,"citations":1},"tags":["Coverage","Gene structure","Epigenomics"],"language":["R"],"width":850,"height":500,"github_stars":123},{"name":"gcMapExplorer","img":"gcmapexplorer.png","url":"https://github.com/rjdkmr/gcMapExplorer","pub":{"doi":"https://doi.org/10.1093/nar/gkx644","year":2017,"citations":24},"tags":["Hi-C"],"language":["Python"],"width":576,"height":309,"github_stars":21},{"name":"BRIG","img":"brig.jpg","github":"https://github.com/happykhan/BRIG","tags":["Comparative","Circular"],"url":"http://brig.sourceforge.net","pub":{"url":"https://bmcgenomics.biomedcentral.com/articles/10.1186/1471-2164-12-402","doi":"https://doi.org/10.1186/1471-2164-12-402","year":2011,"citations":2375},"language":["Java"],"platform":["Desktop"],"width":1200,"height":1075,"github_stars":25},{"name":"Ideogram viewer","url":"https://bioinformatics.mdanderson.org/public-software/ideogramviewer/","img":"ideogramviewer.png","language":["JS"],"platform":["Web"],"tags":["Ideogram"],"width":926,"height":394},{"name":"GENESPACE","url":"https://github.com/jtlovell/GENESPACE/","tags":["Comparative","Pangenome"],"img":"genespace.png","pub":{"doi":"https://doi.org/10.7554/eLife.78526","year":2022,"citations":84},"note":"Includes a powerful analysis pipeline, worth reading the paper","language":["R"],"width":730,"height":593,"github_stars":175},{"name":"ggplot2 manhattan plot","url":"https://danielroelfs.com/blog/how-i-create-manhattan-plots-using-ggplot/","note":"This is not a preconfigured tool but a blog post tutorial with tidy data and ggplot2","img":"ggplot2_manhattan.png","tags":["GWAS"],"language":["R","ggplot2"],"width":2304,"height":960},{"name":"ete","github":"https://github.com/etetoolkit/ete","url":"http://etetoolkit.org/gallery/","language":["Python"],"pub":{"doi":"https://doi.org/10.1093/molbev/msw046","year":2016,"citations":1577},"tags":["MSA","Phylogenetics"],"img":"ete.png","width":640,"height":500,"github_stars":765},{"name":"ggtree","url":"https://github.com/YuLab-SMU/ggtree","language":["R"],"tags":["MSA","Phylogenetics","ggplot2"],"img":"ggtree.png","note":"see https://yulab-smu.top/treedata-book/chapter7.html?q=msa#msaplot for MSA example","pub":{"doi":"https://doi.org/10.1111/2041-210X.12628","year":2016,"citations":2905},"width":2100,"height":1050,"github_stars":812},{"name":"Phandango","url":"https://jameshadfield.github.io/phandango/#/examples","github":"https://github.com/jameshadfield/phandango","img":"phandango.png","language":["JS"],"tags":["Pangenome","GWAS","MSA","Phylogenetics","Microbiology"],"pub":{"doi":"https://doi.org/10.1093/bioinformatics/btx610","year":2017,"citations":402},"width":463,"height":474,"github_stars":111},{"url":"http://athina.biol.uoa.gr/bioinformatics/GENEVITO/","name":"GeneViTo","img":"genevito.jpg","tags":["Microbiology","General"],"pub":{"doi":"https://doi.org/10.1186/1471-2105-4-53","year":2003,"citations":7},"platform":["Desktop"],"language":["Java"],"width":1024,"height":768},{"name":"RegulomeExplorer","url":"http://explorer.cancerregulome.org/all_pairs/?dataset=TCGA_ACC","img":"cancerregulome.png","tags":["Circular","Cancer","SV"],"platform":["Web"],"language":["JS"],"github":"https://github.com/cancerregulome/RegulomeExplorer","width":1852,"height":801,"github_stars":4},{"name":"CGView","tags":["Circular","Microbiology"],"url":"http://cgview.ca/","github":"https://github.com/paulstothard/cgview","pub":{"doi":"https://dx.doi.org/10.1093%2Fnar%2Fgkn179","year":2008,"citations":1065},"platform":["Web"],"language":["JS"],"img":"cgview.png","note":"See also CGView comparison tool and other related https://paulstothard.github.io/cgview_comparison_tool/","width":926,"height":443,"github_stars":37},{"name":"miropeats","img":"miropeats.png","tags":["Comparative","Repeats","Historical"],"language":["Perl","C"],"note":"image from 2021 paper https://www.biorxiv.org/content/10.1101/2021.12.08.471837v1.full.pdf","pub":{"url":"https://academic.oup.com/bioinformatics/article-abstract/11/6/615/187092?redirectedFrom=fulltext","doi":"https://doi.org/10.1093/bioinformatics/11.6.615","year":1995,"citations":36},"url":"http://www.littlest.co.uk/software/bioinf/old_packages/miropeats/","width":654,"height":219},{"name":"Slinker","img":"slinker.png","tags":["Splicing","Coverage"],"language":["Python"],"pub":{"url":"https://f1000research.com/articles/10-1255/v1","doi":"https://doi.org/10.12688/f1000research.74836.1","year":2021,"citations":2},"url":"https://github.com/Oshlack/Slinker","note":"See also, clinker (gene fusion software)","width":819,"height":644,"github_stars":18},{"name":"syntenyPlotteR","img":"syntenyplotter.png","tags":["Comparative"],"url":"https://github.com/marta-fb/syntenyPlotteR","language":["R","ggplot2"],"pub":{"doi":"https://doi.org/10.1093/bioadv/vbad161","year":2023,"citations":3},"width":1440,"height":720,"github_stars":34},{"name":"chromoMap","img":"chromomap.png","tags":["Comparative","Ideogram"],"pub":{"url":"https://bmcbioinformatics.biomedcentral.com/articles/10.1186/s12859-021-04556-z","doi":"https://doi.org/10.1186/s12859-021-04556-z","year":2022,"citations":90},"url":"https://lakshay-anand.github.io/chromoMap/index.html","github":"https://github.com/Lakshay-Anand/chromoMap","language":["R"],"width":708,"height":621,"github_stars":3},{"name":"SafFire","img":"saffire.png","tags":["Comparative"],"github":"https://github.com/mrvollger/SafFire","language":["JS"],"url":"https://mrvollger.github.io/SafFire/#ref=CHM13_v1.1&query=GRCh38","width":1776,"height":700,"github_stars":24},{"name":"Gingr","img":"gingr.png","github":"https://github.com/marbl/gingr","language":["C++"],"tags":["Phylogenetics","Comparative","Microbiology"],"pub":{"doi":"https://doi.org/10.1186/s13059-014-0524-x","year":2014,"citations":1225},"url":"https://harvest.readthedocs.io/en/latest/content/gingr.html","width":2551,"height":1558,"github_stars":13},{"name":"StainedGlass","img":"stainedglass.png","language":["R","Python","JS"],"github":"https://github.com/mrvollger/StainedGlass","tags":["Repeats","Heatmap","Higlass integration"],"platform":["Web","CLI"],"pub":{"doi":"https://doi.org/10.1093/bioinformatics/btac018","year":2022,"citations":50},"width":703,"height":393,"github_stars":91},{"name":"SimpleSynteny","img":"simplesynteny.jpg","url":"https://www.dveltri.com/simplesynteny/about.html","platform":["Web","Server"],"pub":{"doi":"https://doi.org/10.1093/nar/gkw330","year":2016,"citations":97},"tags":["Comparative"],"width":796,"height":277},{"name":"Cinteny","pub":{"doi":"https://doi.org/10.1186/1471-2105-8-82","year":2007,"citations":103},"img":"cinteny.png","tags":["Comparative"],"url":"http://cinteny.cchmc.org/","platform":["Web","Server"],"width":1200,"height":334},{"name":"DAGchainer","url":"http://dagchainer.sourceforge.net/","img":"dagchainer.png","tags":["Dotplot","Comparative"],"pub":{"doi":"https://doi.org/10.1093/bioinformatics/bth397","year":2004,"citations":294},"language":["Perl","Java"],"width":813,"height":809},{"name":"AutoGraph","img":"autograph.png","url":"http://autograph.genouest.org/","tags":["Comparative","Deadlink","Historical"],"pub":{"doi":"https://doi.org/10.1093/bioinformatics/btl618","year":2006,"citations":43},"width":989,"height":1261},{"name":"EvolutionHighway","img":"evolutionaryhighway.jpg","url":"http://eh-demo.ncsa.illinois.edu/","tags":["Comparative","Historical"],"note":"The 'evolutionary highway' image type is reproduced in some other packages e.g. https://github.com/marta-fb/syntenyPlotteR, paper https://doi.org/10.1126/science.1111387","language":["Java","Applet"],"width":715,"height":567},{"name":"Smash++","language":["C++"],"img":"smashpp.png","url":"https://github.com/smortezah/smashpp","pub":{"doi":"https://doi.org/10.1093/gigascience/giaa048","year":2020,"citations":13},"tags":["Comparative"],"width":483,"height":203,"github_stars":56},{"name":"plotsr","img":"plotsr.png","url":"https://github.com/schneebergerlab/plotsr","language":["Python"],"pub":{"doi":"https://doi.org/10.1101/2022.01.24.477489","year":2022,"citations":4},"tags":["Comparative","SV","Pangenome"],"note":"see also https://github.com/schneebergerlab/syri","width":1298,"height":863,"github_stars":267},{"name":"seqvisr","img":"seqvisr.png","url":"https://github.com/vragh/seqvisr/","language":["R"],"tags":["MSA","Protein"],"github_stars":9,"width":307,"height":346},{"name":"drawProteins","img":"drawprotein.png","github":"https://github.com/brennanpincardiff/drawProteins","pub":{"doi":"https://doi.org/10.12688/f1000research.14541.1","year":2018,"citations":42},"tags":["Protein"],"language":["R","ggplot2"],"github_stars":33,"width":1649,"height":1933},{"name":"IBS (Illustrator for Biological Sequences)","img":"ibs.jpg","url":"http://ibs.biocuckoo.org/","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btv362","year":2015,"citations":740},"tags":["Protein"],"platform":["Silo","Web","Desktop"],"language":["Java"],"width":800,"height":600},{"name":"PFAM generate_graphic","img":"pfam.png","url":"https://pfam.xfam.org/generate_graphic","note":"Also see guide here https://pfam.xfam.org/help#tabview=tab10","tags":["Protein"],"platform":["Silo","Web"],"width":1370,"height":115},{"name":"SnoopCGH","img":"snoopcgh.jpg","url":"http://snoopcgh.sourceforge.net/","playform":["Desktop"],"tags":["CNV","ArrayCGH"],"language":["Java"],"pub":{"doi":"https://doi.org/10.1093/bioinformatics/btp488","year":2009,"citations":8},"width":640,"height":388},{"name":"Genovar","img":"genovar.png","tags":["CNV","ArrayCGH","Alignments viewer"],"language":["Java"],"pub":{"doi":"https://dx.doi.org/10.1186%2F1471-2105-13-S7-S12","year":2012,"citations":2},"url":"http://genovar.sourceforge.net/","width":575,"height":472},{"name":"VAMP","img":"vamp.jpg","language":["Java"],"pub":{"doi":"https://doi.org/10.1093/bioinformatics/btl359","year":2006,"citations":89},"tags":["Deadlink","CNV","ArrayCGH"],"platform":["Applet","Desktop"],"width":520,"height":399},{"name":"CGH-Explorer","img":"cghexplorer.jpg","language":["Java"],"pub":{"doi":"https://doi.org/10.1093/bioinformatics/bti113","year":2004,"citations":114},"tags":["Deadlink","CNV","ArrayCGH"],"platform":["Desktop"],"width":520,"height":324},{"name":"GenomeMatcher","img":"genomematcher.png","language":["Objective-C"],"twitter":"https://twitter.com/GenomeMatcher","url":"http://www.ige.tohoku.ac.jp/joho/gmProject/gmmanual.html","tags":["Comparative"],"platform":["Desktop","Mac"],"pub":{"doi":"https://doi.org/10.1186/1471-2105-9-376","year":2008,"citations":225},"width":600,"height":679},{"name":"DNAVis","img":"dnavis.png","language":["C++","OpenGL"],"platform":["Desktop"],"pub":{"doi":"https://doi.org/10.1093/bioinformatics/bti807","year":2005,"citations":6},"tags":["Deadlink","Comparative"],"width":679,"height":803},{"name":"SynBrowse","img":"synbrowse.png","language":["Perl"],"platform":["Web"],"pub":{"doi":"https://doi.org/10.1093/bioinformatics/bti555","year":2005,"citations":53},"tags":["Comparative","GBrowse integration"],"width":520,"height":446},{"name":"Sybil","img":"sybil.png","language":["Perl"],"platform":["Web"],"pub":{"doi":"https://doi.org/10.1007/978-1-59745-547-3_6","year":2007,"citations":52},"tags":["Comparative","GBrowse integration"],"url":"http://sybil.sourceforge.net/","note":"Download https://sourceforge.net/projects/sybil/","width":687,"height":627},{"name":"SyntenyPortal","img":"syntenyportal.png","language":["JS"],"platform":["Web"],"pub":{"doi":"https://doi.org/10.1093/nar/gkw310","year":2016,"citations":41},"url":"http://bioinfo.konkuk.ac.kr/synteny_portal/","tags":["Comparative","Circular"],"width":1280,"height":647},{"name":"CHROMEISTER","img":"chromeister.png","github":"https://github.com/estebanpw/chromeister","pub":{"doi":"https://doi.org/10.1038/s41598-019-46773-w","year":2019,"citations":25},"tags":["Comparative","Dotplot"],"language":["C","R"],"width":1000,"height":1000,"github_stars":39},{"name":"r2cat","img":"r2cat.jpeg","github":"https://github.com/phuseman/r2cat","pub":{"doi":"https://dx.doi.org/10.1093%2Fbioinformatics%2Fbtp690","year":2009,"citations":105},"tags":["Comparative","Dotplot"],"language":["Java"],"github_stars":3,"width":1800,"height":1598},{"name":"Seaview","img":"seaview.png","language":["C++"],"platform":["Desktop"],"tags":["MSA","Phylogenetics"],"url":"http://doua.prabi.fr/software/seaview","pub":{"doi":"https://doi.org/10.1093/molbev/msp259","year":2009,"citations":4625},"width":927,"height":524},{"name":"SequenceServer","img":"sequenceserver.png","language":["Ruby","JS"],"tags":["BLAST","Comparative","Circular"],"platform":["Web"],"url":"https://sequenceserver.com/","github":"https://github.com/wurmlab/sequenceserver","pub":{"doi":"https://doi.org/10.1093/molbev/msz185","year":2019,"citations":164},"width":1059,"height":355,"github_stars":267},{"name":"numbat","img":"numbat.png","language":["R"],"tags":["Single cell","CNV"],"pub":{"doi":"https://doi.org/10.1101/2022.02.07.479314","year":2022,"citations":10},"url":"https://kharchenkolab.github.io/numbat/","github":"https://github.com/kharchenkolab/numbat","width":840,"height":672,"github_stars":157},{"name":"ggtranscript","img":"ggtranscript.png","language":["R"],"tags":["Gene structure"],"url":"https://github.com/dzhang32/ggtranscript","pub":{"doi":"https://doi.org/10.1101/2022.03.28.486050","year":2022,"citations":2},"width":2100,"height":900,"github_stars":117},{"name":"CIAlign","note":"Has useful utility functions to clean gaps and trim MSAs","img":"cialign.png","language":["Python"],"tags":["MSA"],"pub":{"doi":"https://doi.org/10.7717/peerj.12983","year":2022,"citations":36},"github":"https://github.com/KatyBrown/CIAlign","width":480,"height":286,"github_stars":108},{"name":"CoolBox","img":"coolbox.png","pub":{"doi":"https://doi.org/10.1186/s12859-021-04408-w","year":2021,"citations":19},"github":"https://github.com/GangCaoLab/CoolBox","platform":["CLI","Web"],"tags":["Epigenomics","Hi-C"],"note":"fork of pyGenomeTracks","language":["Python"],"width":760,"height":408,"github_stars":220},{"name":"CNANorm","language":["R"],"url":"https://www.bioconductor.org/packages/release/bioc/html/CNAnorm.html","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btr593","year":2011,"citations":144},"img":"cnanorm.png","tags":["CNV"],"width":436,"height":267},{"name":"GECO","language":["Java"],"tags":["Microbiology","Comparative"],"img":"geco.png","url":"http://bioinfo.mikrobio.med.uni-giessen.de/geco2/GecoMainServlet","platform":["Web","Deadlink","No binary or source available"],"pub":{"doi":"https://doi.org/10.1093/bioinformatics/btl556","year":2006,"citations":21},"width":900,"height":615},{"name":"Orchestral","language":["C++","OpenGL"],"img":"orchestral.png","pub":{"doi":"https://doi.org/10.1109/BioVis.2013.6664351","year":2013,"citations":7},"tags":["CNV","Large display","No binary or source available"],"width":770,"height":355},{"name":"SequenceSurveyor","language":["Adobe AIR"],"img":"sequencesurveyor.png","url":"https://graphics.cs.wisc.edu/Vis/SequenceSurveyor/index.html","pub":{"doi":"http://dx.doi.org/10.1109/TVCG.2011.232","year":2011,"citations":36},"tags":["Comparative"],"width":2016,"height":1027},{"name":"BactoGENIE","img":"bactogenie.png","pub":{"doi":"https://doi.org/10.1186/1471-2105-16-S11-S6","year":2015,"citations":8},"tags":["Comparative","Microbiology","Large display","No binary or source available"],"width":600,"height":199},{"name":"PSAT","img":"psat.png","pub":{"doi":"https://doi.org/10.1186/1471-2105-9-170","year":2008,"citations":27},"tags":["Comparative","Deadlink","No binary or source available"],"platform":["Web","Silo"],"url":"http://www.nwrce.org/psat","width":496,"height":200},{"name":"TreeBrowser (MicrobesOnline)","img":"treegenome.png","tags":["Comparative","GBrowse integration"],"pub":{"doi":"https://doi.org/10.1093/nar/gkp919","year":2009,"citations":382},"url":"http://www.microbesonline.org/cgi-bin/treeBrowse.cgi?locus=17761","platform":["Web","Silo"],"language":["Perl"],"width":462,"height":431},{"name":"UTGB (University of Tokyo Genome Browser)","img":"utgb.png","language":["Java"],"platform":["Web","Servlet"],"pub":{"doi":"https://doi.org/10.1093/bioinformatics/btp350","year":2009,"citations":11},"tags":["General"],"github":"https://github.com/utgenome/utgb","url":"http://utgenome.org/","width":359,"height":236,"github_stars":2},{"name":"Argo","img":"argo.png","language":["Java","Applet"],"tags":["General","Deadlink"],"url":"https://web.archive.org/web/20070924141423/http://www.broad.mit.edu/annotation/argo/","notes":"See also the tool 'Combo', a comparative version","width":450,"height":338},{"name":"Combo","img":"combo.png","note":"Based on the tool 'Argo'","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btl193","year":2006,"citations":37},"tags":["Comparative"],"language":["Java"],"width":640,"height":253},{"name":"Consed","img":"consed.png","url":"http://bozeman.mbt.washington.edu/consed/consed.html","pub":{"doi":"https://doi.org/10.1101/gr.8.3.195","year":1998,"citations":2677},"tags":["Academic license","Assembly QC","Alignments viewer"],"width":650,"height":994},{"name":"CNSpector","img":"cnspector.png","url":"https://github.com/PapenfussLab/CNspector","pub":{"doi":"https://doi.org/10.1038/s41598-019-42858-8","year":2019,"citations":16},"tags":["CNV"],"width":312,"height":287,"github_stars":4,"language":["R","Shiny"]},{"name":"GenomicBreaks","img":"genomicbreaks.png","url":"https://oist.github.io/GenomicBreaks/articles/GenomicBreaks.html","github":"https://github.com/oist/GenomicBreaks/","language":["R","ggplot2"],"tags":["Comparative","Dotplot"],"width":700,"height":866,"github_stars":4},{"name":"GenomeSyn","img":"genomesyn.png","url":"https://github.com/jmsong2/GenomeSyn","tags":["Comparative","Ideogram","Deadlink"],"language":["Perl"],"platform":["Web","Desktop"],"width":856,"height":522,"github_stars":19},{"name":"CMPlot","img":"cmplot.png","tags":["GWAS"],"language":["R"],"github":"https://github.com/YinLiLin/CMplot","pub":{"doi":"10.1016/j.gpb.2020.10.007","year":2021,"citations":416},"width":525,"height":675,"github_stars":494},{"name":"chromPlot","img":"chromplot.png","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btw137","year":2016,"citations":43},"language":["R"],"tags":["Ideogram","QTL"],"url":"https://www.bioconductor.org/packages/release/bioc/vignettes/chromPlot/inst/doc/chromPlot.pdf","width":440,"height":328},{"name":"PhenoGram","img":"phenogram.png","url":"https://ritchielab.org/software/phenogram-downloads","pub":{"doi":"https://doi.org/10.1186/1756-0381-6-18","year":2013,"citations":172},"note":"Can be web server or download","language":["Ruby"],"platform":["Web","Silo","CLI"],"tags":["Ideogram"],"width":1200,"height":1083},{"name":"RIdeogram","img":"rideogram.png","url":"https://github.com/TickingClock1992/RIdeogram","pub":{"doi":"https://doi.org/10.7717/peerj-cs.251","year":2020,"citations":274},"language":["R"],"tags":["Ideogram","Comparative"],"width":620,"height":646,"github_stars":150},{"name":"CrowsNest","img":"crowsnest.png","tags":["Comparative"],"url":"https://pgsb.helmholtz-muenchen.de/crowsnest/help.html","pub":{"doi":"10.1007/978-1-4939-3167-5_8","year":2016,"citations":1},"width":699,"height":383},{"tags":["Commercial","MSA","SV","Coverage","Alignments viewer","Comparative","Annotation","Variation","Expression"],"name":"ERGO","img":"ergo.png","url":"https://www.igenbio.com/ergo","width":2590,"height":2018,"pub":{"url":"https://pubmed.ncbi.nlm.nih.gov/12519973/","doi":"https://doi.org/10.1093/nar/gkg148","year":2003,"citations":166}},{"name":"modbamtools","img":"modbamtools.png","url":"https://github.com/rrazaghi/modbamtools","language":["Python"],"tags":["Methylation","Epigenomics"],"pub":{"doi":"https://doi.org/10.1101/2022.07.07.499188","year":2022,"citations":9},"width":750,"height":619,"github_stars":44},{"name":"sequenza","img":"sequenza.png","url":"https://cran.r-project.org/web/packages/sequenza/vignettes/sequenza.html#plots-and-results","note":"also see https://sequenzatools.bitbucket.io/#/home","language":["R"],"tags":["CNV"],"pub":{"doi":"https://doi.org/10.1093/annonc/mdu479","year":2015,"citations":588},"width":960,"height":1056},{"name":"pyCircos","img":"pycircos.png","url":"https://github.com/ponnhide/pyCircos","note":"See also https://github.com/ponnhide/plasmidviewer","width":738,"height":268,"github_stars":317,"tags":["Circular"],"language":["Python"]},{"name":"GeneticsMakie.jl","url":"https://github.com/mmkim1210/GeneticsMakie.jl","img":"geneticsmakie.png","pub":{"doi":"https://doi.org/10.1101/2022.04.18.488573","year":2022,"citations":2},"width":1632,"height":2147,"github_stars":75,"tags":["GWAS","Gene structure","Linkage disequilibrium"],"language":["Julia"]},{"name":"fineSTRUCTURE aka ChromoPainter","img":"finestructure.png","url":"http://www.paintmychromosomes.com/","pub":{"doi":"https://doi.org/10.1371/journal.pgen.1002453","year":2012,"citations":949},"tags":["Local ancestry"],"width":1024,"height":768},{"name":"MOSAIC","img":"mosaic.png","url":"https://maths.ucd.ie/~mst/MOSAIC/","language":["R"],"tags":["Local ancestry"],"pub":{"doi":"https://doi.org/10.1534/genetics.119.302139","year":2019,"citations":55},"width":727,"height":320},{"name":"Prosite/MyDomains","img":"prosite.png","url":"https://prosite.expasy.org/mydomains","tags":["Protein"],"platform":["Web","Silo"],"pub":{"doi":"https://doi.org/10.1093/nar/gkm977","year":2007,"citations":342},"width":561,"height":40},{"name":"snpit","img":"snpit.png","url":"https://github.com/aineniamh/snipit","tags":["Variation","Population"],"language":["Python"],"width":750,"height":306,"github_stars":114},{"name":"local-rearrangements","img":"local-rearrangements.png","url":"https://github.com/mcfrith/local-rearrangements","tags":["Dotplot","SV"],"language":["Python"],"note":"Can color dotplots with annotations for e.g. exons, transposons, low complexity regions. See also last-dotplot. Nice figure using it here https://genomemedicine.biomedcentral.com/articles/10.1186/s13073-020-00762-1/figures/4","width":199,"height":713,"github_stars":12},{"name":"GeCoViz","img":"gecoviz.png","url":"https://gecoviz.cgmlab.org/","platform":["Web","Silo"],"tags":["Microbiology","Comparative"],"pub":{"doi":"https://doi.org/10.1093/nar/gkac367","year":2022,"citations":14},"width":472,"height":443},{"name":"GGisy","img":"ggisy.png","url":"https://github.com/Sanrrone/GGisy","language":["Python","R"],"width":544,"height":516,"github_stars":21,"tags":["Comparative","Circular"]},{"name":"multiGenomicContext","url":"https://github.com/Sanrrone/multiGenomicContext","img":"multicontext.png","language":["Python","R"],"width":1145,"height":577,"github_stars":8,"tags":["Comparative"]},{"name":"ggmsa","note":"See also ggtree","url":"http://yulab-smu.top/ggmsa/","github":"https://github.com/YuLab-SMU/ggmsa","pub":{"doi":"https://doi.org/10.1093/bib/bbac222","year":2022,"citations":86},"img":"ggmsa.png","language":["R"],"width":825,"height":188,"github_stars":192,"tags":["MSA"]},{"name":"AccuSyn","language":["JS"],"tags":["Comparative"],"url":"https://accusyn.usask.ca/","github":"https://github.com/jorgenunezsiri/accusyn","img":"accusyn.png","github_stars":16,"width":611,"height":514},{"name":"CView","img":"cview.png","tags":["MSA"],"language":["Java"],"url":"https://sourceforge.net/projects/cview/","pub":{"doi":"https://doi.org/10.1371/journal.pone.0259726","year":2022,"citations":0},"width":1500,"height":802},{"name":"bigly","img":"bigly.png","tags":["SV","Coverage"],"language":["Go","Python"],"url":"https://github.com/brentp/bigly","width":900,"height":500,"github_stars":42},{"name":"signac","img":"signac.png","tags":["Coverage","Single cell"],"url":"https://github.com/timoast/signac/","language":["R"],"pub":{"doi":"https://doi.org/10.1038/s41592-021-01282-5","year":2021,"citations":674},"width":1400,"height":1920,"github_stars":296},{"name":"pyGenomeViz","url":"https://github.com/moshi4/pyGenomeViz","tags":["Comparative"],"language":["Python"],"img":"pygenomeviz.png","width":1291,"height":693,"github_stars":241,"note":"See also https://github.com/moshi4/MGCplotter https://github.com/moshi4/GBKviz https://github.com/moshi4/plot_genome_align_fig"},{"name":"SODA","url":"https://sodaviz.org/","github":"https://github.com/sodaviz/soda","language":["JS","Typescript"],"tags":["Repeats","Circular","Linear"],"img":"soda.png","pub":{"doi":"https://doi.org/10.1093/nargab/lqac077","year":2022,"citations":3},"note":"Describes itself as a low-level library to create larger applications with","width":971,"height":667,"github_stars":6},{"name":"ShinySyn","img":"shinysyn.png","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btac503","year":2022,"citations":11},"tags":["Comparative"],"language":["R","Shiny"],"width":480,"height":808},{"name":"JBR","img":"jbr.png","doi":{"doi":"https://doi.org/10.1093/bioinformatics/btab376"},"tags":["Epigenomics"],"language":["Java"],"note":"Not open source, at least not on github","url":"https://artyomovlab.wustl.edu/jbr/2018_h3k27ac_aging/","github":"https://github.com/Jetbrains-Research/jbr","width":555,"height":283,"github_stars":11},{"name":"clonifier","img":"clonifier.png","github":"https://github.com/dlesl/clonifier","language":["Rust","Typescript","React"],"tags":["Microbiology","Synthetic biology"],"width":555,"height":283,"github_stars":6},{"name":"ctag","img":"ctag.png","github":"https://github.com/AbeelLab/ctag","tags":["Graph","Population"],"note":"See also hygene https://github.com/ProgrammingLife2017/hygene","language":["Java","Scala"],"width":916,"height":639,"github_stars":1},{"name":"NCBI CGV","img":"cgv.png","tags":["Comparative"],"platform":["Silo"],"url":"https://ncbiinsights.ncbi.nlm.nih.gov/2022/07/05/cgv-beta-release/","width":512,"height":371},{"name":"vcfPlotein","img":"vcfplotein.png","language":["JS","D3","VueJS"],"tags":["Variation"],"url":"https://vcfplotein.liigh.unam.mx/#/","github":"https://github.com/redcpp/vcfplotein","width":1162,"height":254,"github_stars":8},{"name":"CoveragePlotter","img":"coverageplotter.png","language":["Java"],"note":"See also http://lindenb.github.io/jvarkit/WGSCoveragePlotter.html for multi-chromosome","tags":["CNV","Coverage"],"url":"http://lindenb.github.io/jvarkit/CoveragePlotter.html","width":282,"height":109},{"name":"tagore","img":"tagore.png","language":["Python"],"tags":["Ideogram","Local ancestry","Chromosome painting"],"url":"https://github.com/jordanlab/tagore","width":600,"height":258,"github_stars":35},{"name":"pileuppy","img":"pileuppy.png","language":["Python"],"tags":["Text based"],"url":"https://gitlab.com/tprodanov/pileuppy","width":1213,"height":805},{"name":"ggcoverage","img":"ggcoverage.png","language":["R"],"tags":["Coverage","Ideogram","CNV","Splicing"],"pub":{"doi":"https://doi.org/10.1101/2022.09.01.503744","year":2022,"citations":1},"url":"https://cran.r-project.org/web/packages/ggcoverage/vignettes/ggcoverage.html","github":"https://github.com/showteeth/ggcoverage","width":1024,"height":717,"github_stars":208},{"name":"python-genome-browser aka pygbrowse","url":"https://github.com/phageghost/python-genome-browser/blob/master/pygbrowse_demonstration.ipynb","github":"https://github.com/phageghost/python-genome-browser/","img":"pygbrowse.png","tags":["Epigenomics","Hi-C","Coverage","Gene structure"],"language":["Python"],"width":994,"height":503,"github_stars":27},{"name":"wally","language":["C++"],"img":"wally.png","tags":["Alignments viewer","Dotplot","SV"],"url":"https://github.com/tobiasrausch/wally","github_stars":98,"width":676,"height":538},{"name":"alignoth","language":["Rust","Vega"],"tags":["Alignments viewer"],"github":"https://github.com/koesterlab/alignoth","url":"http://htmlpreview.github.io/?https://github.com/koesterlab/alignoth/blob/main/examples/plot.html","img":"alignoth.png","width":1776,"height":440,"github_stars":52},{"name":"ezcharts","img":"ezcharts.png","tags":["Ideogram"],"language":["Python"],"github":"https://github.com/epi2me-labs/ezcharts","width":1141,"height":569,"github_stars":17},{"name":"gw","img":"gw.png","tags":["Alignments viewer","Variation"],"language":["C++","OpenGL"],"github":"https://github.com/kcleal/gw","width":2492,"height":618,"github_stars":145},{"name":"PretextView","img":"pretextview.jpg","tags":["Hi-C","OpenGL"],"language":["C++"],"github":"https://github.com/wtsi-hpag/PretextView","width":1616,"height":1616,"github_stars":27},{"name":"pyCirclize","img":"pycirclize.png","tags":["Circular"],"language":["Python"],"github":"https://github.com/moshi4/pyCirclize","width":1292,"height":865,"github_stars":652},{"name":"plasmapR","img":"plasmapr.png","tags":["Synthetic biology","Circular"],"language":["R"],"github":"https://github.com/BradyAJohnston/plasmapR","width":2100,"height":2100,"github_stars":73},{"name":"DrukBam","img":"drukbam.png","github":"https://github.com/StephanHolgerD/DrukBam","language":["Python"],"tags":["Alignments viewer"],"width":1270,"height":742,"github_stars":19},{"github":"https://github.com/matted/genome_coverage_plotter","name":"genome_coverage_plotter","img":"genome-coverage-plotter.png","language":["Python"],"tags":["CNV","Coverage"],"github_stars":6,"width":1600,"height":400},{"github":"https://github.com/mrvollger/NucFreq","name":"NucFreq","img":"nucfreq.png","tags":["Variation","Coverage"],"language":["Python","R"],"width":1600,"height":400,"github_stars":24},{"name":"PGR-TK","github":"https://github.com/cschin/pgr-tk","pub":{"doi":"10.1038/s41592-023-01914-y","year":2023,"citations":9},"tags":["Graph","Pangenome"],"language":["Rust"],"img":"pgrtk.png","width":1109,"height":385,"github_stars":11},{"name":"asynt","github":"https://github.com/simonhmartin/asynt","tags":["Comparative","Dotplot"],"img":"asynt.png","language":["R"],"width":884,"height":594,"github_stars":24},{"name":"GeMo","tags":["Chromosome painting","Ideogram"],"img":"gemo.png","language":["JS"],"github":"https://github.com/SouthGreenPlatform/GeMo","pub":{"doi":"10.1093/database/baac057","year":2022,"citations":3},"github_stars":13,"width":2250,"height":2130},{"name":"NGenomeSyn","tags":["Comparative","Multi-way synteny"],"img":"ngenomesyn.png","language":["Perl"],"pub":{"doi":"10.1093/bioinformatics/btad121","year":2023,"citations":25},"github":"https://github.com/hewm2008/NGenomeSyn","note":"See also RectChr","width":710,"height":612,"github_stars":138},{"name":"chromsyn","img":"chromsyn.png","github":"https://github.com/slimsuite/chromsyn","tags":["Comparative","Multi-way synteny"],"language":["R"],"doi":{"pub":"10.1101/2022.04.22.489119"},"width":1500,"height":975,"github_stars":24},{"name":"pixy","img":"pixy.png","github":"https://github.com/ksamuk/pixy/","url":"https://pixy.readthedocs.io/en/latest/plotting.html#a-genome-wide-plot-of-summary-statistics","note":"The link in readthedocs shows a nice general purpose way to plot multi-chromosome plots in ggplot2 with facet grid. Alternative methods for multi-chromosome plots shown by the manhattan ggplot2 tutorial (https://danielroelfs.com/blog/how-i-create-manhattan-plots-using-ggplot/ uses cumulative bp instead of facet_grid)","language":["Python","R","ggplot2"],"tags":["Population","Variation"],"doi":{"pub":"https://doi.org/10.1111/1755-0998.13326"},"github_stars":109,"width":1800,"height":900},{"name":"vcf2circos","url":"https://github.com/bioinfo-chru-strasbourg/vcf2circos","img":"vcf2circos.png","note":"Based on PCircos https://github.com/CJinny/PCircos","language":["Python","Plotly"],"tags":["SV","CNV","Circular"],"width":1514,"height":1002,"github_stars":26},{"name":"OmicCircos","tags":["Circular","CNV","Comparative","SV","Coverage"],"language":["R"],"url":"http://bioconductor.org/packages/release/bioc/html/OmicCircos.html","img":"omiccircos.png","pub":{"doi":"10.4137/CIN.S13495","year":2014,"citations":134},"github":"https://github.com/CBIIT-CGBB/OmicCircos2","width":831,"height":1568,"github_stars":5},{"name":"ABrowse (genome browser)","img":"abrowse2.png","tags":["General","Historical"],"language":["JS"],"platform":["Web"],"note":"Had integrations with BioMart, Taverna","pub":{"doi":"10.1186/1471-2105-13-2","year":2012,"citations":17},"width":1200,"height":727},{"name":"VRPG","tags":["Graph","Pangenome"],"img":"vrpg.png","language":["C++","Python"],"platform":["Web"],"url":"https://github.com/codeatcg/VRPG","pub":{"doi":"10.1101/2023.01.20.524991","year":2023,"citations":0},"github_stars":21,"width":949,"height":696},{"name":"Taxonium","note":"Genome variation visualisation in Taxonium is provided by the 'Treenome Viewer': https://academic.oup.com/bioinformatics/article/39/1/btac772/6858450","tags":["Phylogenetics","Microbiology"],"img":"taxonium.png","language":["JS","Python"],"platform":["Web"],"url":"https://taxonium.org","pub":{"doi":"10.7554/eLife.82392","year":2022,"citations":28},"github_stars":86,"width":1000,"height":525},{"name":"MosaicCatcher pipeline","tags":["Single cell","Strand-seq"],"img":"mosaicatcher.png","github":"https://github.com/friendsofstrandseq/mosaicatcher-pipeline","language":["R","Python","SnakeMake"],"width":2483,"height":3524,"github_stars":20},{"name":"TogoStanza Protein Browser","img":"togostanza.png","tags":["Protein"],"language":["JS"],"url":"https://db-dev.jpostdb.org/ts/stanza/protein_browser/help.html","width":1474,"height":889},{"name":"ReConPlot","img":"reconplot.png","github":"https://github.com/cortes-ciriano-lab/ReConPlot","language":["R"],"tags":["SV","CNV"],"pub":{"doi":"10.1101/2023.02.24.529890","year":2023,"citations":1},"width":917,"height":430,"github_stars":19},{"name":"rich-msa","language":["Python"],"tags":["Text based","MSA"],"github":"https://github.com/althonos/rich-msa","img":"richmsa.png","width":933,"height":921,"github_stars":78},{"name":"gtracks","tags":["General"],"language":["Python"],"note":"Powered by pyGenomeTracks","url":"https://gitlab.com/salk-tm/gtracks","img":"gtracks.png","width":1133,"height":297},{"name":"bamscope","tags":["Alignments viewer"],"language":["Kotlin"],"url":"https://github.com/jslfree080/bamscope","img":"bamscope.png","width":1199,"height":1591,"github_stars":9},{"name":"syntR","img":"syntr.png","github":"https://github.com/ksamuk/syntR","url":"https://www.samuklab.com/syntR/articles/syntr_tutorial.html","language":["R"],"tags":["Comparative","Dotplot"],"width":1152,"height":1152,"github_stars":4},{"name":"GCSnap","img":"gcsnap.png","tags":["Comparative"],"github":"https://github.com/JoanaMPereira/GCsnap","pub":{"doi":"https://doi.org/10.1016/j.jmb.2021.166943","year":2021,"citations":8},"language":["Python"],"github_stars":21,"width":4226,"height":1981},{"name":"trackplot (python)","img":"trackplot_python.png","tags":["General","Gene structure","Sashimi"],"language":["Python"],"pub":{"doi":"https://doi.org/10.1371/journal.pcbi.1011477","year":2023,"citations":1},"url":"https://github.com/ygidtu/trackplot","width":491,"height":355,"github_stars":65},{"name":"BAMdash","url":"https://github.com/jonas-fuchs/BAMdash/","img":"bamdash.png","language":["Python"],"tags":["Coverage"],"width":1494,"height":636,"github_stars":21},{"name":"ModDotPlot","img":"moddotplot.png","url":"https://github.com/marbl/ModDotPlot","language":["Python"],"pub":{"doi":"10.1101/2024.04.15.589623v1"},"tags":["Comparative","Dotplot","Heatmap","Repeats"],"width":1926,"height":1296,"github_stars":94},{"name":"odp (oxford dot plots)","img":"odp.png","tags":["Comparative","Dotplot","Snakemake","Multi-way synteny"],"url":"https://github.com/conchoecia/odp","language":["Python"],"pub":{"doi":"https://doi.org/10.1038/s41586-023-05936-6","year":2023,"citations":109},"note":"Pub is not for visualization tool, but it is suggested to cite this paper","width":1000,"height":618,"github_stars":114},{"name":"genoVi","img":"genovi.png","url":"https://github.com/robotoD/GenoVi","language":["Python"],"pub":{"doi":"https://doi.org/10.1371/journal.pcbi.1010998","year":2023,"citations":17},"tags":["Circular","Comparative","Microbiology"],"width":1500,"height":1500,"github_stars":67},{"name":"TRVZ (TRGT tandem repeat genotyping visualizer)","img":"trvz.png","language":["Rust"],"url":"https://github.com/PacificBiosciences/trgt","tags":["Repeats","Graph"],"pub":{"doi":"https://doi.org/10.1101/2023.05.12.540470","year":2023,"citations":10},"width":3154,"height":2261,"github_stars":93},{"name":"BRICK (BRIG-like circular knowledgebase)","note":"See also BRIG","github":"https://github.com/esteinig/brick","url":"https://brick.ink/","img":"brick.png","language":["JS"],"tags":["Circular","Comparative","Microbiology"],"width":1096,"height":836,"github_stars":11},{"name":"SGTK (scaffold graph toolkit)","interactive":["true"],"language":["JS","C++"],"tags":["Graph"],"img":"sgtk.png","url":"https://olga24912.github.io/SGTK/","github":"https://github.com/olga24912/SGTK","pub":{"doi":"https://doi.org/10.1093/bioinformatics/bty956","year":2018,"citations":10},"width":1371,"height":337,"github_stars":28},{"name":"pgv (graph tool)","github":"https://github.com/w-gao/pgv","url":"https://w-gao.github.io/pgv/","img":"pgv2.png","tags":["Graph"],"language":["JS","Python"],"width":1281,"height":874,"github_stars":19},{"name":"Panagram","tags":["K-mer","Pangenome"],"url":"https://github.com/kjenike/panagram","language":["Python"],"img":"panagram.png","width":693,"height":500,"github_stars":54},{"name":"VAG","pub":{"doi":"https://doi.org/10.1101/2023.01.20.524849","year":2023,"citations":0},"tags":["Graph","Pangenome"],"img":"vag.jpg","github":"https://github.com/lipingfangs/VAG","language":["Python","JS"],"width":1694,"height":667,"github_stars":17},{"name":"ntSynt","img":"ntsynt.png","language":["R"],"tags":["Comparative","Multi-way synteny"],"github":"https://github.com/bcgsc/ntSynt/","url":"https://github.com/bcgsc/ntSynt/tree/main/visualization_scripts","pub":{"doi":"https://doi.org/10.1101/2024.02.07.579356","year":2024,"citations":0},"note":"Uses gggenomes","width":5905,"height":2362,"github_stars":61},{"tags":["Static","Comparative"],"name":"geneviewer","img":"geneviewer.png","url":"https://nvelden.github.io/geneviewer/","github":"https://github.com/nvelden/geneviewer","language":["R"],"width":1492,"height":1247,"github_stars":18},{"name":"figeno","img":"figeno.png","tags":["Hi-C","Epigenomics","Methylation","Alignments viewer"],"language":["Python","JS"],"url":"https://github.com/CompEpigen/figeno","pub":{"doi":"https://doi.org/10.1101/2024.04.22.590500 ","year":2024,"citations":1},"width":2882,"height":1197,"github_stars":208},{"name":"SVhawkeye","img":"svhawkeye.jpg","tags":["SV","Alignments viewer"],"language":["Python","R"],"url":"https://github.com/yywan0913/SVhawkeye","pub":{"doi":"https://doi.org/10.3389/fgene.2024.1352443","year":2024,"citations":0},"github_stars":22,"width":1065,"height":576},{"name":"SeeNV","img":"seenv.png","url":"https://github.com/MSBradshaw/SeeNV","pub":{"doi":"https://doi.org/10.1101/2024.05.08.593244","year":2024,"citations":0},"language":["Python"],"tags":["CNV","Population","SV","Coverage"],"width":4868,"height":5454,"github_stars":2},{"name":"SYNY","img":"syny.png","url":"https://github.com/PombertLab/SYNY","pub":{"doi":"https://doi.org/10.1101/2024.05.09.593317","year":2024,"citations":0},"language":["Perl","Python"],"tags":["Comparative","Dotplot","Circular","Ideogram","Multi-way synteny"],"width":1692,"height":2446,"github_stars":24},{"name":"chrov","img":"chrov.png","url":"https://github.com/rraadd88/chrov","language":["Python"],"tags":["Ideogram","Lollipops","Circular","CNV"],"note":"See also usage in https://github.com/rraadd88/beditor","width":576,"height":1106,"github_stars":3},{"name":"waragraph","img":"waragraph.png","tags":["Graph"],"url":"https://chfi.github.io/waragraph/","github":"https://github.com/chfi/waragraph","note":"Deployed to the web via wasm","language":["Rust"],"platform":["Web","Desktop"],"width":1783,"height":901,"github_stars":22},{"name":"gff2ps","url":"https://genome.crg.es/software/gfftools/GFF2PS.html","pub":{"doi":"10.1093/bioinformatics/16.8.743","year":2000,"citations":40},"img":"gff2ps.png","tags":["Historical"],"note":"Used to make original figures for the human Celera genome","width":1114,"height":985},{"name":"SVbyEye","img":"svbyeye.png","github":"https://github.com/daewoooo/SVbyEye/","url":"https://htmlpreview.github.io/?https://github.com/daewoooo/SVbyEye/blob/master/vignettes/SVbyEye.html","tags":["Multi-way synteny","Comparative"],"language":["R"]}]}]}] +8:I[2766,["931","static/chunks/app/page-af034da5fca656e6.js"],"default"] +2:["$","$7",null,{"children":["$","$L8",null,{"tools":[{"tags":["Commercial"],"name":"10x genomics/Loupe","url":"https://support.10xgenomics.com/genome-exome/software/visualization/latest/structural-variants","img":"10xgenomics.png","interactive":["true"],"width":1600,"height":300},{"tags":["Commercial"],"name":"Alamut","img":"alamut.png","url":"https://www.interactive-biosoftware.com/alamut-visual/","interactive":["true"],"width":938,"height":132},{"tags":["Commercial","Microbiology"],"name":"ATCC Genome Portal","platform":["Silo"],"img":"atcc.png","url":"https://docs.onecodex.com/en/articles/3996697-using-the-genome-browser","interactive":["true"],"width":2602,"height":1276},{"tags":["Commercial","Synthetic biology"],"name":"Benchling","img":"benchling.png","url":"https://www.benchling.com/","interactive":["true"],"width":1710,"height":896},{"tags":["Commercial","SV"],"name":"CLC Genomics workbench","img":"clcgenomics.png","url":"https://digitalinsights.qiagen.com/news/blog/discovery/structural-variant-detection-using-clc-genomics-workbench/","interactive":["true"],"width":600,"height":455},{"tags":["Commercial"],"name":"DNASTAR","img":"dnastar.png","url":"https://www.dnastar.com/","interactive":["true"],"width":438,"height":253},{"tags":["Commercial","Synthetic biology"],"name":"Geneious","img":"geneious.png","url":"https://www.geneious.com/","interactive":["true"],"width":1000,"height":600},{"tags":["Commercial"],"name":"Genestack","img":"genestack.png","url":"https://genestack.com/blog/2015/05/28/navigation-in-genestack-genome-browser/","interactive":["true"],"width":1256,"height":556},{"tags":["Commercial"],"name":"Golden Helix","img":"goldenhelix.png","url":"https://www.goldenhelix.com/products/GenomeBrowse/","note":"Free for academic use","interactive":["true"],"width":360,"height":245},{"tags":["Commercial"],"name":"Lucid viewer","img":"lucidalign.png","url":"https://lucidalign.com/","interactive":["true"],"width":1024,"height":540},{"tags":["Commercial"],"name":"MacVector","img":"macvector.png","url":"https://macvector.com/","width":598,"height":478},{"tags":["Commercial","Comparative"],"name":"Persephone","img":"persephone.jpg","url":"https://persephonesoft.com/","width":576,"height":313},{"tags":["Commercial"],"img":"snapgene.png","name":"SnapGene","url":"https://www.snapgene.com/","width":777,"height":436},{"tags":["Commercial"],"img":"strandngs.png","name":"Strand NGS","url":"https://www.strand-ngs.com/","width":786,"height":478},{"tags":["Commercial","SV"],"img":"bionano.png","name":"Bionano","url":"https://bionanogenomics.com/technology/structural-variation/","width":568,"height":295},{"tags":["MSA"],"name":"AA (alignment annotator)","pub":{"doi":"10.1093/nar/gku400","year":2014,"citations":52},"note":"also see STRAP","img":"aa.png","language":["JS"],"url":"http://www.bioinformatics.org/strap/aa","platform":["Web"],"width":1222,"height":539},{"tags":["MSA"],"name":"abrowse (MSA viewer)","language":["JS"],"img":"abrowse.png","url":"https://github.com/ihh/abrowse","platform":["Web"],"width":1848,"height":533,"github_stars":11},{"tags":["MSA"],"name":"alignment.js","img":"alignmentjs.png","url":"https://github.com/veg/alignment.js","language":["JS"],"platform":["Web"],"width":2006,"height":454,"github_stars":6},{"tags":["MSA"],"name":"AlignmentComparator","img":"alignmentcomparator.png","github":"https://github.com/bioinfweb/AlignmentComparator","url":"http://bioinfweb.info/AlignmentComparator/","note":"Uses http://bioinfweb.info/LibrAlign/","language":["Java"],"width":756,"height":592,"github_stars":1},{"tags":["MSA"],"name":"AlignmentViewer","img":"alignmentviewer.png","language":["JS"],"github":"https://github.com/sanderlab/alignmentviewer","url":"https://alignmentviewer.org/","pub":{"url":"https://f1000research.com/articles/9-213","doi":"https://doi.org/10.12688/f1000research.22242.2","year":2020,"citations":5},"platform":["Web"],"width":1848,"height":716,"github_stars":25},{"tags":["MSA"],"name":"AliView","img":"aliview.png","url":"http://www.ormbunkar.se/aliview/","github":"https://github.com/AliView/AliView","pub":{"doi":"10.1093/bioinformatics/btu531","year":2014,"citations":2282},"platform":["Desktop"],"language":["Java"],"width":400,"height":241,"github_stars":112},{"tags":["MSA"],"name":"BioJS/MSA","language":["JS"],"url":"https://msa.biojs.net/","img":"biojsmsa.png","github":"https://github.com/wilzbach/msa","platform":["Web"],"pub":{"url":"https://academic.oup.com/bioinformatics/article/32/22/3501/2525598?login=true","doi":"10.1093/bioinformatics/btw474","year":2016,"citations":149},"width":1956,"height":634,"github_stars":167},{"name":"rMSA","url":"https://github.com/mhahsler/rMSA/blob/master/vignettes/rMSA_vignette.pdf","note":"Can automate boxshade","github":"https://github.com/mhahsler/rMSA","img":"rmsa.png","tags":["MSA"],"language":["R"],"width":650,"height":407,"github_stars":9},{"tags":["MSA","Deadlink"],"name":"Boxshade","note":"Also available as a command line tool with `apt install boxshade`. See also rMSA which can automate running boxshade from within R","img":"boxshade.png","url":"https://embnet.vital-it.ch/software/BOX_form.html","pub":{"url":"https://genomebiology.biomedcentral.com/articles/10.1186/gb-2000-1-2-reports2047","doi":"10.1186/gb-2000-1-2-reports2047","year":2000,"citations":8},"platform":["Web","CLI"],"width":915,"height":249},{"tags":["MSA"],"name":"ESPript","img":"espript.png","pub":{"doi":"10.1093/bioinformatics/15.4.305","year":1999,"citations":2398},"url":"http://espript.ibcp.fr/ESPript/ESPript/","platform":["Web","CLI"],"note":"Primarily a web interface but can download a binary for linux https://espript.ibcp.fr/ESPript/ESPript/esp_faq.php","width":830,"height":204},{"tags":["MSA"],"name":"Jalview","img":"jalview.jpg","url":"https://www.jalview.org/","pub":{"doi":"10.1093/bioinformatics/btp033","year":2009,"citations":7683},"platform":["Desktop"],"language":["Java"],"width":520,"height":377},{"tags":["MSA"],"name":"JSAV","img":"jsav.png","github":"https://github.com/AndrewCRMartin/JSAV","url":"http://www.bioinf.org.uk/software/jsav","language":["JS"],"platform":["Web"],"pub":{"url":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4304231/","doi":"10.12688/f1000research.5486.1","year":2014,"citations":14},"width":1000,"height":836,"github_stars":11},{"tags":["Logo"],"name":"LogoJS","img":"logojs.png","github":"https://github.com/weng-lab/logojs-package","language":["JS"],"url":"https://logojs.wenglab.org/app/gallery/","pub":{"doi":"10.1093/bioinformatics/btaa192","year":2020,"citations":8},"platform":["Web"],"width":413,"height":254,"github_stars":14},{"tags":["MSA"],"name":"MSABrowser","img":"msabrowser.png","language":["JS"],"github":"https://github.com/thekaplanlab/msabrowser","url":"https://thekaplanlab.github.io/","pub":{"doi":"https://doi.org/10.1093/bioadv/vbab009","year":2021,"citations":3},"platform":["Web"],"width":1654,"height":290,"github_stars":30},{"tags":["MSA"],"name":"msaR","url":"https://github.com/zachcp/msaR","img":"msar.png","note":"uses BioJS/MSA","language":["R","JS"],"platform":["Desktop","R/htmlwidget"],"width":1000,"height":580,"github_stars":8},{"tags":["MSA"],"name":"MView","url":"https://www.ebi.ac.uk/Tools/msa/mview/","pub":{"doi":"https://doi.org/10.1093/bioinformatics/14.4.380","year":1998,"citations":297},"img":"mview.png","note":"See also their web versions of clustal omega etc. which have similar outputs","platform":["Web","Silo"],"width":1222,"height":550},{"tags":["MSA"],"name":"NCBI MSA Viewer","url":"https://www.ncbi.nlm.nih.gov/projects/msaviewer/","img":"ncbimsa.png","platform":["Web","CGI","Silo"],"width":1222,"height":459},{"tags":["MSA"],"name":"pyBoxshade","img":"pyboxshade.png","url":"https://github.com/mdbaron42/pyBoxshade","language":["Python"],"note":"also see boxshade","platform":["Desktop"],"width":519,"height":304,"github_stars":22},{"tags":["MSA"],"name":"pymsaplotter","language":["Python"],"img":"pymsaplotter.png","url":"https://github.com/orangeSi/pymsaploter","width":1000,"height":513,"github_stars":11},{"tags":["MSA"],"name":"React MSAViewer","img":"react-msa-viewer.png","language":["JS","React"],"url":"https://github.com/plotly/react-msa-viewer","platform":["Web"],"width":595,"height":243,"github_stars":25},{"tags":["MSA"],"name":"react-msaview","img":"react-msaview.png","language":["JS","React"],"url":"https://github.com/GMOD/react-msaview","width":1177,"height":413,"github_stars":15},{"tags":["MSA"],"name":"seqotron","img":"seqotron.png","url":"https://github.com/4ment/seqotron","pub":{"doi":"10.1186/s13104-016-1927-4","year":2016,"citations":35},"language":["Objective-C"],"platform":["Desktop"],"width":826,"height":602,"github_stars":28},{"tags":["MSA"],"name":"STRAP","note":"also see AA","img":"strap.png","url":"http://www.bioinformatics.org/strap/","pub":{"doi":"10.1093/nar/gku400","year":2014,"citations":52},"platform":["Web","Applet"],"width":725,"height":380},{"tags":["MSA"],"name":"TeXShade","img":"texshade.png","pub":{"doi":"https://doi.org/10.1093/bioinformatics/16.2.135","year":2000,"citations":264},"url":"http://mirrors.ibiblio.org/CTAN/macros/latex/contrib/texshade/texshade.pdf","platform":["Desktop"],"width":2872,"height":761},{"tags":["MSA"],"name":"Wasabi","img":"wasabi.png","url":"http://wasabiapp.org/","github":"https://github.com/veidenberg/wasabi","language":["JS","Python"],"pub":{"doi":"https://doi.org/10.1093/molbev/msv333","year":2015,"citations":51},"platform":["Web"],"width":1378,"height":496,"github_stars":16},{"tags":["CNV","Static"],"name":"aCNVViewer","img":"acnvviewer.png","language":["Python"],"url":"https://github.com/FJD-CEPH/aCNViewer","pub":{"url":"https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0189334","doi":"https://doi.org/10.1371/journal.pone.0189334","year":2017,"citations":7},"width":4000,"height":1800,"github_stars":27},{"name":"CNVkit","tags":["CNV"],"img":"cnvkit.png","url":"https://cnvkit.readthedocs.io/en/stable/plots.html","github":"https://github.com/etal/cnvkit","language":["Python"],"pub":{"url":"https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1004873","doi":"https://doi.org/10.1371/journal.pcbi.1004873","year":2016,"citations":1279},"width":885,"height":1555,"github_stars":502},{"tags":["CNV","Static"],"language":["C","R"],"name":"BAMScale","img":"bamscale.png","url":"https://github.com/ncbi/BAMscale","pub":{"url":"https://epigeneticsandchromatin.biomedcentral.com/articles/10.1186/s13072-020-00343-x","doi":"10.1186/s13072-020-00343-x","year":2020,"citations":43},"width":2172,"height":498,"github_stars":64},{"tags":["Static","Alignments viewer"],"language":["Python"],"img":"bamsnap.png","name":"BAMSnap","url":"https://github.com/parklab/bamsnap","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btaa1101","year":2021,"citations":7},"width":1000,"height":1121,"github_stars":108},{"tags":["Static","Epigenomics"],"name":"ChIA-Pipe","img":"chiapipe.png","url":"https://github.com/TheJacksonLaboratory/ChIA-PIPE","pub":{"url":"https://www.science.org/doi/10.1126/sciadv.aay2078","doi":"10.1126/sciadv.aay2078","year":2020,"citations":23},"width":541,"height":562,"github_stars":26},{"tags":["Gene fusion","Circular","Linear"],"name":"Chimeraviz","img":"chimeraviz.png","url":"https://github.com/stianlagstad/chimeraviz","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btx329","year":2017,"citations":24},"language":["R"],"width":1914,"height":1935,"github_stars":36},{"tags":["Static","CNV"],"name":"CNView","img":"cnview.jpg","url":"https://github.com/RCollins13/CNView","pub":{"doi":"https://doi.org/10.1101/049536","year":2016,"citations":10},"language":["R"],"width":1260,"height":900,"github_stars":68},{"tags":["Static","CNV"],"name":"CNVPlot","img":"cnvplot.jpg","url":"https://github.com/dantaki/CNVplot","pub":{"doi":"10.1101/030270","year":2015,"citations":0},"language":["R"],"width":535,"height":537,"github_stars":15},{"tags":["Static","CNV"],"name":"CNVpytor","img":"cnvpytor.png","url":"https://github.com/abyzovlab/CNVpytor","pub":{"doi":"https://doi.org/10.1093/gigascience/giab074","year":2021,"citations":40},"language":["Python"],"width":1024,"height":1024,"github_stars":168},{"tags":["Static","Synthetic biology"],"name":"DNAPlotLib","img":"dnaplotlib.png","url":"https://github.com/VoigtLab/dnaplotlib","pub":{"doi":"10.1021/acssynbio.6b00252","year":2016,"citations":48},"language":["Python"],"width":960,"height":810,"github_stars":289},{"name":"ExonIntron","url":"http://wormweb.org/exonintron","img":"exonintron.png","tags":["Static","Gene structure"],"width":387,"height":78},{"tags":["Static","Gene structure"],"name":"FeatureViewer","img":"featureviewer.png","pub":{"doi":"https://doi.org/10.5281/zenodo.596941"},"url":"https://github.com/calipho-sib/feature-viewer","platform":["Web"],"width":2736,"height":970,"github_stars":108},{"tags":["Static","Gene structure"],"name":"Geneviz","img":"geneviz.png","url":"https://jrderuiter.github.io/geneviz/usage.html","github":"https://github.com/jrderuiter/geneviz","language":["Python"],"width":640,"height":152,"github_stars":15},{"tags":["Static"],"name":"Genome STRiP","img":"genomestrip.png","pub":{"doi":"10.1038/ng.3200","year":2015,"citations":348},"url":"http://software.broadinstitute.org/software/genomestrip/","width":1133,"height":466},{"tags":["Static","Gene structure"],"name":"GenomeTools","img":"genometools.png","github":"https://github.com/genometools/genometools","url":"http://genometools.org/","pub":{"doi":"10.1109/TCBB.2013.68","year":2013,"citations":338},"language":["C"],"width":700,"height":326,"github_stars":281},{"tags":["Static","SV","Alignments viewer"],"name":"GenomeView","img":"genomeview.png","url":"https://github.com/nspies/genomeview","pub":{"doi":"https://doi.org/10.1101/355636","year":2018,"citations":2},"language":["Python"],"width":900,"height":591,"github_stars":140},{"name":"GenomeView (java app)","img":"genomeview_java.png","url":"https://genomeview.org/content/quick-start-guide","github":"https://github.com/GenomeView/genomeview","pub":{"doi":"https://doi.org/10.1093/nar/gkr995","year":2011,"citations":119},"language":["Java"],"tags":["Alignments viewer"],"width":640,"height":496,"github_stars":7},{"tags":["Static","Comparative"],"name":"genoPlotR","img":"genoplotr.png","url":"http://genoplotr.r-forge.r-project.org/","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btq413","year":2010,"citations":571},"language":["R"],"width":500,"height":300},{"tags":["Static","Ideogram","Circular"],"name":"ggbio","url":"http://www.bioconductor.org/packages/2.11/bioc/vignettes/ggbio/inst/doc/ggbio.pdf","github":"https://github.com/lawremi/ggbio","img":"ggbio.png","language":["R","ggplot2"],"pub":{"url":"https://genomebiology.biomedcentral.com/articles/10.1186/gb-2012-13-8-r77","doi":"https://doi.org/10.1186/gb-2012-13-8-r77","year":2012,"citations":260},"width":600,"height":600,"github_stars":110},{"tags":["Static","Comparative"],"name":"GGgenes","img":"gggenes.png","url":"https://github.com/wilkox/gggenes","language":["R","ggplot2"],"width":768,"height":768,"github_stars":477},{"tags":["Static"],"name":"GGsashimi","img":"ggsashimi.png","url":"https://github.com/guigolab/ggsashimi","pub":{"doi":"https://dx.doi.org/10.1371%2Fjournal.pcbi.1006360","year":2018,"citations":163},"language":["R","ggplot2"],"width":3600,"height":3330,"github_stars":116},{"name":"GSSPlayground","img":"gssplayground.png","url":"https://github.com/orangeSi/GSSplayground","language":["Perl"],"tags":["Comparative","Static","Alignments viewer"],"width":1300,"height":700,"github_stars":31},{"tags":["Static","Ideogram","Quantitative","CNV"],"name":"gtrellis","github":"https://github.com/jokergoo/gtrellis","img":"gtrellis.png","url":"http://bioconductor.org/packages/devel/bioc/vignettes/gtrellis/inst/doc/gtrellis.html","pub":{"doi":"https://doi.org/10.1186/s12859-016-1051-4","year":2016,"citations":19},"language":["R"],"width":720,"height":576,"github_stars":39},{"tags":["Static","Alignments viewer","Quantitative"],"name":"Gviz","img":"gviz.png","url":"https://bioconductor.org/packages/release/bioc/html/Gviz.html","github":"https://github.com/ivanek/Gviz","pub":{"doi":"https://doi.org/10.1007/978-1-4939-3578-9_16","year":2016,"citations":686},"language":["R"],"width":720,"height":480,"github_stars":67},{"tags":["Static","Coverage"],"name":"Hagfish","img":"hagfish.png","url":"https://github.com/mfiers/hagfish/wiki/Plots","github":"https://github.com/mfiers/hagfish","language":["Python"],"width":957,"height":284,"github_stars":36},{"tags":["Static","Hi-C"],"name":"HiCPlotter","img":"hicplotter.jpg","pub":{"doi":"https://doi.org/10.1186/s13059-015-0767-1","year":2015,"citations":161},"url":"https://github.com/kcakdemir/HiCPlotter","language":["Python"],"width":600,"height":840,"github_stars":17},{"tags":["Static","Alignments viewer"],"name":"JVarKit/BamToSVG","img":"bamtosvg.jpg","pub":{"doi":"10.6084/m9.figshare.1425030"},"url":"http://lindenb.github.io/jvarkit/BamToSVG.html","language":["Java"],"width":599,"height":591},{"tags":["Static","Protein","Lollipops"],"name":"Lollipops","img":"lollipops.png","url":"https://github.com/joiningdata/lollipops","language":["Go"],"width":1776,"height":200,"github_stars":180},{"tags":["Static","Protein"],"name":"Mason","img":"mason.png","url":"http://www.yeastrc.org/mason/","platform":["Web","Deadlink"],"width":1378,"height":496},{"tags":["Static","Epigenomics","Methylation"],"name":"Methplotlib","url":"https://github.com/wdecoster/methplotlib","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btaa093","year":2020,"citations":26},"img":"methplotlib.jpg","language":["Python"],"width":700,"height":450,"github_stars":88},{"tags":["Single cell"],"name":"Millefy","img":"millefy.png","url":"https://github.com/yuifu/millefy","pub":{"doi":"https://dx.doi.org/10.1186%2Fs12864-020-6542-z","year":2020,"citations":5},"language":["R"],"platform":["Package"],"width":1418,"height":2157,"github_stars":27},{"name":"Pairoscope","url":"http://pairoscope.sourceforge.net/","language":["C++"],"img":"pairoscope.png","tags":["Static","SV"],"width":1024,"height":768},{"name":"pauvre","github":"https://github.com/conchoecia/pauvre","tags":["Static","Comparative","Multi-way synteny"],"img":"pauvre.png","language":["Python"],"platform":["CLI"],"url":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6991124/figure/fig-3/","pub":{"doi":"https://dx.doi.org/10.7717%2Fpeerj.8356","year":2020,"citations":18},"width":2428,"height":748,"github_stars":48},{"name":"PureScript genetics browser","url":"https://github.com/chfi/purescript-genetics-browser","img":"purescript.png","language":["Purescript"],"platform":["Web"],"tags":["GWAS"],"width":1848,"height":663,"github_stars":5},{"name":"pyGenomeTracks","url":"https://github.com/deeptools/pyGenomeTracks","language":["Python"],"note":"See also https://pypi.org/project/gtracks/ which is a separate project that is powered by pyGenomeTracks","img":"pygenometracks.png","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btaa692","year":2020,"citations":259},"tags":["Static","Hi-C","General"],"width":743,"height":591,"github_stars":733},{"name":"RACER","url":"https://oliviasabik.github.io/RACERweb/articles/IntroToRACER.html","github":"https://github.com/oliviasabik/RACER","language":["R"],"img":"racer.png","tags":["Static","GWAS"],"pub":{"doi":"https://doi.org/10.1101/495366","year":2018,"citations":5},"width":1400,"height":865,"github_stars":16},{"name":"RepViz","url":"https://bmcresnotes.biomedcentral.com/articles/10.1186/s13104-019-4473-z","github":"https://github.com/elolab/RepViz","language":["R"],"pub":{"doi":"10.1186/s13104-019-4473-z","year":2019,"citations":0},"img":"repviz.png","tags":["Static","Quantitative"],"width":1677,"height":2482,"github_stars":2},{"name":"Samplot","url":"https://github.com/ryanlayer/samplot","language":["Python"],"pub":{"doi":"10.1186/s13059-021-02380-5","year":2021,"citations":52},"img":"samplot.jpg","tags":["Static","SV","Alignments viewer"],"width":1202,"height":602,"github_stars":500},{"name":"SashimiPlot","url":"https://miso.readthedocs.io/en/fastmiso/sashimi.html","language":["Python"],"img":"sashimi-plot-example.png","github":"https://github.com/yarden/MISO","pub":{"doi":"https://dx.doi.org/10.1093%2Fbioinformatics%2Fbtv034","year":2015,"citations":135},"tags":["Static","Expression","Splicing"],"note":"See also rmats2sashimiplot which uses MISO. MATS stands for Multivariate Analysis of Transcript Splicing","width":1012,"height":683,"github_stars":129},{"name":"shabam","url":"https://github.com/dlrice/shabam","language":["Python"],"img":"shabam.png","tags":["Static"],"width":790,"height":203,"github_stars":6},{"name":"shinyChromosome","url":"http://150.109.59.144:3838/shinyChromosome/","platform":["Web"],"tags":["Dotplot","Linear","Ideogram"],"github":"https://github.com/YaoLab-Bioinfo/shinyChromosome","img":"shinychromosome.png","language":["R","Shiny"],"pub":{"url":"https://www.sciencedirect.com/science/article/pii/S1672022919301883","doi":"https://doi.org/10.1016/j.gpb.2019.07.003","year":2019,"citations":16},"width":950,"height":550,"github_stars":42},{"name":"SparK","url":"https://github.com/harbourlab/SparK","language":["Python"],"img":"spark.png","tags":["Static","Hi-C","Quantitative"],"pub":{"doi":"https://doi.org/10.1101/845529","year":2019,"citations":41},"width":4553,"height":821,"github_stars":102},{"name":"Spliceclust","url":"https://github.com/pkimes/spliceclust","img":"spliceclust.png","language":["R"],"tags":["Static","Splicing"],"width":1152,"height":384,"github_stars":11},{"name":"Sushi","url":"https://www.bioconductor.org/packages/release/bioc/vignettes/Sushi/inst/doc/Sushi.pdf","language":["R"],"img":"sushi.png","github":"https://github.com/PhanstielLab/Sushi","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btu379","year":2014,"citations":175},"tags":["Static"],"width":589,"height":247,"github_stars":67},{"name":"svist4get","url":"https://link.springer.com/article/10.1186/s12859-019-2706-8","language":["Python"],"tags":["Static"],"img":"svis4get.png","pub":{"doi":"10.1186/s12859-019-2706-8","year":2019,"citations":34},"width":973,"height":403},{"name":"svv","url":"https://github.com/ryanlayer/svv","language":["Python"],"img":"svv.png","tags":["Static","SV","Coverage"],"width":489,"height":999,"github_stars":25},{"name":"svviz","url":"https://github.com/svviz/svviz","language":["Python"],"tags":["Static","SV","Insertion"],"img":"svviz.png","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btv478","year":2015,"citations":45},"width":1604,"height":893,"github_stars":80},{"name":"svviz2","url":"https://github.com/nspies/svviz2","language":["Python"],"tags":["Static","SV","Insertion"],"img":"svviz2.png","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btv478","year":2015,"citations":45},"width":1834,"height":1129,"github_stars":49},{"name":"TnT","url":"https://tnt.marlin.pub/articles/introduction","language":["R","JS"],"github":"https://github.com/tntvis/tnt.genome","img":"tnt.png","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btw210","year":2016,"citations":3},"tags":["Gene structure"],"platform":["Web","Interactive"],"width":741,"height":215,"github_stars":18},{"name":"trackViewer","url":"https://bioconductor.org/packages/release/bioc/vignettes/trackViewer/inst/doc/trackViewer.html","language":["R"],"img":"trackviewer.png","github":"https://github.com/jianhong/trackViewer","pub":{"doi":"https://doi.org/10.1038/s41592-019-0430-y","year":2019,"citations":137},"tags":["Static","Lollipops","Quantitative"],"width":1152,"height":960,"github_stars":58},{"tags":["Comparative","Deadlink"],"name":"Aequatus","img":"aequatus.png","pub":{"doi":"https://doi.org/10.1093/gigascience/giy128","year":2018,"citations":1},"url":"https://github.com/TGAC/Aequatus","language":["JS","Java"],"platform":["Web","Silo"],"width":626,"height":281,"github_stars":7},{"tags":["Comparative"],"name":"AliTV","img":"alitv.png","url":"https://alitvteam.github.io/AliTV/d3/AliTV.html","pub":{"doi":"https://doi.org/10.7717/peerj-cs.116","year":2017,"citations":62},"platform":["Web"],"language":["JS","D3","Perl"],"width":2500,"height":1923},{"tags":["Comparative"],"name":"Artemis comparison tool (ACT)","github":"https://github.com/sanger-pathogens/Artemis","img":"artemis_act.png","url":"https://www.sanger.ac.uk/science/tools/artemis-comparison-tool-act","pub":{"doi":"https://doi.org/10.1093/bioinformatics/bti553","year":2005,"citations":1350},"language":["Java"],"platform":["Desktop"],"width":648,"height":530,"github_stars":229},{"tags":["Comparative"],"name":"Biodalliance comparative demo","github":"https://github.com/dasmoth/dalliance","url":"http://biodalliance.org/dev/test-comparative.html","pub":{"doi":"http://doi.org/10.1093/bioinformatics/btr020","year":2011,"citations":89},"language":["JS"],"img":"biodalliance_comparative.png","platform":["Web"],"width":1222,"height":681,"github_stars":226},{"tags":["Comparative","Pangenome","Microbiology"],"name":"Chromatiblock","url":"https://github.com/mjsull/chromatiblock","platform":["Web"],"language":["Python"],"img":"chromatiblock.png","pub":{"doi":"https://doi.org/10.21105/joss.02451","year":2020,"citations":1},"width":1654,"height":1079,"github_stars":30},{"tags":["Comparative"],"name":"CMap","github":"https://github.com/gmod/cmap","url":"http://gmod.org/wiki/CMap","language":["Perl"],"img":"cmap.jpg","pub":{"doi":"https://dx.doi.org/10.1093%2Fbioinformatics%2Fbtp458","year":2009,"citations":64},"platform":["Web"],"width":620,"height":831,"github_stars":5},{"tags":["Comparative","Dotplot","Linear","JBrowse integration"],"name":"CoGe","github":"https://github.com/LyonsLab/coge","img":"coge.png","url":"https://genomevolution.org/coge/","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btx144","year":2017,"citations":132},"language":["Perl"],"platform":["Web","Silo"],"width":1313,"height":469,"github_stars":44},{"tags":["Comparative","UCSC integration"],"name":"Comparative assembly hub / \"snake track\"","url":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4296145/","platform":["Web"],"img":"comparative_assembly_hub.png","pub":{"url":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4296145/","doi":"https://dx.doi.org/10.1093%2Fbioinformatics%2Fbtu534","year":2014,"citations":27},"width":440,"height":140},{"tags":["Comparative"],"name":"CrossBrowse","url":"https://github.com/shenkers/CrossBrowse","language":["Java"],"platform":["Desktop"],"img":"crossbrowse.png","pub":{"doi":"https://doi.org/10.1101/272880","year":2018,"citations":0},"width":1101,"height":652,"github_stars":8},{"tags":["Comparative","Ideogram"],"name":"CVit","url":"https://sourceforge.net/projects/cvit/","github":"https://github.com/ekcannon/CViT","pub":{"doi":"10.1155/2011/373875","year":2011,"citations":26},"img":"cvit.png","language":["Perl"],"platform":["Web"],"width":1100,"height":850,"github_stars":2},{"tags":["Comparative","Ideogram"],"name":"Cvit.js","language":["JS"],"img":"cvitjs.png","url":"https://github.com/LegumeFederation/cvitjs","platform":["Web"],"width":1000,"height":500,"github_stars":10},{"tags":["Comparative"],"name":"EasyFig","github":"https://github.com/mjsull/Easyfig","img":"easyfig.png","language":["Python"],"url":"https://mjsull.github.io/Easyfig/","platform":["CLI"],"pub":{"url":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3065679/","doi":"https://dx.doi.org/10.1093%2Fbioinformatics%2Fbtr039","year":2011,"citations":2611},"width":5000,"height":2171,"github_stars":86},{"name":"Edinburgh-Genome-Foundry/DnaFeaturesViewer","url":"https://github.com/Edinburgh-Genome-Foundry/DnaFeaturesViewer","img":"dnafeaturesviewer.png","platform":["Desktop"],"language":["Python"],"note":"See also https://github.com/Edinburgh-Genome-Foundry/Caravagene","tags":["Microbiology","Synthetic biology"],"pub":{"url":"https://academic.oup.com/bioinformatics/article-abstract/36/15/4350/5868559?redirectedFrom=PDF","doi":"https://doi.org/10.1093/bioinformatics/btaa213","year":2020,"citations":86},"width":1000,"height":300,"github_stars":571},{"tags":["Comparative"],"name":"GBrowse_syn","github":"https://github.com/GMOD/GBrowse","url":"http://gmod.org/wiki/GBrowse_syn","pub":{"doi":"https://dx.doi.org/10.1002%2F0471250953.bi0912s31","year":2010,"citations":32},"img":"gbrowse_syn.png","language":["Perl"],"platform":["Web"],"width":1340,"height":428,"github_stars":49},{"tags":["Comparative","Gene order","Pangenome"],"name":"Genome Context Viewer","github":"https://github.com/legumeinfo/gcv","url":"https://www.legumefederation.org/gcv/phytozome_10_2/","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btx757","year":2017,"citations":25},"img":"genome_context_viewer.png","platform":["Web","Silo"],"language":["JS","Typescript"],"width":2550,"height":2010,"github_stars":36},{"tags":["Comparative"],"name":"Genome-plots-processing","img":"genome_plots_processing.png","pub":{"doi":"https://dx.doi.org/10.1073%2Fpnas.1603910113","year":2016,"citations":218},"url":"https://github.com/filip-husnik/genome-plots-processing","language":["Processing"],"width":1712,"height":1114,"github_stars":1},{"tags":["Comparative","Ideogram","Dotplot"],"name":"Genomicus","url":"https://www.genomicus.biologie.ens.fr/genomicus/","pub":{"doi":"10.1093/nar/gkab1091","year":2021,"citations":45},"img":"genomicus.png","platform":["Web","Silo"],"width":1459,"height":1438},{"tags":["Comparative"],"name":"gggenomes","url":"https://github.com/thackl/gggenomes","img":"gggenomes.png","pub":{"doi":"http://dx.doi.org/10.1101/2020.11.30.404863","year":2020,"citations":3},"language":["R"],"platform":["Package"],"width":3000,"height":1200,"github_stars":569},{"tags":["Comparative","Linear","Quantitative"],"name":"GIVE","github":"https://github.com/Zhong-Lab-UCSD/Genomic-Interactive-Visualization-Engine","img":"give_hic.png","url":"https://zhong-lab-ucsd.github.io/GIVE_homepage/","language":["JS"],"pub":{"doi":"https://doi.org/10.1186/s13059-018-1465-6","year":2018,"citations":16},"platform":["Web"],"width":1680,"height":1050,"github_stars":142},{"tags":["Comparative"],"name":"mauve-viewer","img":"mauve_viewer.png","url":"https://github.com/nconrad/mauve-viewer","language":["JS"],"platform":["Web"],"width":2112,"height":1367,"github_stars":40},{"tags":["Comparative","Dotplot","Linear"],"name":"MCScan (python version)","img":"mcscan_python.png","url":"https://github.com/tanghaibao/jcvi/wiki/MCscan-(Python-version)","github":"https://github.com/tanghaibao/jcvi","note":"Also has 2024 citation here https://onlinelibrary.wiley.com/doi/10.1002/imt2.211","language":["Python"],"pub":{"doi":"10.1186/s13059-014-0573-1","year":2015,"citations":331},"platform":["CLI"],"width":833,"height":257,"github_stars":709},{"name":"MCScanX","tags":["Comparative","Dotplot","Circular","Linear","Ideogram"],"url":"https://github.com/wyp1125/MCScanX","img":"mcscanx.png","pub":{"doi":"https://dx.doi.org/10.1093%2Fnar%2Fgkr1293","year":2012,"citations":4204},"language":["Perl"],"platform":["CLI"],"width":1424,"height":1380,"github_stars":204},{"tags":["Comparative","Deadlink"],"name":"mGSV (multiple genome synteny viewer)","img":"mgsv.jpg","url":"https://github.com/kashmatic/mGSV","pub":{"doi":"https://dx.doi.org/10.1186%2F1471-2105-13-190","year":2012,"citations":17},"platform":["Web","Silo"],"width":600,"height":322,"github_stars":5},{"tags":["Comparative"],"name":"MizBee","img":"mizbee.jpg","language":["Processing"],"url":"http://www.cs.utah.edu/~miriah/mizbee/Overview.html","platform":["Desktop"],"pub":{"url":"https://ieeexplore.ieee.org/document/5290692","doi":"10.1109/TVCG.2009.167","year":2009,"citations":119},"width":550,"height":355},{"tags":["Comparative"],"name":"Multiple genome viewer","img":"mgv.png","url":"http://www.informatics.jax.org/mgv/","github":"https://github.com/mgijax/mgv","language":["JS","VueJS"],"platform":["Web","Silo"],"pub":{"doi":"https://doi.org/10.1007/s00335-021-09904-1","year":2021,"citations":4},"width":512,"height":341,"github_stars":11},{"tags":["Comparative","Gene order"],"name":"OMA local synteny browser","img":"oma.png","pub":{"doi":"http://doi.org/10.1093/nar/gkaa1007","year":2020,"citations":150},"url":"https://omabrowser.org/oma/synteny/ADH1A_HUMAN/","platform":["Web","Silo"],"width":1848,"height":688},{"tags":["Comparative","Dotplot","Linear"],"name":"pafr","img":"pafr.png","url":"https://github.com/dwinter/pafr","language":["R","ggplot2"],"width":672,"height":960,"github_stars":62},{"tags":["Comparative"],"name":"Parasight","img":"parasight.png","url":"https://baileylab.brown.edu/parasight/galframe.html","note":"Examples at https://ratparalogy.gs.washington.edu/","pub":{"doi":"https://doi.org/10.1038/ng1562","year":2005,"citations":744},"language":["Perl"],"width":570,"height":285},{"tags":["Comparative"],"name":"progressiveMauve viewer","img":"progressive_mauve.png","github":"https://github.com/koadman/mauve","language":["Java"],"url":"http://darlinglab.org/mauve/user-guide/viewer.html","platform":["Desktop"],"width":638,"height":512,"github_stars":23},{"tags":["Comparative","Dotplot","Linear"],"name":"SyMap","url":"http://www.agcol.arizona.edu/software/symap/","platform":["Desktop"],"img":"symap.png","pub":{"doi":"https://dx.doi.org/10.1101%2Fgr.5396706","year":2006,"citations":156},"width":640,"height":1131},{"tags":["Comparative"],"name":"Synima","img":"synima.png","url":"https://github.com/rhysf/Synima","platform":["CLI"],"language":["Perl"],"pub":{"doi":"https://dx.doi.org/10.1186%2Fs12859-017-1939-7","year":2017,"citations":37},"width":778,"height":539,"github_stars":59},{"tags":["Comparative"],"img":"jax_synteny_browser.png","name":"Synteny browser","url":"https://github.com/TheJacksonLaboratory/syntenybrowser","platform":["Web"],"width":1848,"height":815,"github_stars":4},{"tags":["Comparative","Dotplot","Linear","Microbiology"],"name":"SynTView","img":"syntview.png","url":"http://hub18.hosting.pasteur.fr/SynTView/documentation/","platform":["Desktop","Web","Flash"],"pub":{"url":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3849071/","doi":"https://dx.doi.org/10.1186%2F1471-2105-14-277","year":2013,"citations":23},"width":1361,"height":1152},{"tags":["Comparative","Linear","Dotplot"],"name":"SynVisio","img":"synvisio.png","language":["JS","D3"],"url":"https://synvisio.github.io/","github":"https://github.com/kiranbandi/synvisio","width":1920,"height":1080,"github_stars":75},{"tags":["Comparative","Ideogram"],"name":"Tripal MapViewer","language":["PHP","JS"],"github":"https://github.com/statonlab/tripal_map","img":"tripal_mapviewer.png","pub":{"doi":"https://doi.org/10.1093/database/baz100","year":2019,"citations":4},"width":1000,"height":435,"github_stars":1},{"tags":["Comparative"],"name":"VISTA browser","url":"http://pipeline.lbl.gov/cgi-bin/gateway2","img":"vista.png","platform":["Web","Silo"],"pub":{"doi":"https://dx.doi.org/10.1093%2Fnar%2Fgkh458","year":2004,"citations":1829},"width":1222,"height":348},{"tags":["Comparative"],"name":"XMatchView","img":"xmatchview.png","github":"https://github.com/bcgsc/xmatchview","language":["Python"],"url":"https://www.bcgsc.ca/resources/software/xmatchview","platform":["Desktop"],"pub":{"doi":"https://doi.org/10.21105/joss.00497","year":2018,"citations":3},"width":1000,"height":500,"github_stars":36},{"tags":["Graph"],"name":"AGB assembly graph browser","img":"agb.jpeg","github":"https://github.com/almiheenko/AGB","platform":["Web"],"language":["Python"],"pub":{"url":"https://academic.oup.com/bioinformatics/article/35/18/3476/5306331","doi":"https://doi.org/10.1093/bioinformatics/btz072","year":2019,"citations":13},"github_stars":77,"width":1975,"height":1044},{"tags":["Graph"],"name":"Bandage","img":"bandage.png","url":"https://github.com/rrwick/Bandage/","note":"See also BandageNG https://github.com/asl/BandageNG","language":["C++"],"platform":["Desktop"],"pub":{"url":"https://academic.oup.com/bioinformatics/article/31/20/3350/196114","doi":"https://doi.org/10.1093/bioinformatics/btv383","year":2015,"citations":1660},"width":440,"height":157,"github_stars":569},{"tags":["Graph"],"name":"gfaestus","img":"gfaestus.png","url":"https://github.com/chfi/gfaestus","note":"See demo video displaying GFF3 annotations on graph https://www.youtube.com/watch?v=A-HnKXIrJl4","language":["Rust"],"width":679,"height":448,"github_stars":62},{"tags":["SV","CNV","Breakends","Graph"],"name":"gGnomes","img":"ggnomesr.png","url":"https://github.com/mskilab/gGnome","language":["R"],"platform":["Web"],"width":1536,"height":1920,"github_stars":37},{"tags":["SV","CNV","Breakends","Graph"],"name":"gGnomes.js","img":"ggnomes.png","url":"https://github.com/mskilab/gGnome.js","language":["JS"],"platform":["Web"],"width":1222,"height":575,"github_stars":26},{"tags":["Graph"],"name":"graphgenomeviewer","img":"graphgenomeviewer.png","url":"https://cmdcolin.github.io/graphgenomeviewer/","github":"https://github.com/cmdcolin/graphgenomeviewer/","language":["JS"],"platform":["Web"],"width":1222,"height":575,"github_stars":8},{"tags":["Graph","Alignments viewer","Circular","SV"],"name":"MoMi-G","img":"momig.png","url":"https://github.com/MoMI-G/MoMI-G","pub":{"doi":"10.1186/s12859-019-3145-2","year":2019,"citations":21},"language":["JS"],"platform":["Web"],"width":2880,"height":1754,"github_stars":85},{"tags":["Graph"],"name":"odgi draw + odgi viz + odgi inject","language":["C++"],"github":"https://github.com/pangenome/odgi","img":"odgi.png","pub":{"doi":"https://doi.org/10.1101/2021.11.10.467921","year":2021,"citations":14},"note":"Example from https://github.com/pangenome/pggb, see also gene arrow map https://odgi.readthedocs.io/en/latest/rst/tutorials/injecting_gene_arrows.html","url":"https://odgi.readthedocs.io/en/latest/index.html","width":1389,"height":1587,"github_stars":184},{"tags":["Graph"],"name":"sequence tube map","img":"sequence_tube_map.png","url":"https://github.com/vgteam/sequenceTubeMap","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btz597","year":2019,"citations":30},"language":["JS"],"platform":["Web"],"width":1594,"height":422,"github_stars":176},{"tags":["Text based","MSA"],"name":"Alan","img":"alan.png","url":"https://github.com/mpdunne/alan","language":["Bash"],"platform":["CLI"],"width":1096,"height":712,"github_stars":111},{"tags":["Text based","MSA"],"name":"Alv","img":"alv.png","url":"https://github.com/arvestad/alv","pub":{"doi":"https://doi.org/10.21105/joss.00955","year":2018,"citations":3},"platform":["CLI"],"language":["Python"],"width":2244,"height":598,"github_stars":106},{"tags":["Text based","Alignments viewer"],"name":"ASCIIGenome","img":"asciigenome.png","url":"https://github.com/dariober/ASCIIGenome","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btx007","year":2017,"citations":4},"language":["Java"],"platform":["CLI"],"width":1368,"height":632,"github_stars":194},{"tags":["Text based","Coverage"],"name":"Bamcov","img":"bamcov.png","url":"https://github.com/fbreitwieser/bamcov","language":["C"],"platform":["CLI"],"width":637,"height":166,"github_stars":98},{"tags":["Text based"],"name":"BLAST+ (reading -outfmt 0 pairwise output is the original CLI bioinformatics!)","url":"ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/","pub":{"doi":"10.1186/1471-2105-10-421","year":2009,"citations":13841},"language":["C++"],"platform":["CLI"]},{"tags":["Text based"],"name":"Hapviz","url":"https://github.com/ekg/hapviz","img":"hapviz.png","language":["C"],"platform":["CLI"],"width":870,"height":416,"github_stars":11},{"tags":["Text based"],"name":"plotReads","img":"plotreads.png","url":"http://campuspress.yale.edu/knightlab/ruddle/plotreads/","platform":["CLI","Static"],"width":2842,"height":1634},{"name":"pyBamView","tags":["Alignments viewer","Static"],"url":"https://mgymrek.github.io/pybamview/","platform":["CLI"],"img":"pybamview.png","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btu565","year":2014,"citations":6},"note":"See supplementary info for more figures, supports padded SAM/BAM which is fairly rare","language":["Python"],"width":644,"height":695},{"tags":["Text based"],"name":"Rna Alignment Viewers (Colorstock, SScolor, Ratón)","url":"http://biowiki.org/wiki/index.php?title=Rna_Alignment_Viewers&redirect=no","img":"rnaalignment.png","platform":["CLI"],"language":["Perl"],"pub":{"url":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7109877/","doi":"https://dx.doi.org/10.1093%2Fbioinformatics%2Fbtm635","year":2008,"citations":3},"width":544,"height":286},{"tags":["Text based"],"name":"Sam2pairwise","url":"https://github.com/mlafave/sam2pairwise","pub":{"doi":"https://doi.org/10.5281/zenodo.11377"},"language":["C++"],"platform":["CLI"],"github_stars":40},{"tags":["Text based","Coverage"],"name":"Samtools depth visualization","language":["C"],"img":"depthplot.png","url":"https://twitter.com/yokofakun/status/1178686978541441025","platform":["CLI","GNUplot"],"width":1101,"height":446},{"tags":["Text based","Alignments viewer"],"name":"Samtools tview","url":"http://www.htslib.org/","github":"https://github.com/samtools/samtools","language":["C"],"platform":["CLI"],"pub":{"doi":"https://doi.org/10.1093/bioinformatics/btp352","year":2009,"citations":46292},"img":"tview.png","width":1290,"height":875,"github_stars":1576},{"tags":["Text based"],"name":"SvABA","img":"svaba.png","url":"https://github.com/walaj/svaba#alignmentstxtgz","pub":{"doi":"https://doi.org/10.1101/gr.221028.117","year":2018,"citations":280},"platform":["CLI"],"width":5360,"height":1587,"github_stars":227},{"tags":["Text based"],"name":"VizAln (from HipSTR)","img":"hipstr.png","url":"https://github.com/tfwillems/HipSTR","pub":{"doi":"https://doi.org/10.1038/nmeth.4267","year":2017,"citations":215},"width":4750,"height":2046,"github_stars":92},{"tags":["Circular"],"name":"Anvio","github":"https://github.com/merenlab/anvio","pub":{"doi":"https://doi.org/10.7717/peerj.1319","year":2015,"citations":1380},"url":"https://peerj.com/articles/1319/","language":["Python"],"github_stars":412},{"tags":["Circular"],"name":"BioCircos.js","img":"biocircos.png","language":["JS"],"pub":{"doi":"https://doi.org/10.1093/bioinformatics/btw041","year":2016,"citations":114},"url":"http://bioinfo.ibp.ac.cn/biocircos/","platform":["Web"],"width":900,"height":600},{"tags":["Commercial","Circular"],"name":"Circa","img":"circa.png","url":"https://omgenomics.com/circa","platform":["Desktop"],"width":1158,"height":1158},{"tags":["Circular","Static"],"name":"Circleator","github":"https://github.com/jonathancrabtree/Circleator","img":"circleator.png","url":"http://jonathancrabtree.github.io/Circleator/index.html","pub":{"doi":"https://dx.doi.org/10.1093%2Fbioinformatics%2Fbtu505","year":2014,"citations":32},"language":["Perl"],"width":420,"height":420,"github_stars":46},{"tags":["Circular","Static"],"name":"circlize","img":"circlize.jpeg","url":"https://github.com/jokergoo/circlize","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btu393","year":2014,"citations":2701},"language":["R"],"width":1181,"height":1181,"github_stars":951},{"tags":["Circular","Static"],"name":"Circos","img":"circos.png","note":"no official github to my knowledge","url":"http://circos.ca/","pub":{"doi":"https://dx.doi.org/10.1101%2Fgr.092759.109","year":2009,"citations":8182},"language":["Perl"],"width":310,"height":427,"github_stars":68},{"tags":["Circular"],"name":"CircosJS","language":["JS"],"img":"circosjs.png","url":"https://github.com/nicgirault/circosJS","platform":["Web"],"width":888,"height":905,"github_stars":505},{"tags":["Circular"],"name":"DNAPlotter","img":"dnaplotter.jpg","url":"https://www.sanger.ac.uk/science/tools/dnaplotter","pub":{"doi":"http://dx.doi.org/10.1093%2Fbioinformatics%2Fbtn578","year":2008,"citations":695},"platform":["Desktop"],"language":["Java"],"width":663,"height":577},{"tags":["Circular","Linear"],"name":"GenomeProjector","url":"https://github.com/gaou/g-language/wiki","github":"https://github.com/gaou/g-language","img":"glanguage.jpg","platform":["Desktop"],"language":["Perl"],"pub":{"url":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2636772/","doi":"https://dx.doi.org/10.1186%2F1471-2105-10-31","year":2009,"citations":32},"width":1024,"height":768,"github_stars":1},{"tags":["Circular","Static","Comparative"],"name":"JupiterPlot","img":"jupiterplot.png","url":"https://github.com/JustinChu/JupiterPlot","pub":{"doi":"https://doi.org/10.5281/zenodo.1241235"},"language":["Perl"],"width":324,"height":324,"github_stars":66},{"tags":["Static"],"name":"mummer2circos","img":"mummer2circos.png","url":"https://github.com/metagenlab/mummer2circos","language":["Python"],"width":3000,"height":3000,"github_stars":92},{"tags":["Circular","Static"],"name":"OGDRAW","img":"ogdraw.png","url":"https://chlorobox.mpimp-golm.mpg.de/OGDraw.html","platform":["Web"],"pub":{"doi":"https://doi.org/10.1093/nar/gkz238","year":2019,"citations":1182},"width":1250,"height":1250},{"tags":["Synthetic biology"],"img":"seqviz.png","name":"seqviz","url":"https://github.com/Lattice-Automation/seqviz#viewer","platform":["Web"],"width":1848,"height":633,"github_stars":223},{"tags":["Synthetic biology"],"img":"aplasmideditor.png","twitter":"https://twitter.com/apeplasmid?lang=en","name":"ApE (a plasmid editor)","url":"https://jorgensen.biology.utah.edu/wayned/ape/","platform":["Desktop"],"width":828,"height":1725},{"tags":["Historical","Deadlink","Gene structure","Annotation","Comparative"],"name":"Apollo","img":"apollo.jpg","url":"https://web.archive.org/web/20060927154956/http://www.fruitfly.org/annot/apollo/","note":"URL is an archive.org link","platform":["Desktop"],"language":["Java"],"pub":{"url":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC151184/","doi":"https://dx.doi.org/10.1186%2Fgb-2002-3-12-research0082","year":2002,"citations":287},"width":600,"height":247},{"tags":["Gene structure","Annotation","JBrowse integration"],"img":"webapollo.jpg","name":"Apollo aka WebApollo","github":"https://github.com/gmod/apollo","url":"https://genomearchitect.readthedocs.io/en/latest/","platform":["Web"],"pub":{"doi":"https://doi.org/10.1186/gb-2013-14-8-r93","year":2013,"citations":307},"language":["Java","Groovy","JS"],"width":685,"height":384,"github_stars":123},{"tags":["Synthetic biology"],"name":"Chopchop","img":"chopchop.png","url":"http://chopchop.cbu.uib.no/","pub":{"doi":"https://doi.org/10.1093/nar/gkz365","year":2019,"citations":1166},"width":1378,"height":575},{"tags":["Alignments viewer"],"name":"Chromatic","url":"https://chromatic.nci.nih.gov/","img":"chromatic.png","platform":["Web"],"language":["WASM"],"pub":{"url":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5987889/","doi":"https://dx.doi.org/10.1177%2F1176935118771972","year":2018,"citations":4},"width":1019,"height":673},{"tags":["CNV","Annotation","Deadlink"],"name":"cnvCurator","url":"http://www.acsu.buffalo.edu/~lm69/cnvCurator","platform":["Desktop"],"img":"cnvcurator.png","interactive":["true"],"language":["Java"],"pub":{"url":"http://bmcbioinformatics.biomedcentral.com/articles/10.1186/s12859-015-0766-y","doi":"10.1186/s12859-015-0766-y","year":2015,"citations":2},"width":778,"height":476},{"tags":["Gene structure","Coverage","Variation"],"interactive":["true"],"name":"D3GB","github":"https://github.com/BioinfoUSAL/D3GB","note":"Live link http://d3gb.usal.es/docs/HumanGenomeBrowser/index.html?r=12:121113963-121213963 doesn't work anymore","img":"d3gb.png","url":"http://d3gb.usal.es/","language":["JS","D3","R"],"pub":{"doi":"https://doi.org/10.1089/cmb.2016.0213","year":2017,"citations":14},"platform":["Web"],"width":970,"height":360,"github_stars":0},{"tags":["Exotic"],"img":"dnaskittle.png","github":"https://github.com/josiahseaman/skittle","language":["Python","JS"],"name":"DNASkittle","url":"https://www.dnaskittle.com/","pub":{"doi":"10.1186/1471-2105-10-452","year":2009,"citations":7},"platform":["Web"],"width":1194,"height":441,"github_stars":7},{"tags":["Epigenomics"],"name":"EaSeq","img":"easeq.png","url":"https://easeq.net/screenshots/","platform":["Desktop"],"pub":{"url":"https://www.nature.com/articles/nsmb.3180","doi":"https://doi.org/10.1038/nsmb.3180","year":2016,"citations":223},"width":243,"height":312},{"tags":["Exotic"],"name":"FluentDNA","img":"fluentdna.jpeg","url":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7203487/","pub":{"doi":"https://dx.doi.org/10.3389%2Ffgene.2020.00292","year":2020,"citations":3},"platform":["Web"],"width":256,"height":256},{"tags":["Alignments viewer","Linear"],"name":"Gambit","img":"gambit.png","url":"http://labsergen.langebio.cinvestav.mx/bioinformatics/jacob/?p=473","platform":["Desktop"],"width":1024,"height":671},{"tags":["SV","Alignments viewer"],"name":"Ribbon","language":["JS"],"url":"http://genomeribbon.com/","github":"https://github.com/MariaNattestad/ribbon","img":"genomeribbon.png","platform":["Web"],"interactive":["true"],"pub":{"url":"https://academic.oup.com/bioinformatics/advance-article-abstract/doi/10.1093/bioinformatics/btaa680/5885081?redirectedFrom=fulltext","doi":"https://doi.org/10.1093/bioinformatics/btaa680","year":2020,"citations":49},"width":720,"height":405,"github_stars":252},{"tags":["CNV","GWAS","Linear","MSA"],"name":"GenomeSpy","img":"genomespy.png","github":"https://github.com/genome-spy/genome-spy","url":"https://genomespy.app/","language":["JS","WebGL"],"platform":["Web"],"interactive":["true"],"width":1194,"height":476,"github_stars":166},{"tags":["General","Linear"],"name":"Genoverse","url":"https://github.com/wtsi-web/Genoverse","language":["JS"],"img":"genoverse.png","platform":["Web"],"width":1194,"height":476,"github_stars":106},{"tags":["Linear","Population"],"name":"Gnomad browser","url":"https://github.com/macarthur-lab/gnomadjs","language":["JS"],"pub":{"doi":"https://doi.org/10.1038/s41586-020-2308-7","year":2020,"citations":6209},"img":"gnomad.png","twitter":"https://twitter.com/gnomad_project","platform":["Web","Silo"],"width":1081,"height":599,"github_stars":79},{"tags":["SV","Linear"],"name":"Gremlin","img":"gremlin.png","url":"http://compbio.cs.brown.edu/projects/gremlin/","pub":{"doi":"https://doi.org/10.1109/tvcg.2010.163","year":2010,"citations":22},"platform":["Web"],"width":1072,"height":745},{"tags":["Expression","Linear","Linkage disequilibrium"],"img":"gtex_locus.png","name":"GTEX Locus browser","pub":{"doi":"https://doi.org/10.1126/science.aaz1776","year":2020,"citations":2557},"url":"https://gtexportal.org/home/locusBrowserPage/ACTN3","platform":["Web"],"width":1194,"height":767},{"tags":["Population","Linkage disequilibrium","GWAS"],"name":"GWAS catalog browser","img":"gwascatalog.png","pub":{"doi":"https://doi.org/10.1093/nar/gky1120","year":2018,"citations":3190},"url":"https://www.ebi.ac.uk/gwas/variants/rs1558902","platform":["Web"],"twitter":"https://twitter.com/gwascatalog?lang=en","width":748,"height":533},{"tags":["Alignments viewer","Assembly QC"],"name":"Hawkeye","github":"https://github.com/peterhj/amos","language":["C++"],"img":"hawkeye.png","pub":{"url":"https://genomebiology.biomedcentral.com/articles/10.1186/gb-2007-8-3-r34","doi":"10.1186/gb-2007-8-3-r34","year":2007,"citations":55},"platform":["Desktop"],"width":1200,"height":765,"github_stars":0},{"tags":["Population","GWAS"],"name":"Human genome dating","url":"https://human.genome.dating/region/chr1_13250000","language":["JS"],"platform":["Web"],"img":"human_genome_dating.png","pub":{"doi":"https://doi.org/10.1371/journal.pbio.3000586","year":2020,"citations":138},"note":"made with vega/d3","width":1746,"height":1352},{"tags":["Assembly QC","Graph"],"name":"Icarus QUAST","img":"icarus.png","url":"http://quast.sourceforge.net/icarus.html","github":"https://github.com/ablab/quast","platform":["Web"],"pub":{"doi":"https://doi.org/10.1093/bioinformatics/btw379","year":2016,"citations":108},"width":1504,"height":797,"github_stars":374},{"tags":["SV","Alignments viewer"],"name":"InGAP-SV","img":"ingap_sv.png","language":["Java"],"url":"http://ingap.sourceforge.net/","pub":{"doi":"10.1093/nar/gkr506","year":2011,"citations":64},"platform":["Desktop"],"width":417,"height":510},{"tags":["SV","Introgression"],"name":"Introgression browser","img":"introgression_browser.png","url":"https://git.wageningenur.nl/aflit001/ibrowser","pub":{"url":"https://onlinelibrary.wiley.com/doi/pdf/10.1111/tpj.12800","doi":"10.1111/tpj.12800","year":2015,"citations":17},"language":["Python"],"platform":["Web"],"width":619,"height":359},{"tags":["Microbiology","Circular","Linear"],"name":"IslandViewer and IslandPlot","url":"https://bl.ocks.org/lairdm/c6c235dbfa6e6ee61565","img":"islandplot.png","language":["JS","D3"],"platform":["Web"],"github":"https://github.com/lairdm/islandplot","pub":{"doi":"https://doi.org/10.1093/nar/gkv401","year":2015,"citations":251},"note":"web app using it here https://pathogenomics.sfu.ca/islandviewer uses D3, SVG","width":937,"height":374,"github_stars":33},{"tags":["Alignment viewer"],"name":"MagicViewer","language":["Java"],"img":"magicviewer.jpeg","url":"http://bioinformatics.zj.cn/magicviewer/","platform":["Desktop"],"pub":{"url":"https://academic.oup.com/nar/article/38/suppl_2/W732/1096410","doi":"https://doi.org/10.1093/nar/gkq302","year":2010,"citations":40},"width":1280,"height":960},{"tags":["GWAS","Population"],"name":"Locuszoom","github":"https://github.com/statgen/locuszoom","img":"locuszoom.png","url":"http://locuszoom.org/","language":["R","Python"],"pub":{"doi":"https://doi.org/10.1093/bioinformatics/btq419","year":2010,"citations":2201},"platform":["Web"],"width":488,"height":310,"github_stars":149},{"name":"Locuszoom.js","url":"http://locuszoom.org/locuszoomjs.php","github":"https://github.com/statgen/locuszoom","platform":["Web"],"pub":{"doi":"https://doi.org/10.1093/bioinformatics/btab186","year":2021,"citations":158},"github_stars":149},{"tags":["Alignments viewer"],"name":"LookSeq","github":"https://github.com/magnusmanske/lookseq","img":"lookseq.png","url":"https://www.sanger.ac.uk/tool/lookseq/","pub":{"doi":"10.1101/gr.093443.109","year":2009,"citations":50},"platform":["Web"],"width":1918,"height":1049,"github_stars":4},{"tags":["Population"],"name":"Panoptes","img":"panoptes.png","github":"https://github.com/cggh/panoptes","language":["Python","JS"],"url":"https://www.malariagen.net/apps/ag1000g/phase1-AR3/index.html","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btx410","year":2017,"citations":6},"width":1378,"height":476,"github_stars":36},{"tags":["Alignments viewer"],"name":"MapView","img":"mapview.jpg","url":"https://sites.google.com/site/wjwdavy/","platform":["Desktop"],"note":"links in original paper are dead, but URL provided here works","pub":{"url":"https://academic.oup.com/bioinformatics/article/25/12/1554/193807","doi":"https://doi.org/10.1093/bioinformatics/btp255","year":2009,"citations":66},"width":500,"height":397},{"tags":["Alignments viewer"],"name":"NGB","img":"ngb.png","url":"https://github.com/epam/NGB","platform":["Web"],"language":["Java"],"width":1920,"height":921,"github_stars":154},{"tags":["Coverage"],"name":"SeqCover","img":"seqcover.png","github":"https://github.com/brentp/seqcover","platform":["Web"],"url":"https://brentp.github.io/seqcover/#gene=AIFM1","width":1378,"height":476,"github_stars":50},{"tags":["Special-purpose"],"name":"SEQing","img":"seqing.png","url":"https://github.com/malewins/SEQing","pub":{"doi":"https://doi.org/10.1186/s12859-020-3434-9","year":2020,"citations":8},"language":["Python"],"platform":["Web"],"width":1169,"height":950,"github_stars":8},{"tags":["CNV"],"name":"SFARI","url":"https://gene.sfari.org/database/human-gene/","pub":{"doi":"https://doi.org/10.1242/dmm.005439","year":2010,"citations":232},"img":"sfari.jpg","platform":["Web","Silo"],"width":745,"height":367},{"tags":["Alignments viewer"],"name":"Short read assembly browser","img":"short_read_assembly_browser.png","platform":["Web","Silo"],"pub":{"doi":"https://doi.org/10.1093/pcp/pcs183","year":2013,"citations":579},"url":"https://rapdb.dna.affrc.go.jp/AssemblyBrowser2/index.html?ref=%22chr01%22&run_id=%22G4toI1%22&start=%22234780%22&end=%22236631%22","width":1378,"height":476},{"tags":["CNV"],"name":"SNPitty","url":"https://bitbucket.org/ccbc/snpitty/src/master/","language":["R"],"img":"snpitty.jpg","platform":["Web"],"pub":{"url":"https://www.jmdjournal.org/article/S1525-1578(17)30166-6/fulltext","doi":"https://doi.org/10.1016/j.jmoldx.2017.11.011","year":2018,"citations":14},"width":753,"height":361},{"tags":["MSA","Deadlink"],"name":"SNIPViz","github":"https://github.com/yeastrc/snipviz","pub":{"doi":"https://doi.org/10.1186/1756-0500-7-468","year":2014,"citations":7},"url":"http://www.yeastrc.org/snipviz/4.HTML_Config_retrieve_newick_and_fasta_from_server/snip_viz_HTML_config_with_newick_clustering.html","img":"snpviz.png","platform":["Web"],"width":1377,"height":519,"github_stars":19},{"tags":["SV","CNV"],"name":"SplitThreader","img":"splitthreader.png","github":"https://github.com/MariaNattestad/SplitThreader","language":["JS","PHP"],"url":"http://splitthreader.com/","pub":{"doi":"https://doi.org/10.1101/087981","year":2016,"citations":11},"platform":["Web"],"width":2698,"height":1778,"github_stars":66},{"tags":["Alignments viewer","Assembly QC"],"name":"Staden","language":["C","Tcl/Tk"],"img":"staden.png","url":"https://sourceforge.net/projects/staden/","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btq268","year":2010,"citations":188},"platform":["Desktop"],"width":640,"height":939},{"tags":["Pangenome"],"name":"TASUKE","img":"tasuke.png","url":"https://ricegenome.dna.affrc.go.jp/","note":"info about multi-genome-browser https://tasuke.dna.affrc.go.jp/","pub":{"doi":"https://doi.org/10.1093/dnares/dsz022","year":2019,"citations":21},"platform":["Web"],"width":1377,"height":572},{"tags":["Transposons","Repeats","Deadlink"],"language":["Perl"],"platform":["Web","CGI","Server"],"name":"TE-nest","img":"tenest.jpg","github":"https://github.com/cmdcolin/TEnest","pub":{"doi":"https://doi.org/10.1104/pp.107.110353","year":2007,"citations":55},"note":"this was an online tool that does not appear to exist anymore see https://web.archive.org/web/20170712104431/http://www.plantgdb.org/tool/TEnest/. the github link is re-hosted source code also downloaded from archive.org","width":637,"height":847,"github_stars":1},{"tags":["Transposons","Repeats"],"name":"Transposcope","github":"https://github.com/FenyoLab/transposcope","img":"transposcope.png","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btaa244","year":2020,"citations":0},"language":["JS"],"platform":["Web"],"width":1374,"height":510,"github_stars":8},{"tags":["Special-purpose"],"name":"UGENE","language":["C++"],"img":"ugene.png","url":"http://ugene.net/","github":"https://github.com/ugeneunipro/ugene","platform":["Desktop"],"pub":{"doi":"10.1093/bioinformatics/bts091","year":2012,"citations":2051},"width":796,"height":602,"github_stars":203},{"tags":["Annotation"],"name":"Varsome","img":"varsome.png","pub":{"doi":"https://doi.org/10.1093/bioinformatics/bty897","year":2018,"citations":1145},"url":"https://varsome.com/security-validation/?next=/variant/hg19/NM_000088.3(COL1A1):c.658C%3ET","platform":["Web","Silo"],"width":1378,"height":572},{"tags":["Splicing"],"name":"Vials","pub":{"doi":"10.1109/TVCG.2015.2467911","year":2016,"citations":17},"url":"http://vials.io/","github":"https://github.com/Caleydo/vials","platform":["Web"],"github_stars":13},{"tags":["Quantitative"],"name":"wasm bigwig demo browser","img":"wasm_bigwig.png","url":"https://shk656461.github.io/index.html","language":["WASM"],"platform":["Web"],"width":977,"height":279},{"tags":["General"],"name":"BasePlayer","url":"https://baseplayer.fi/","github":"https://github.com/rkataine/BasePlayer","img":"baseplayer.png","platform":["Desktop"],"language":["Java"],"pub":{"doi":"https://doi.org/10.1038/s41596-018-0052-3","year":2018,"citations":27},"width":858,"height":486,"github_stars":4},{"tags":["General","Historical","Alignments viewer"],"img":"celera.jpeg","name":"Celera genome browser","url":"https://www.csee.umbc.edu/~turner/presentations/bvw2002/sld009.htm","platform":["Desktop"],"width":800,"height":600},{"tags":["General","Alignments viewer"],"name":"IGB","img":"igb.jpg","url":"https://bioviz.org/","platform":["Desktop"],"language":["Java"],"pub":{"url":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4937187/","doi":"https://dx.doi.org/10.1093%2Fbioinformatics%2Fbtw069","year":2016,"citations":312},"width":800,"height":398},{"tags":["General","Alignments viewer","SV","Quantitative"],"name":"IGV","img":"igv.jpg","language":["Java"],"url":"https://igv.org/","github":"https://github.com/igvteam/igv","platform":["Desktop"],"pub":{"doi":"https://dx.doi.org/10.1038%2Fnbt.1754","year":2011,"citations":11222},"width":1124,"height":1280,"github_stars":621},{"tags":["General","SV","Alignments viewer"],"name":"Savant","img":"savant.jpg","github":"https://github.com/compbio-UofT/savant","language":["Java"],"url":"http://bioinformatics-ca.github.io/savant_genome_browser_lab_2015/","platform":["Desktop"],"pub":{"url":"https://pubmed.ncbi.nlm.nih.gov/22638571/","doi":"https://doi.org/10.1093/nar/gks427","year":2012,"citations":44},"width":800,"height":561,"github_stars":12},{"tags":["General","Alignments viewer"],"name":"Tablet","github":"https://github.com/cropgeeks/tablet","img":"tablet.jpeg","language":["Java"],"url":"https://ics.hutton.ac.uk/tablet/","pub":{"doi":"https://doi.org/10.1093/bib/bbs012","year":2012,"citations":768},"platform":["Desktop"],"width":520,"height":408,"github_stars":38},{"tags":["Exotic","GWAS"],"name":"BigTop","language":["JS"],"img":"bigtop.png","url":"https://blog.dnanexus.com/2019-05-21-bigtop-data-visualization/","github":"https://github.com/dnanexus/bigtop","platform":["Web"],"width":537,"height":310,"github_stars":5},{"tags":["Exotic"],"name":"Cylindrical alignment app","img":"cylindrical_alignment_viewer.png","url":"https://sourceforge.net/projects/cylindrical-alignment-app/","alt_url":"https://sourceforge.net/projects/cyl-viewer/","platform":["Desktop"],"width":1920,"height":1080},{"tags":["General","Alignments viewer"],"name":"Biodalliance","github":"https://github.com/dasmoth/dalliance","url":"http://www.biodalliance.org/","platform":["Web"],"img":"biodalliance.png","pub":{"doi":"http://doi.org/10.1093/bioinformatics/btr020","year":2011,"citations":89},"language":["JS"],"width":2002,"height":766,"github_stars":226},{"tags":["General","Comparative"],"name":"Ensembl genome browser","img":"ensembl.png","pub":{"doi":"https://doi.org/10.1093/nar/30.1.38","year":2002,"citations":1146},"url":"https://useast.ensembl.org/Homo_sapiens/Location/View?r=17:63992802-64038237","platform":["Web","Silo"],"width":1121,"height":583},{"tags":["General","Comparative"],"img":"2020ensembl.png","name":"Ensembl genome browser 2020 edition","url":"http://2020.ensembl.org/","platform":["Web"],"width":1378,"height":648},{"tags":["General"],"name":"GBrowse 2","github":"https://github.com/GMOD/GBrowse","img":"gbrowse.png","url":"http://gmod.org/wiki/GBrowse","language":["Perl"],"platform":["Web"],"pub":{"doi":"https://dx.doi.org/10.1093%2Fbib%2Fbbt001","year":2013,"citations":101},"note":"Original gbrowse paper https://doi.org/10.1101/gr.403602","width":800,"height":552,"github_stars":49},{"name":"GenomeMaps","img":"genomemaps.jpg","github":"https://github.com/opencb/genome-maps","url":"http://www.genomemaps.org/","pub":{"url":"https://academic.oup.com/nar/article/41/W1/W41/1113984","doi":"https://doi.org/10.1093/nar/gkt530","year":2013,"citations":25},"tags":["General","Deadlink"],"language":["JS"],"width":489,"height":640,"github_stars":39},{"tags":["General","Epigenomics","Higlass integration","Linear","Circular","Comparative","Quantitative"],"name":"Gosling","img":"gosling.png","github":"https://github.com/gosling-lang/gosling.js","language":["JS","WebGL","Typescript","React"],"platform":["Web"],"url":"https://gosling.js.org/","pub":{"doi":"10.1109/TVCG.2021.3114876","year":2022,"citations":23},"width":1549,"height":777,"github_stars":155},{"tags":["General","Epigenomics","Hi-C"],"name":"HiGlass","img":"higlass.png","github":"https://github.com/higlass/higlass","language":["JS","WebGL"],"pub":{"doi":"10.1186/s13059-018-1486-1","year":2018,"citations":1017},"url":"https://higlass.io","platform":["Web","Server"],"width":1250,"height":956,"github_stars":307},{"tags":["General","Alignments viewer"],"name":"IGV.js","language":["JS"],"img":"igvjs.png","pub":{"doi":"https://doi.org/10.1101/2020.05.03.075499","year":2020,"citations":46},"url":"https://github.com/igvteam/igv.js/","platform":["Web"],"width":1116,"height":605,"github_stars":628},{"tags":["General","Alignments viewer","SV","Quantitative","Gene structure"],"name":"JBrowse","note":"See also JBrowse plugin registry https://gmod.github.io/jbrowse-registry. Runs on the web or as a desktop app using Electron","img":"jbrowse.png","url":"http://jbrowse.org/jbrowse1.html","github":"https://github.com/GMOD/jbrowse","language":["JS"],"platform":["Web","Desktop"],"pub":{"doi":"https://doi.org/10.1186/s13059-016-0924-1","year":2016,"citations":630},"width":2120,"height":1310,"github_stars":459},{"tags":["General","SV","Comparative","Dotplot","Circular","Alignments viewer","Quantitative","Hi-C"],"name":"JBrowse 2","note":"See gallery for more examples https://jbrowse.org/jb2/gallery","img":"jbrowse2.png","github":"https://github.com/GMOD/jbrowse-components","url":"http://jbrowse.org/jb2","language":["JS","Typescript","React"],"pub":{"doi":"https://doi.org/10.1101/2022.07.28.501447","year":2022,"citations":14},"platform":["Web"],"width":1848,"height":1964,"github_stars":192},{"tags":["General","SV","Alignments viewer","Comparative"],"name":"Kero-BROWSE","img":"kerobrowse.png","url":"https://kero.hgc.jp/examples/CLCL/hg38/index.html","github":"https://github.com/DBKERO/genome_browser","platform":["Web"],"pub":{"doi":"https://doi.org/10.1093/nar/gkx1001","year":2017,"citations":44},"language":["JS"],"note":"Also can visualize basic synteny, see tracks e.g. https://kero.hgc.jp/tool/keyword.html#kero:chrX:153,724,868-153,744,762 human vs chimp","width":602,"height":397,"github_stars":7},{"tags":["General","SV","Epigenomics","Gene structure","Splicing"],"name":"NCBI Genome Data Viewer","img":"gdv.png","url":"https://www.ncbi.nlm.nih.gov/genome/gdv/","pub":{"doi":"10.1101/gr.266932.120","year":2020,"citations":106},"platform":["Web","Silo"],"width":1848,"height":697},{"tags":["General"],"name":"Nucleome browser","img":"nucleome.png","url":"https://vis.nucleome.org/v1/main.html","pub":{"doi":"https://doi.org/10.1101/2022.02.21.481225","year":2022,"citations":1},"language":["JS"],"twitter":"https://twitter.com/4DNucleome","note":"github at https://github.com/nucleome","platform":["Web"],"width":1377,"height":471},{"tags":["General","SV"],"name":"Pileup.js","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btw167","year":2016,"citations":18},"img":"pileupjs.png","url":"https://github.com/hammerlab/pileup.js","language":["JS"],"platform":["Web"],"width":1086,"height":597,"github_stars":273},{"tags":["General"],"name":"Trackster","img":"trackster.png","pub":{"doi":"https://doi.org/10.1038/nbt.2404","year":2012,"citations":23},"url":"https://galaxyproject.org/learn/visualization/","platform":["Web"],"width":472,"height":238},{"tags":["General"],"img":"ucsc.jpg","name":"UCSC genome browser","url":"https://genome.ucsc.edu/","github":"https://github.com/ucscGenomeBrowser/kent","pub":{"doi":"10.1101/gr.229102","year":2002,"citations":5634},"platform":["Web","Silo"],"width":512,"height":131,"github_stars":211},{"tags":["General","Quantitative","Epigenomics","Deadlink"],"name":"Valis browser","url":"https://valis.bio/","img":"valis.png","github":"https://github.com/VALIS-software/valis-hpgv","language":["JS","WebGL"],"platform":["Web"],"width":2836,"height":1444,"github_stars":14},{"tags":["General","Epigenomics","Hi-C","Comparative"],"name":"WashU epigenomics browser","github":"https://github.com/lidaof/eg-react","img":"washu.png","url":"https://epigenomegateway.wustl.edu/","pub":{"doi":"https://doi.org/10.1093/nar/gkz348","year":2019,"citations":225},"language":["JS","React"],"note":"The ReactJS is a redesign, there is also a legacy version. Note also, there are comparative features https://www.biorxiv.org/content/10.1101/2022.11.29.518374v1","platform":["Web"],"width":1852,"height":849,"github_stars":66},{"tags":["General"],"name":"Zenbu","img":"zenbu.png","url":"http://fantom.gsc.riken.jp/zenbu/","pub":{"doi":"https://doi.org/10.1038/nbt.2840","year":2014,"citations":143},"platform":["Web"],"width":640,"height":416},{"name":"cgplot","img":"cgplot.png","url":"https://github.com/dfguan/cgplot","language":["Python"],"tags":["Static","Dotplot","Comparative"],"width":3000,"height":3000,"github_stars":9},{"tags":["Dotplot","Comparative"],"name":"D-GENIES","github":"https://github.com/genotoul-bioinfo/dgenies","pub":{"doi":"https://dx.doi.org/10.7717%2Fpeerj.4958","year":2018,"citations":446},"url":"http://dgenies.toulouse.inra.fr/","img":"dgenies.png","language":["JS","Python","D3"],"platform":["Web"],"width":500,"height":500,"github_stars":94},{"tags":["Dotplot","Static","Comparative"],"name":"Delly-maze","img":"maze.png","url":"https://github.com/dellytools/maze","note":"see also https://www.gear-genomics.com/maze/","pub":{"doi":"https://dx.doi.org/10.1093%2Fbioinformatics%2Fbts378","year":2012,"citations":1723},"language":["Python"],"width":2560,"height":1304,"github_stars":9},{"tags":["Dotplot","Static","Comparative"],"name":"Discoplot","img":"discoplot.png","url":"https://github.com/mjsull/DiscoPlot","pub":{"doi":"https://doi.org/10.7287/peerj.preprints.1038v1","year":2015,"citations":0},"language":["Python"],"width":1500,"height":1564,"github_stars":14},{"tags":["Dotplot","Comparative"],"name":"Dot","language":["JS","Python"],"url":"https://dot.sandbox.bio/","github":"https://github.com/MariaNattestad/dot","img":"dot.png","platform":["Web"],"note":"Python data preparation script","width":2500,"height":1324,"github_stars":31},{"tags":["Dotplot"],"name":"Dotlet","img":"dotlet.png","github":"https://github.com/sib-swiss/dotlet","pub":{"doi":"https://doi.org/10.1093/bioinformatics/16.2.178","year":2000,"citations":79},"language":["JS","React"],"platform":["Web"],"url":"https://dotlet.vital-it.ch/","note":"The original publication was 2000 but updated ~2020 with reactjs","width":1377,"height":640,"github_stars":4},{"tags":["Dotplot","Deadlink"],"name":"Dotplot (chirimoyo)","url":"https://chirimoyo.ac.uma.es/bitlab/portfolio/dotplot/","platform":["Web"]},{"tags":["Dotplot"],"name":"iLambda/Dotplot","url":"https://github.com/iLambda/dotplot","platform":["Web"],"github_stars":1},{"tags":["Dotplot","Comparative"],"name":"dotPlotly","url":"https://github.com/tpoorten/dotPlotly/","img":"dotplotly.png","language":["R","Shiny"],"platform":["Web"],"width":700,"height":450,"github_stars":183},{"tags":["Dotplot"],"name":"Dottup","img":"dottup.png","url":"https://www.bioinformatics.nl/cgi-bin/emboss/help/dottup","note":"also seen here http://eichlerlab.gs.washington.edu/pubs/chm1-structural-variation/data/GRCh37/heterochromatic_extensions.pdf","width":539,"height":454},{"tags":["Dotplot"],"name":"FlexiDot","img":"flexidot.png","url":"https://github.com/molbio-dresden/flexidot","pub":{"doi":"https://doi.org/10.1093/bioinformatics/bty395","year":2018,"citations":60},"language":["Python"],"platform":["CLI"],"width":759,"height":564,"github_stars":89},{"tags":["Dotplot","Comparative"],"name":"Gepard","github":"https://github.com/univieCUBE/gepard","url":"http://cube.univie.ac.at/gepard","language":["Java"],"img":"gepard.jpeg","platform":["Desktop"],"pub":{"doi":"https://doi.org/10.1093/bioinformatics/btm039","year":2007,"citations":580},"width":1088,"height":856,"github_stars":61},{"tags":["Dotplot","Comparative"],"name":"Jdot","url":"https://github.com/LyonsLab/jdot","img":"jdot.png","language":["JS"],"platform":["Web"],"width":689,"height":320,"github_stars":1},{"tags":["Dotplot","Comparative"],"name":"last-dotplot","img":"last_dotplot.png","language":["Python","C++"],"url":"https://gitlab.com/mcfrith/last","platform":["CLI","Web-server"],"width":493,"height":421},{"tags":["Dotplot","Static","Comparative"],"name":"mcutils","img":"mcutils_dotplot.jpeg","language":["R","C++"],"url":"https://github.com/mchaisso/mcutils","note":"https://twitter.com/mjpchaisson/status/1040363992206569472","width":470,"height":404,"github_stars":12},{"tags":["Dotplot","Static","Comparative"],"name":"Minidot","img":"minidot.png","url":"https://github.com/thackl/minidot","language":["R"],"width":1179,"height":683,"github_stars":70},{"tags":["Dotplot","Comparative"],"name":"Mummer-idotplot","url":"https://github.com/ryought/mummer-idotplot","language":["JS","Python"],"platform":["Web","CLI"],"github_stars":25},{"tags":["Dotplot","Static","Comparative"],"name":"Mummerplot","img":"mummerplot.png","github":"https://github.com/mummer4/mummer","url":"http://mummer.sourceforge.net/","pub":{"doi":"10.1186/gb-2004-5-2-r12","year":2004,"citations":4369},"language":["GNUPlot"],"width":3300,"height":2550,"github_stars":429},{"tags":["Dotplot","Comparative"],"img":"mummerplot_ggplot2.png","name":"ggplot2 mummerplot","url":"https://jmonlong.github.io/Hippocamplus/2017/09/19/mummerplots-with-ggplot2/","language":["R"],"width":1920,"height":1536},{"tags":["Dotplot","Comparative"],"name":"Redotable","img":"redotable.png","url":"https://github.com/s-andrews/redotable","language":["Java"],"platform":["Desktop"],"width":606,"height":585,"github_stars":10},{"tags":["Dotplot","Comparative","Static"],"name":"syntenyPlotByR","img":"synteny_plot_by_r.png","url":"https://github.com/shingocat/syntenyPlotByR","language":["R"],"width":800,"height":800,"github_stars":19},{"tags":["Epigenomics"],"name":"Chip Monk","img":"chipmonk.png","url":"http://www.bioinformatics.babraham.ac.uk/projects/chipmonk/","note":"Also see SeqMonk https://www.bioinformatics.babraham.ac.uk/projects/seqmonk/","pub":{"doi":"10.1186/1752-0509-1-S1-P80","year":2007,"citations":3},"language":["Java"],"platform":["Desktop"],"width":800,"height":600},{"tags":["Epigenomics","CNV"],"name":"Chipster","img":"chipster.jpg","github":"https://github.com/chipster/chipster","language":["Java"],"note":"Copy number tutorial https://chipster.csc.fi/manual/cn-tutorial.pdf","url":"https://chipster.csc.fi/","pub":{"doi":"10.1186/1471-2164-12-507","year":2011,"citations":283},"platform":["Desktop"],"width":1201,"height":913,"github_stars":33},{"tags":["Epigenomics"],"name":"cisGenome Browser","img":"cisgenome.png","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btq286","year":2010,"citations":38},"url":"https://jhui2014.github.io/browser/screenshots.html","language":["C"],"platform":["Desktop"],"width":1022,"height":857},{"tags":["Epigenomics","Higlass integration"],"name":"Epilogos","language":["Python"],"img":"epilogos.jpg","github":"https://github.com/meuleman/epilogos","url":"https://epilogos.altius.org/","platform":["Web"],"width":2048,"height":868,"github_stars":40},{"tags":["Epigenomics"],"name":"Epiviz","img":"epiviz.png","github":"https://github.com/epiviz/epiviz","url":"https://epiviz.github.io/","platform":["Web"],"language":["JS","R","D3"],"pub":{"doi":"https://doi.org/10.1093/bioinformatics/btaa591","year":2020,"citations":4},"width":1377,"height":507,"github_stars":68},{"tags":["Epigenomics","Hi-C","Higlass integration"],"name":"HiPiler","language":["JS"],"img":"hipiler.png","github":"https://github.com/flekschas/hipiler","pub":{"doi":"10.1109/TVCG.2017.2745978","year":2018,"citations":35},"platform":["Web"],"url":"http://hipiler.higlass.io","width":1116,"height":507,"github_stars":13},{"tags":["Epigenomics","Hi-C"],"name":"Juicebox","img":"juicebox.jpg","url":"https://github.com/aidenlab/Juicebox","language":["Java"],"platform":["Desktop"],"pub":{"url":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5596920/","doi":"https://dx.doi.org/10.1016%2Fj.cels.2015.07.012","year":2016,"citations":1275},"width":765,"height":674,"github_stars":233},{"tags":["Epigenomics","Hi-C"],"name":"Juicebox.js","github":"https://github.com/igvteam/juicebox.js","img":"juiceboxjs.jpg","url":"http://www.igv.org/doc/juiceboxjs.html","language":["JS"],"platform":["Web"],"pub":{"url":"https://www.cell.com/fulltext/S2405-4712(18)30001-2","doi":"https://doi.org/10.1016/j.cels.2018.01.001","year":2018,"citations":286},"width":761,"height":467,"github_stars":19},{"tags":["Epigenomics","Higlass integration"],"name":"Peax","img":"peax.png","language":["JS"],"pub":{"doi":"https://doi.org/10.1111/cgf.13971","year":2020,"citations":22},"platform":["Web"],"url":"https://github.com/Novartis/peax","width":640,"height":427,"github_stars":67},{"tags":["Ideogram"],"name":"eweitz/Ideogram","img":"eweitz_ideogram.png","url":"https://github.com/eweitz/ideogram","language":["JS"],"platform":["Web"],"width":1116,"height":507,"github_stars":281},{"tags":["Ideogram","Static"],"name":"Ideogram","img":"rcollins_ideogram.png","url":"https://github.com/RCollins13/HumanIdiogramLibrary","pub":{"doi":"https://doi.org/10.5281/zenodo.1210135"},"language":["SVG"],"width":5113,"height":1680,"github_stars":84},{"tags":["Ideogram","Static"],"name":"Ideoplot","url":"https://github.com/mchaisso/Ideoplot","language":["R"],"github_stars":12},{"tags":["Ideogram","Static"],"name":"karyoploteR","img":"karyoploter.png","url":"https://github.com/bernatgel/karyoploteR","pub":{"doi":"https://dx.doi.org/10.1093%2Fbioinformatics%2Fbtx346","year":2017,"citations":507},"language":["R"],"width":2329,"height":1000,"github_stars":292},{"tags":["Ideogram"],"name":"KaryotypeSVG","url":"https://github.com/andreasprlic/karyotypeSVG","img":"karyotypesvg.png","language":["JS","SVG"],"platform":["Web"],"width":1814,"height":280,"github_stars":6},{"tags":["Ideogram"],"name":"NCBI Genome Decoration","note":"Was located at https://www.ncbi.nlm.nih.gov/genome/tools/gdp/, sunsetted in 2023","img":"ncbi_genome_decoration.png","platform":["Web","Form","Silo","Historical"],"width":456,"height":306},{"tags":["Ideogram"],"name":"UCSC Genome Graphs","img":"ucsc_genome_graph.png","url":"http://genome.ucsc.edu/cgi-bin/hgGenome","github":"https://github.com/ucscGenomeBrowser/kent","pub":{"doi":"10.1101/gr.229102","year":2002,"citations":5634},"platform":["Web","Form","Silo"],"width":950,"height":546,"github_stars":211},{"tags":["Mobile app","Alignments viewer"],"name":"iGenomics","language":["Objective-C"],"github":"https://github.com/stuckinaboot/iGenomics","img":"igenomics.png","pub":{"doi":"https://doi.org/10.1093/gigascience/giaa138","year":2020,"citations":18},"width":1521,"height":1299,"github_stars":36},{"tags":["Pangenome"],"name":"Pan-Tetris","img":"pantetris.png","url":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4547177/","pub":{"doi":"https://dx.doi.org/10.1186%2F1471-2105-16-S11-S3","year":2015,"citations":16},"width":1200,"height":899},{"tags":["Pangenome"],"name":"Panacaea","language":["Perl"],"pub":{"doi":"https://doi.org/10.1186/s12859-018-2250-y","year":2018,"citations":10},"img":"panacaea.png","url":"https://github.com/JCVenterInstitute/PanACEA","width":584,"height":405,"github_stars":7},{"tags":["Pangenome"],"name":"Panache","language":["JS","VueJS"],"img":"panache.png","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btab688","year":2021,"citations":11},"url":"https://github.com/SouthGreenPlatform/panache","width":726,"height":381,"github_stars":42},{"tags":["Pangenome"],"name":"panX","github":"https://github.com/neherlab/pan-genome-analysis","img":"panx.jpeg","url":"http://pangenome.tuebingen.mpg.de/","pub":{"url":"https://academic.oup.com/nar/article/46/1/e5/4564799","doi":"https://doi.org/10.1093/nar/gkx977","year":2017,"citations":195},"width":2756,"height":1813,"github_stars":129},{"tags":["Pangenome","JBrowse integration"],"name":"RPAN (3kricedb)","img":"rpan.png","pub":{"doi":"https://doi.org/10.1093/nar/gkw958","year":2016,"citations":121},"platform":["Web"],"url":"http://cgm.sjtu.edu.cn/3kricedb/visualization/?tracks=DNA%2Cgene%2CPF","width":1663,"height":633},{"tags":["Protein","MSA"],"name":"Protael","img":"protael.png","github":"https://github.com/sanshu/protaeljs","url":"http://sanshu.github.io/protaelweb/","pub":{"url":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5963358/","doi":"https://dx.doi.org/10.1093%2Fbioinformatics%2Fbtv605","year":2015,"citations":8},"platform":["Web"],"language":["JS"],"width":1711,"height":1161,"github_stars":18},{"tags":["Protein","Cancer","Lollipops","SV","Canvas"],"name":"ProteinPaint","img":"proteinpaint.png","url":"https://pecan.stjude.cloud/proteinpaint","github":"https://github.com/stjude/proteinpaint","pub":{"url":"https://www.nature.com/articles/ng.3466","doi":"https://doi.org/10.1038/ng.3466","year":2015,"citations":248},"platform":["Web"],"language":["JS"],"width":1663,"height":633,"github_stars":13},{"tags":["CNV","Linear","Cancer","Lollipops","SV","Alignments viewer"],"name":"GenomePaint","img":"genomepaint.png","url":"https://genomepaint.stjude.cloud/","github":"https://github.com/stjude/proteinpaint","pub":{"url":"https://www.cell.com/cancer-cell/fulltext/S1535-6108(20)30659-0","doi":"https://doi.org/10.1016/j.ccell.2020.12.011","year":2021,"citations":20},"platform":["Web"],"note":"Demos https://proteinpaint.stjude.org/bam/","width":1663,"height":648,"github_stars":13},{"tags":["Protein"],"name":"pViz","img":"pviz.jpg","language":["JS"],"url":"https://github.com/Genentech/pviz","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btu567","year":2014,"citations":19},"platform":["Web"],"width":959,"height":259,"github_stars":68},{"tags":["Heatmap","Population"],"name":"UCSC Xena","language":["JS"],"img":"xena.png","github":"https://github.com/ucscXena/ucsc-xena-client","url":"https://xena.ucsc.edu/","pub":{"doi":"https://doi.org/10.1038/s41587-020-0546-8","year":2020,"citations":2154},"platform":["Web"],"width":550,"height":286,"github_stars":57},{"tags":["Heatmap","Population","Variation"],"name":"VIVA","img":"viva.png","url":"https://www.biorxiv.org/content/10.1101/589879v1.full.pdf","pub":{"doi":"https://doi.org/10.1038/s41598-019-49114-z","year":2019,"citations":8},"github":"https://github.com/compbiocore/VariantVisualization.jl","platform":["Web"],"width":433,"height":390,"github_stars":82},{"tags":["Dotplot"],"name":"Dotter","pub":{"doi":"https://doi.org/10.1016/0378-1119(95)00714-8","year":1995,"citations":483},"img":"dotter.png","url":"https://sonnhammer.sbc.su.se/Dotter.html","platform":["CLI"],"width":567,"height":429},{"tags":["Repeats","Dotplot","Static","Linear"],"img":"repaver.jpg","url":"https://gitlab.com/gringer/bioinfscripts/","language":["R","C++"],"platform":["CLI"],"name":"REPAVER","pub":{"url":"https://www.researchgate.net/pub/346507956_REPAVER_Paving_the_Way_for_Repeat_Discovery_in_Complex_Genomes?channel=doi&linkId=5fc58ba4a6fdcce95268fe60&showFulltext=true","doi":"http://dx.doi.org/10.13140/RG.2.2.15289.39522"},"width":879,"height":620},{"name":"LinearDisplay.pl","url":"https://github.com/JCVenterInstitute/LinearDisplay","img":"lineardisplay.png","language":["Perl"],"platform":["CLI"],"pub":{"doi":"https://doi.org/10.1038/s41586-019-1742-x","year":2019,"citations":507},"note":"readme says to cite this paper","tags":["Comparative"],"width":2050,"height":2384,"github_stars":5},{"name":"Gview","tags":["Circular","Linear","Pangenome","Microbiology"],"url":"https://server.gview.ca/examples","img":"gview.png","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btq588","year":2010,"citations":285},"platform":["Web"],"language":["Perl","Java","Java web start"],"width":890,"height":969},{"name":"FastANI","tags":["Comparative","Microbiology"],"img":"fastani.jpg","url":"https://github.com/ParBLiSS/FastANI","pub":{"doi":"https://doi.org/10.1038/s41467-018-07641-9","year":2018,"citations":2791},"language":["C++"],"width":1050,"height":1050,"github_stars":355},{"name":"JGI/IMG","tags":["Dotplot","Linear","Microbiology"],"platform":["Web","Silo"],"note":"Dotplot use MUMmer","url":"https://img.jgi.doe.gov/","img":"jgiimg.png","width":812,"height":717},{"name":"covviz","github":"https://github.com/brwnj/covviz","tags":["CNV","Coverage","Population"],"language":["JS"],"url":"https://brwnj.github.io/covviz/","img":"covviz.png","width":1177,"height":735,"github_stars":56},{"name":"clinker","tags":["Comparative","Gene order","Multi-way synteny"],"language":["JS"],"img":"clinker.png","url":"https://github.com/gamcil/clinker","platform":["Web"],"pub":{"url":"https://academic.oup.com/bioinformatics/advance-article-abstract/doi/10.1093/bioinformatics/btab007/6103786","doi":"https://doi.org/10.1093/bioinformatics/btab007","year":2021,"citations":619},"width":2482,"height":1753,"github_stars":507},{"name":"PopSV","tags":["Population","SV"],"platform":["Web"],"language":["R"],"url":"https://github.com/jmonlong/PopSV/blob/master/3-Visualization.md","github":"https://github.com/jmonlong/PopSV","pub":{"doi":"https://doi.org/10.1371/journal.pgen.1007285","year":2018,"citations":41},"img":"popsv.png","width":959,"height":443,"github_stars":28},{"name":"Shasta","tags":["Graph"],"url":"https://chanzuckerberg.github.io/shasta/ComputationalMethods.html#ReadGraph","note":"Uses graphviz","img":"shasta.png","language":["C++"],"platform":["Web","Localhost","CLI"],"pub":{"doi":"https://doi.org/10.1038/s41587-020-0503-6","year":2020,"citations":352},"width":1272,"height":1334},{"name":"LINX","note":"part of the PURPLE/GRIDSS/LINX pipeline","url":"https://github.com/hartwigmedical/hmftools/blob/master/linx/README.md","language":["Java","Circos integration"],"github":"https://github.com/hartwigmedical/hmftools","pub":{"doi":"https://doi.org/10.1101/781013","year":2019,"citations":38},"img":"linx.png","tags":["Graph","SV","Breakends","Circular","Linear","Gene fusion","Cancer"],"width":1542,"height":1690,"github_stars":179},{"name":"PURPLE","pub":{"doi":"https://doi.org/10.1101/781013","year":2019,"citations":38},"note":"intermutation-distance rainfall plots/katagesis plots are not technically in genomic coordinates, but do indicate genomic cluster of variatnts","url":"https://github.com/hartwigmedical/hmftools/blob/master/purity-ploidy-estimator/README.md","github":"https://github.com/hartwigmedical/hmftools","tags":["CNV","Cancer"],"img":"purple.png","width":600,"height":675,"github_stars":179},{"name":"SMRT View","tags":["SV"],"note":"wiki page https://github.com/PacificBiosciences/DevNet/wiki/SMRT-View","github":"https://github.com/PacificBiosciences/DevNet","url":"http://files.pacb.com/software/smrtanalysis/2.3.0/doc/smrtview/help/Webhelp/App_View_Epipro.htm","img":"smrtview.png","width":1095,"height":247,"github_stars":113},{"name":"sockeye","tags":["Exotic","Comparative","Historical"],"pub":{"url":"https://genome.cshlp.org/content/14/5/956.full","doi":"10.1101/gr.1890304","year":2004,"citations":21},"url":"https://www.bcgsc.ca/resources/software/sockeye","img":"sockeye.jpg","width":1280,"height":1028},{"name":"spinteny","language":["JS"],"tags":["Exotic","Comparative"],"url":"https://github.com/skinner/spinteny","img":"spinteny.png","width":656,"height":323,"github_stars":1},{"name":"Internet Contig Explorer","tags":["Historical"],"url":"https://www.bcgsc.ca/resources/software/ice","pub":{"url":"https://genome.cshlp.org/content/13/6a/1244.long","doi":"10.1101/gr.819303","year":2003,"citations":19},"img":"internet_contig_explorer.jpg","width":1280,"height":804},{"name":"bcftools roh","img":"bcftools_roh.png","tags":["Static"],"url":"https://samtools.github.io/bcftools/howtos/roh-calling.html","github":"https://github.com/samtools/bcftools","note":"Plots runs of homozygosity, has interactive plot-roh.py helper too","language":["Python","C","Matplotlib"],"pub":{"doi":"https://doi.org/10.1093/bioinformatics/btw044","year":2016,"citations":479},"width":1622,"height":760,"github_stars":632},{"name":"bcftools cnv","tags":["CNV"],"language":["Python","C","Matplotlib"],"img":"bcftools_cnv.png","github":"https://github.com/samtools/bcftools","url":"https://samtools.github.io/bcftools/howtos/cnv-calling.html","width":1000,"height":800,"github_stars":632},{"name":"mocha","img":"mocha.png","url":"https://github.com/freeseek/mocha","note":"Has a full analysis pipeline associated with end result visualizations","tags":["CNV"],"pub":{"doi":"10.1038/s41586-018-0321-x","year":2018,"citations":282},"language":["C","WDL","R"],"width":525,"height":525,"github_stars":75},{"name":"ALVIS (MSA viewer)","language":["Java"],"url":"https://www.ebi.ac.uk/research/goldman/software/alvis","note":"Introduces sequence bundles concept, also see web app version https://www.ebi.ac.uk/goldman-srv/sequencebundles/ source code https://bitbucket.org/schwarzlab/alvis/src/master/","pub":{"url":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4856975/","doi":"https://dx.doi.org/10.1093%2Fnar%2Fgkw022","year":2016,"citations":9},"tags":["MSA"],"img":"alvis.png","width":600,"height":462},{"name":"ALVIS (chimeric alignment viewer)","language":["Java"],"url":"https://github.com/SR-Martin/alvis","pub":{"url":"https://bmcbioinformatics.biomedcentral.com/articles/10.1186/s12859-021-04056-0","doi":"https://doi.org/10.1186/s12859-021-04056-0","year":2021,"citations":12},"tags":["Assembly QC"],"img":"alvis_chimeric.png","width":708,"height":396,"github_stars":18},{"name":"genevisR","img":"genevisr.png","github":"https://github.com/griffithlab/GenVisR","url":"https://bioconductor.org/packages/release/bioc/vignettes/GenVisR/inst/doc/Intro.html","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btw325","year":2016,"citations":241},"tags":["CNV"],"language":["R"],"width":939,"height":1026,"github_stars":203},{"name":"NanoMethViz","github":"https://github.com/Shians/NanoMethViz","pub":{"doi":"10.1371/journal.pcbi.1009524","year":2021,"citations":9},"url":"http://www.bioconductor.org/packages/release/bioc/html/NanoMethViz.html","img":"nanomethviz.png","tags":["Methylation"],"language":["R"],"width":672,"height":480,"github_stars":21},{"name":"GfaViz","img":"gfaviz.png","github":"https://github.com/ggonnella/gfaviz","language":["C++"],"pub":{"url":"https://academic.oup.com/bioinformatics/article/35/16/2853/5267826","doi":"https://doi.org/10.1093/bioinformatics/bty1046","year":2018,"citations":21},"tags":["Graph"],"width":951,"height":351,"github_stars":63},{"name":"Nextclade","img":"nextclade.png","url":"https://clades.nextstrain.org/","language":["JS","React","D3"],"tags":["Phylogenetics","Microbiology"],"pub":{"doi":"https://doi.org/10.21105/joss.03773","year":2021,"citations":559},"note":"Related usage on nextstrain app also","width":1378,"height":431},{"name":"vcfR","img":"vcfr.png","language":["R"],"tags":["Population","Coverage"],"note":"image shows chromoqc output","url":"https://knausb.github.io/vcfR_documentation/","github":"https://github.com/knausb/vcfR","pub":{"doi":"http://dx.doi.org/10.1111/1755-0998.12549","year":2016,"citations":631},"width":1344,"height":1344,"github_stars":239},{"name":"asgart","img":"asgart.png","language":["Rust"],"github":"https://github.com/delehef/asgart","tags":["SV","Ideogram","Circular","Linear"],"pub":{"url":"https://academic.oup.com/bioinformatics/article/34/16/2708/4948616","doi":"https://doi.org/10.1093/bioinformatics/bty172","year":2018,"citations":13},"width":500,"height":581,"github_stars":31},{"name":"MashMap","img":"mashmap.png","tags":["Dotplot"],"language":["Perl","C++"],"pub":{"doi":"https://doi.org/10.1093/bioinformatics/bty597","year":2018,"citations":114},"url":"https://github.com/marbl/MashMap/blob/master/scripts/generateDotPlot","github":"https://github.com/marbl/MashMap","width":521,"height":521,"github_stars":258},{"name":"udon","img":"udon.png","tags":["Alignments viewer"],"url":"https://github.com/ocxtal/udon","language":["Rust"],"note":"Uses an advanced data structure for pileup, so visually a basic example but likely just a small demo","width":652,"height":140,"github_stars":20},{"name":"AnnoJ","img":"annoj.png","tags":["Methylation"],"language":["JS"],"platform":["Web"],"url":"https://brainome.ucsd.edu/howto_annoj.html","note":"See list of instances of the browser here https://ecker.salk.edu/genome-browser/","github":"https://github.com/mukamel-lab/annoj_cndd","width":859,"height":722,"github_stars":0},{"name":"methylartist","img":"methylartist.png","language":["Python"],"tags":["Long reads","Methylation"],"pub":{"doi":"https://doi.org/10.1101/2021.07.22.453313","year":2021,"citations":7},"url":"https://github.com/adamewing/methylartist","width":1330,"height":683,"github_stars":114},{"name":"SWAV","tags":["Population","Deadlink"],"pub":{"url":"https://www.nature.com/articles/s41598-019-57038-x","doi":"https://doi.org/10.1038/s41598-019-57038-x","year":2020,"citations":12},"url":"http://swav.popgenetics.net/","img":"swav.png","width":1900,"height":1386},{"name":"gingko","url":"http://qb.cshl.edu/ginkgo/?q=/9EiUttUP0CBHs3WnuBa0","img":"gingko.jpeg","language":["PHP","JS"],"github":"https://github.com/robertaboukhalil/ginkgo","pub":{"doi":"https://doi.org/10.1038/nmeth.3578","year":2015,"citations":218},"platform":["Web"],"tags":["Single cell","CNV"],"width":2000,"height":1400,"github_stars":46},{"name":"copynumber","url":"https://www.bioconductor.org/packages/release/bioc/vignettes/copynumber/inst/doc/copynumber.pdf","img":"copynumber.png","pub":{"doi":"https://doi.org/10.1186/1471-2164-13-591","year":2012,"citations":239},"tags":["CNV"],"language":["R"],"width":925,"height":621},{"name":"alignfigR","img":"alignfigr.png","url":"https://cran.r-project.org/web/packages/alignfigR/vignettes/my-vignette.html","tags":["MSA"],"language":["R"],"width":528,"height":240},{"name":"copykat","img":"copykat.png","url":"https://github.com/navinlabcode/copykat/blob/master/vignettes/copycat-vignettes.pdf","github":"https://github.com/navinlabcode/copykat","pub":{"doi":"10.1038/s41587-020-00795-2","year":2021,"citations":351},"tags":["Single cell","CNV"],"language":["R"],"width":812,"height":752,"github_stars":193},{"name":"scCNV_heatmap","url":"https://github.com/StefanKurtenbach/scCNV_heatmap","language":["Python"],"img":"sccnv_heatmap.png","tags":["Single cell","CNV"],"width":228,"height":304,"github_stars":3},{"name":"casper","url":"https://github.com/akdess/CaSpER","pub":{"url":"https://www.nature.com/articles/s41467-019-13779-x","doi":"https://doi.org/10.1038/s41467-019-13779-x","year":2020,"citations":101},"language":["R"],"img":"casper.png","tags":["Single cell","CNV"],"width":580,"height":935,"github_stars":76},{"name":"RectChr","img":"rectchr.png","url":"https://github.com/BGI-shenzhen/RectChr","tags":["Comparative","Ideogram","Static","Limited code available"],"language":["Binary blob","Perl"],"width":635,"height":760,"github_stars":73},{"name":"LDBlockShow","url":"https://github.com/BGI-shenzhen/LDBlockShow","pub":{"url":"https://academic.oup.com/bib/advance-article-abstract/doi/10.1093/bib/bbaa227/5939575?redirectedFrom=fulltext","doi":"https://doi.org/10.1093/bib/bbaa227","year":2020,"citations":194},"img":"ldblockshow.png","language":["C++","Perl"],"tags":["GWAS","Population"],"width":260,"height":275,"github_stars":129},{"name":"clinker (gene fusion software)","url":"https://github.com/Oshlack/Clinker/","pub":{"url":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6065480/","doi":"https://dx.doi.org/10.1093%2Fgigascience%2Fgiy079","year":2018,"citations":18},"img":"clinker_fusion.png","tags":["Gene fusion"],"language":["R"],"width":644,"height":717,"github_stars":50},{"name":"arriba","img":"arriba.png","tags":["Gene fusion"],"url":"https://github.com/suhrig/arriba","pub":{"url":"https://genome.cshlp.org/content/31/3/448","doi":"10.1101/gr.257246.119","year":2021,"citations":231},"language":["C++","R"],"width":480,"height":280,"github_stars":213},{"name":"FusionInspector","img":"fusioninspector.png","url":"https://github.com/FusionInspector/FusionInspector/wiki","github":"https://github.com/FusionInspector/FusionInspector","pub":{"doi":"https://doi.org/10.1101/2021.08.02.454639","year":2021,"citations":3},"tags":["Gene fusion"],"note":"Uses igv.js","language":["Perl","JS"],"width":1889,"height":811,"github_stars":53},{"name":"NeoLoopFinder","img":"neoloopfinder.png","url":"https://github.com/XiaoTaoWang/NeoLoopFinder","tags":["SV","Hi-C"],"pub":{"doi":"https://doi.org/10.1038/s41592-021-01164-w","year":2021,"citations":79},"language":["Python"],"width":992,"height":609,"github_stars":53},{"name":"alen","url":"https://github.com/jakobnissen/alen","tags":["MSA","Text based"],"language":["Rust"],"img":"alen.png","width":823,"height":486,"github_stars":76},{"name":"Aquaria","url":"http://aquaria.ws/Q9HD67/5i0i/A","tags":["Protein","MSA"],"pub":{"doi":"https://doi.org/10.1038/nmeth.3258","year":2015,"citations":55},"platform":["Web"],"img":"aquaria.png","width":1244,"height":701},{"name":"vega","url":"http://vega.archive.ensembl.org/Homo_sapiens/Location/Chromosome?r=6-QBL","tags":["Assembly QC","Historical","Genetic map"],"platform":["Web"],"pub":{"doi":"https://doi.org/10.1093/nar/gki135","year":2004,"citations":91},"img":"vega.png","note":"Mentioned in https://www.biorxiv.org/content/10.1101/2021.07.02.450883v1.full.pdf also note: vega standards for vertebrate genome annotation database","width":1523,"height":798},{"name":"nightingale/protvista","github":"https://github.com/ebi-webcomponents/nightingale","url":"https://ebi-webcomponents.github.io/nightingale/#/msa","tags":["Protein","MSA"],"platform":["Web"],"pub":{"doi":"https://dx.doi.org/10.1093%2Fbioinformatics%2Fbtx120","year":2017,"citations":56},"img":"nightingale.png","language":["JS","Typescript"],"note":"Used on InterProScan website https://www.ebi.ac.uk/interpro/","width":1211,"height":425,"github_stars":118},{"name":"ArchR","github":"https://github.com/GreenleafLab/ArchR","url":"https://www.archrproject.com/articles/Articles/tutorial.html","pub":{"doi":"https://doi.org/10.1038/s41588-021-00790-6","year":2021,"citations":683},"tags":["Single cell"],"language":["R"],"img":"archr.png","width":1500,"height":1500,"github_stars":360},{"name":"PGAP-X","img":"pgapx.png","tags":["Pangenome"],"language":["C++"],"platform":["Desktop"],"url":"https://pgapx.zhaopage.com/","pub":{"url":"https://bmcgenomics.biomedcentral.com/articles/10.1186/s12864-017-4337-7","doi":"https://doi.org/10.1186/s12864-017-4337-7","year":2018,"citations":23},"width":778,"height":248},{"name":"MAVIS","img":"mavis.png","github":"https://github.com/bcgsc/mavis","tags":["Gene fusion","SV"],"language":["Python"],"url":"http://mavis.bcgsc.ca/","pub":{"doi":"https://doi.org/10.1093/bioinformatics/bty621","year":2018,"citations":22},"width":1200,"height":494,"github_stars":72},{"name":"ProViz","img":"proviz.png","tags":["MSA","Protein"],"language":["JS"],"url":"http://slim.icr.ac.uk/proviz/index.php","note":"See also alphafold visualization as tracks http://slim.icr.ac.uk/projects/alphafold?page=alphafold_proviz_homepage","pub":{"url":"https://academic.oup.com/nar/article/44/W1/W11/2499309","doi":"https://doi.org/10.1093/nar/gkw265","year":2016,"citations":67},"width":1847,"height":925},{"name":"panGraphViewer","url":"https://github.com/TF-Chan-Lab/panGraphViewer","img":"pangraphviewer.jpg","tags":["Graph","Pangenome"],"language":["Python"],"width":479,"height":260,"github_stars":50},{"name":"SVPV","img":"svpv.jpg","language":["Python"],"url":"https://github.com/VCCRI/SVPV","tags":["SV","Coverage"],"pub":{"url":"https://academic.oup.com/bioinformatics/article/33/13/2032/3056003","doi":"https://doi.org/10.1093/bioinformatics/btx117","year":2017,"citations":8},"width":380,"height":597,"github_stars":30},{"name":"wiggleplotr","github":"https://github.com/kauralasoo/wiggleplotr","img":"wiggleplotr.png","url":"http://bioconductor.org/packages/devel/bioc/vignettes/wiggleplotr/inst/doc/wiggleplotr.html","tags":["Coverage"],"language":["R"],"width":576,"height":384,"github_stars":35},{"name":"pretzel","url":"https://github.com/plantinformatics/pretzel","img":"pretzel.png","language":["JS","D3"],"pub":{"doi":"10.1101/517953","year":2019,"citations":20},"tags":["Comparative","Genetic map"],"width":1114,"height":765,"github_stars":42},{"name":"splicejam","language":["R"],"img":"splicejam.png","tags":["Splicing","Sashimi"],"pub":{"doi":"https://doi.org/10.1016/j.celrep.2019.08.093","year":2019,"citations":65},"url":"https://github.com/jmw86069/splicejam","width":384,"height":288,"github_stars":26},{"name":"genomegraphs","language":["R"],"img":"genomegraphs.png","tags":["Ideogram","Quantitative","Splicing"],"url":"http://bioconductor.org/packages/2.5/bioc/vignettes/GenomeGraphs/inst/doc/GenomeGraphs.pdf","pub":{"doi":"https://doi.org/10.1186/1471-2105-10-2","year":2009,"citations":52},"width":408,"height":775},{"name":"IdeoViz","language":["R"],"img":"ideoviz.png","tags":["Ideogram","Quantitative","Splicing"],"github":"https://github.com/shraddhapai/IdeoViz","url":"https://www.bioconductor.org/packages/release/bioc/vignettes/IdeoViz/inst/doc/Vignette.pdf","width":290,"height":455,"github_stars":1},{"name":"Flash Gviewer","language":["Flash","ActionScript"],"img":"flashgviewer.png","tags":["Ideogram","Genetic map","Historical"],"url":"http://gmod.org/wiki/Flashgviewer/","width":499,"height":806},{"name":"Plotgardener","language":["R"],"img":"plotgardener.png","tags":["Hi-C","Coverage"],"url":"https://github.com/PhanstielLab/plotgardener/","pub":{"doi":"10.1093/bioinformatics/btac057","year":2022,"citations":43},"width":840,"height":510,"github_stars":284},{"name":"MIRA","language":["C++"],"img":"mira.png","tags":["Assembly QC","Alignments viewer","Historical"],"url":"http://mira-assembler.sourceforge.net/docs/DefinitiveGuideToMIRA.html","pub":{"doi":"https://dx.doi.org/10.1101%2Fgr.1917404","year":2004,"citations":869},"note":"orig paper also describes mira here http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.23.7465&rep=rep1&type=pdf","width":1066,"height":720},{"name":"oxford-plots","url":"https://github.com/jherrero/oxford-plots","img":"oxford.png","tags":["Dotplot"],"language":["R","Perl"],"note":"Has nice description of a synteny pipeline here https://github.com/jherrero/oxford-plots/blob/master/examples/pig_X_Y.txt","width":2000,"height":2000,"github_stars":11},{"name":"IGGE","tags":["Graph","Exotic"],"note":"Not open source","img":"igge.png","url":"https://github.com/immersivegraphgenomeexplorer/IGGE","pub":{"doi":"10.1109/SEGAH52098.2021.9551857","year":2021,"citations":5},"width":247,"height":249,"github_stars":2},{"name":"PipMaker","tags":["Comparative","Repeats","Annotation"],"url":"http://pipmaker.bx.psu.edu/pipmaker/","note":"See also MultiPipMaker http://pipmaker.bx.psu.edu/pipmaker/mpm-example/index.html","img":"pipmaker.png","pub":{"doi":"https://dx.doi.org/10.1101%2Fgr.10.4.577","year":2000,"citations":892},"width":501,"height":382},{"name":"GraphAlignmentViewer","language":["Python"],"img":"graphalignmentviewer.png","url":"https://github.com/Illumina/GraphAlignmentViewer","tags":["Repeats"],"width":865,"height":755,"github_stars":33},{"name":"MEGA-X","img":"megax.png","language":["Pascal"],"github":"https://github.com/KumarMEGALab/MEGA-source-code","url":"https://www.megasoftware.net/","platform":["Desktop"],"pub":{"doi":"https://doi.org/10.1093/molbev/msab120","year":2021,"citations":7559},"note":"original paper from 1994 but actively updated. requires EULA for download","tags":["MSA","Phylogenetics"],"width":665,"height":450,"github_stars":5},{"name":"Haploview","tags":["Population","Linkage disequilibrium"],"img":"haploview.png","url":"https://www.broadinstitute.org/haploview/haploview","platform":["Desktop"],"pub":{"doi":"https://doi.org/10.1093/bioinformatics/bth457","year":2004,"citations":11638},"language":["Java"],"width":800,"height":600},{"name":"AliTreeViz","img":"alitreeviz.png","github":"https://github.com/lipme/alitreeviz","url":"https://www.npmjs.com/package/alitreeviz","tags":["MSA","Phylogenetics"],"language":["JS"],"width":1905,"height":918,"github_stars":4},{"name":"WGDI","img":"wgdi.png","url":"https://github.com/SunPengChuan/wgdi","language":["Python"],"pub":{"doi":"https://doi.org/10.1101/2021.04.29.441969","year":2021,"citations":45},"tags":["Comparative","Dotplot","Circular"],"width":1247,"height":392,"github_stars":107},{"name":"AmpliconArchitect","note":"The term amplicon refers essentially to extrachromosomal DNA in cancer","img":"ampliconarchitect.png","url":"https://github.com/virajbdeshpande/AmpliconArchitect","pub":{"doi":"https://doi.org/10.1038/s41467-018-08200-y","year":2019,"citations":168},"language":["Python"],"tags":["SV","Cancer"],"width":643,"height":323,"github_stars":129},{"name":"PGV (pangenome tool)","img":"pgv1.png","url":"https://github.com/ucrbioinfo/PGV","language":["Python"],"platform":["Web"],"pub":{"url":"https://bmcbioinformatics.biomedcentral.com/articles/10.1186/s12859-021-04424-w","doi":"https://doi.org/10.1186/s12859-021-04424-w","year":2021,"citations":4},"tags":["Pangenome","Dotplot","Comparative"],"width":1914,"height":2132,"github_stars":18},{"name":"REViewer","img":"reviewer.png","tags":["Repeats"],"url":"https://github.com/Illumina/REViewer","language":["C++"],"note":"See also GraphAlignmentViewer, similar look and from illumina also","pub":{"doi":"https://doi.org/10.1101/2021.10.20.465046","year":2021,"citations":3},"width":3841,"height":1789,"github_stars":73},{"name":"Trackplot (R)","img":"trackplot.png","url":"https://github.com/PoisonAlien/trackplot","pub":{"doi":"https://doi.org/10.1093/bioadv/vbae031","year":2024,"citations":1},"tags":["Coverage","Gene structure","Epigenomics"],"language":["R"],"width":850,"height":500,"github_stars":124},{"name":"gcMapExplorer","img":"gcmapexplorer.png","url":"https://github.com/rjdkmr/gcMapExplorer","pub":{"doi":"https://doi.org/10.1093/nar/gkx644","year":2017,"citations":24},"tags":["Hi-C"],"language":["Python"],"width":576,"height":309,"github_stars":21},{"name":"BRIG","img":"brig.jpg","github":"https://github.com/happykhan/BRIG","tags":["Comparative","Circular"],"url":"http://brig.sourceforge.net","pub":{"url":"https://bmcgenomics.biomedcentral.com/articles/10.1186/1471-2164-12-402","doi":"https://doi.org/10.1186/1471-2164-12-402","year":2011,"citations":2392},"language":["Java"],"platform":["Desktop"],"width":1200,"height":1075,"github_stars":25},{"name":"Ideogram viewer","url":"https://bioinformatics.mdanderson.org/public-software/ideogramviewer/","img":"ideogramviewer.png","language":["JS"],"platform":["Web"],"tags":["Ideogram"],"width":926,"height":394},{"name":"GENESPACE","url":"https://github.com/jtlovell/GENESPACE/","tags":["Comparative","Pangenome"],"img":"genespace.png","pub":{"doi":"https://doi.org/10.7554/eLife.78526","year":2022,"citations":87},"note":"Includes a powerful analysis pipeline, worth reading the paper","language":["R"],"width":730,"height":593,"github_stars":178},{"name":"ggplot2 manhattan plot","url":"https://danielroelfs.com/blog/how-i-create-manhattan-plots-using-ggplot/","note":"This is not a preconfigured tool but a blog post tutorial with tidy data and ggplot2","img":"ggplot2_manhattan.png","tags":["GWAS"],"language":["R","ggplot2"],"width":2304,"height":960},{"name":"ete","github":"https://github.com/etetoolkit/ete","url":"http://etetoolkit.org/gallery/","language":["Python"],"pub":{"doi":"https://doi.org/10.1093/molbev/msw046","year":2016,"citations":1584},"tags":["MSA","Phylogenetics"],"img":"ete.png","width":640,"height":500,"github_stars":767},{"name":"ggtree","url":"https://github.com/YuLab-SMU/ggtree","language":["R"],"tags":["MSA","Phylogenetics","ggplot2"],"img":"ggtree.png","note":"see https://yulab-smu.top/treedata-book/chapter7.html?q=msa#msaplot for MSA example","pub":{"doi":"https://doi.org/10.1111/2041-210X.12628","year":2016,"citations":2928},"width":2100,"height":1050,"github_stars":814},{"name":"Phandango","url":"https://jameshadfield.github.io/phandango/#/examples","github":"https://github.com/jameshadfield/phandango","img":"phandango.png","language":["JS"],"tags":["Pangenome","GWAS","MSA","Phylogenetics","Microbiology"],"pub":{"doi":"https://doi.org/10.1093/bioinformatics/btx610","year":2017,"citations":403},"width":463,"height":474,"github_stars":113},{"url":"http://athina.biol.uoa.gr/bioinformatics/GENEVITO/","name":"GeneViTo","img":"genevito.jpg","tags":["Microbiology","General"],"pub":{"doi":"https://doi.org/10.1186/1471-2105-4-53","year":2003,"citations":7},"platform":["Desktop"],"language":["Java"],"width":1024,"height":768},{"name":"RegulomeExplorer","url":"http://explorer.cancerregulome.org/all_pairs/?dataset=TCGA_ACC","img":"cancerregulome.png","tags":["Circular","Cancer","SV"],"platform":["Web"],"language":["JS"],"github":"https://github.com/cancerregulome/RegulomeExplorer","width":1852,"height":801,"github_stars":4},{"name":"CGView","tags":["Circular","Microbiology"],"url":"http://cgview.ca/","github":"https://github.com/paulstothard/cgview","pub":{"doi":"https://dx.doi.org/10.1093%2Fnar%2Fgkn179","year":2008,"citations":1073},"platform":["Web"],"language":["JS"],"img":"cgview.png","note":"See also CGView comparison tool and other related https://paulstothard.github.io/cgview_comparison_tool/","width":926,"height":443,"github_stars":37},{"name":"miropeats","img":"miropeats.png","tags":["Comparative","Repeats","Historical"],"language":["Perl","C"],"note":"image from 2021 paper https://www.biorxiv.org/content/10.1101/2021.12.08.471837v1.full.pdf","pub":{"url":"https://academic.oup.com/bioinformatics/article-abstract/11/6/615/187092?redirectedFrom=fulltext","doi":"https://doi.org/10.1093/bioinformatics/11.6.615","year":1995,"citations":36},"url":"http://www.littlest.co.uk/software/bioinf/old_packages/miropeats/","width":654,"height":219},{"name":"Slinker","img":"slinker.png","tags":["Splicing","Coverage"],"language":["Python"],"pub":{"url":"https://f1000research.com/articles/10-1255/v1","doi":"https://doi.org/10.12688/f1000research.74836.1","year":2021,"citations":2},"url":"https://github.com/Oshlack/Slinker","note":"See also, clinker (gene fusion software)","width":819,"height":644,"github_stars":18},{"name":"syntenyPlotteR","img":"syntenyplotter.png","tags":["Comparative"],"url":"https://github.com/marta-fb/syntenyPlotteR","language":["R","ggplot2"],"pub":{"doi":"https://doi.org/10.1093/bioadv/vbad161","year":2023,"citations":3},"width":1440,"height":720,"github_stars":34},{"name":"chromoMap","img":"chromomap.png","tags":["Comparative","Ideogram"],"pub":{"url":"https://bmcbioinformatics.biomedcentral.com/articles/10.1186/s12859-021-04556-z","doi":"https://doi.org/10.1186/s12859-021-04556-z","year":2022,"citations":91},"url":"https://lakshay-anand.github.io/chromoMap/index.html","github":"https://github.com/Lakshay-Anand/chromoMap","language":["R"],"width":708,"height":621,"github_stars":3},{"name":"SafFire","img":"saffire.png","tags":["Comparative"],"github":"https://github.com/mrvollger/SafFire","language":["JS"],"url":"https://mrvollger.github.io/SafFire/#ref=CHM13_v1.1&query=GRCh38","width":1776,"height":700,"github_stars":24},{"name":"Gingr","img":"gingr.png","github":"https://github.com/marbl/gingr","language":["C++"],"tags":["Phylogenetics","Comparative","Microbiology"],"pub":{"doi":"https://doi.org/10.1186/s13059-014-0524-x","year":2014,"citations":1232},"url":"https://harvest.readthedocs.io/en/latest/content/gingr.html","width":2551,"height":1558,"github_stars":13},{"name":"StainedGlass","img":"stainedglass.png","language":["R","Python","JS"],"github":"https://github.com/mrvollger/StainedGlass","tags":["Repeats","Heatmap","Higlass integration"],"platform":["Web","CLI"],"pub":{"doi":"https://doi.org/10.1093/bioinformatics/btac018","year":2022,"citations":51},"width":703,"height":393,"github_stars":91},{"name":"SimpleSynteny","img":"simplesynteny.jpg","url":"https://www.dveltri.com/simplesynteny/about.html","platform":["Web","Server"],"pub":{"doi":"https://doi.org/10.1093/nar/gkw330","year":2016,"citations":97},"tags":["Comparative"],"width":796,"height":277},{"name":"Cinteny","pub":{"doi":"https://doi.org/10.1186/1471-2105-8-82","year":2007,"citations":103},"img":"cinteny.png","tags":["Comparative"],"url":"http://cinteny.cchmc.org/","platform":["Web","Server"],"width":1200,"height":334},{"name":"DAGchainer","url":"http://dagchainer.sourceforge.net/","img":"dagchainer.png","tags":["Dotplot","Comparative"],"pub":{"doi":"https://doi.org/10.1093/bioinformatics/bth397","year":2004,"citations":296},"language":["Perl","Java"],"width":813,"height":809},{"name":"AutoGraph","img":"autograph.png","url":"http://autograph.genouest.org/","tags":["Comparative","Deadlink","Historical"],"pub":{"doi":"https://doi.org/10.1093/bioinformatics/btl618","year":2006,"citations":43},"width":989,"height":1261},{"name":"EvolutionHighway","img":"evolutionaryhighway.jpg","url":"http://eh-demo.ncsa.illinois.edu/","tags":["Comparative","Historical"],"note":"The 'evolutionary highway' image type is reproduced in some other packages e.g. https://github.com/marta-fb/syntenyPlotteR, paper https://doi.org/10.1126/science.1111387","language":["Java","Applet"],"width":715,"height":567},{"name":"Smash++","language":["C++"],"img":"smashpp.png","url":"https://github.com/smortezah/smashpp","pub":{"doi":"https://doi.org/10.1093/gigascience/giaa048","year":2020,"citations":13},"tags":["Comparative"],"width":483,"height":203,"github_stars":56},{"name":"plotsr","img":"plotsr.png","url":"https://github.com/schneebergerlab/plotsr","language":["Python"],"pub":{"doi":"https://doi.org/10.1101/2022.01.24.477489","year":2022,"citations":4},"tags":["Comparative","SV","Pangenome"],"note":"see also https://github.com/schneebergerlab/syri","width":1298,"height":863,"github_stars":267},{"name":"seqvisr","img":"seqvisr.png","url":"https://github.com/vragh/seqvisr/","language":["R"],"tags":["MSA","Protein"],"github_stars":9,"width":307,"height":346},{"name":"drawProteins","img":"drawprotein.png","github":"https://github.com/brennanpincardiff/drawProteins","pub":{"doi":"https://doi.org/10.12688/f1000research.14541.1","year":2018,"citations":43},"tags":["Protein"],"language":["R","ggplot2"],"github_stars":33,"width":1649,"height":1933},{"name":"IBS (Illustrator for Biological Sequences)","img":"ibs.jpg","url":"http://ibs.biocuckoo.org/","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btv362","year":2015,"citations":743},"tags":["Protein"],"platform":["Silo","Web","Desktop"],"language":["Java"],"width":800,"height":600},{"name":"PFAM generate_graphic","img":"pfam.png","url":"https://pfam.xfam.org/generate_graphic","note":"Also see guide here https://pfam.xfam.org/help#tabview=tab10","tags":["Protein"],"platform":["Silo","Web"],"width":1370,"height":115},{"name":"SnoopCGH","img":"snoopcgh.jpg","url":"http://snoopcgh.sourceforge.net/","playform":["Desktop"],"tags":["CNV","ArrayCGH"],"language":["Java"],"pub":{"doi":"https://doi.org/10.1093/bioinformatics/btp488","year":2009,"citations":8},"width":640,"height":388},{"name":"Genovar","img":"genovar.png","tags":["CNV","ArrayCGH","Alignments viewer"],"language":["Java"],"pub":{"doi":"https://dx.doi.org/10.1186%2F1471-2105-13-S7-S12","year":2012,"citations":2},"url":"http://genovar.sourceforge.net/","width":575,"height":472},{"name":"VAMP","img":"vamp.jpg","language":["Java"],"pub":{"doi":"https://doi.org/10.1093/bioinformatics/btl359","year":2006,"citations":89},"tags":["Deadlink","CNV","ArrayCGH"],"platform":["Applet","Desktop"],"width":520,"height":399},{"name":"CGH-Explorer","img":"cghexplorer.jpg","language":["Java"],"pub":{"doi":"https://doi.org/10.1093/bioinformatics/bti113","year":2004,"citations":114},"tags":["Deadlink","CNV","ArrayCGH"],"platform":["Desktop"],"width":520,"height":324},{"name":"GenomeMatcher","img":"genomematcher.png","language":["Objective-C"],"twitter":"https://twitter.com/GenomeMatcher","url":"http://www.ige.tohoku.ac.jp/joho/gmProject/gmmanual.html","tags":["Comparative"],"platform":["Desktop","Mac"],"pub":{"doi":"https://doi.org/10.1186/1471-2105-9-376","year":2008,"citations":225},"width":600,"height":679},{"name":"DNAVis","img":"dnavis.png","language":["C++","OpenGL"],"platform":["Desktop"],"pub":{"doi":"https://doi.org/10.1093/bioinformatics/bti807","year":2005,"citations":6},"tags":["Deadlink","Comparative"],"width":679,"height":803},{"name":"SynBrowse","img":"synbrowse.png","language":["Perl"],"platform":["Web"],"pub":{"doi":"https://doi.org/10.1093/bioinformatics/bti555","year":2005,"citations":53},"tags":["Comparative","GBrowse integration"],"width":520,"height":446},{"name":"Sybil","img":"sybil.png","language":["Perl"],"platform":["Web"],"pub":{"doi":"https://doi.org/10.1007/978-1-59745-547-3_6","year":2007,"citations":52},"tags":["Comparative","GBrowse integration"],"url":"http://sybil.sourceforge.net/","note":"Download https://sourceforge.net/projects/sybil/","width":687,"height":627},{"name":"SyntenyPortal","img":"syntenyportal.png","language":["JS"],"platform":["Web"],"pub":{"doi":"https://doi.org/10.1093/nar/gkw310","year":2016,"citations":41},"url":"http://bioinfo.konkuk.ac.kr/synteny_portal/","tags":["Comparative","Circular"],"width":1280,"height":647},{"name":"CHROMEISTER","img":"chromeister.png","github":"https://github.com/estebanpw/chromeister","pub":{"doi":"https://doi.org/10.1038/s41598-019-46773-w","year":2019,"citations":25},"tags":["Comparative","Dotplot"],"language":["C","R"],"width":1000,"height":1000,"github_stars":39},{"name":"r2cat","img":"r2cat.jpeg","github":"https://github.com/phuseman/r2cat","pub":{"doi":"https://dx.doi.org/10.1093%2Fbioinformatics%2Fbtp690","year":2009,"citations":105},"tags":["Comparative","Dotplot"],"language":["Java"],"github_stars":3,"width":1800,"height":1598},{"name":"Seaview","img":"seaview.png","language":["C++"],"platform":["Desktop"],"tags":["MSA","Phylogenetics"],"url":"http://doua.prabi.fr/software/seaview","pub":{"doi":"https://doi.org/10.1093/molbev/msp259","year":2009,"citations":4632},"width":927,"height":524},{"name":"SequenceServer","img":"sequenceserver.png","language":["Ruby","JS"],"tags":["BLAST","Comparative","Circular"],"platform":["Web"],"url":"https://sequenceserver.com/","github":"https://github.com/wurmlab/sequenceserver","pub":{"doi":"https://doi.org/10.1093/molbev/msz185","year":2019,"citations":166},"width":1059,"height":355,"github_stars":267},{"name":"numbat","img":"numbat.png","language":["R"],"tags":["Single cell","CNV"],"pub":{"doi":"https://doi.org/10.1101/2022.02.07.479314","year":2022,"citations":10},"url":"https://kharchenkolab.github.io/numbat/","github":"https://github.com/kharchenkolab/numbat","width":840,"height":672,"github_stars":157},{"name":"ggtranscript","img":"ggtranscript.png","language":["R"],"tags":["Gene structure"],"url":"https://github.com/dzhang32/ggtranscript","pub":{"doi":"https://doi.org/10.1101/2022.03.28.486050","year":2022,"citations":2},"width":2100,"height":900,"github_stars":117},{"name":"CIAlign","note":"Has useful utility functions to clean gaps and trim MSAs","img":"cialign.png","language":["Python"],"tags":["MSA"],"pub":{"doi":"https://doi.org/10.7717/peerj.12983","year":2022,"citations":36},"github":"https://github.com/KatyBrown/CIAlign","width":480,"height":286,"github_stars":109},{"name":"CoolBox","img":"coolbox.png","pub":{"doi":"https://doi.org/10.1186/s12859-021-04408-w","year":2021,"citations":19},"github":"https://github.com/GangCaoLab/CoolBox","platform":["CLI","Web"],"tags":["Epigenomics","Hi-C"],"note":"fork of pyGenomeTracks","language":["Python"],"width":760,"height":408,"github_stars":221},{"name":"CNANorm","language":["R"],"url":"https://www.bioconductor.org/packages/release/bioc/html/CNAnorm.html","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btr593","year":2011,"citations":144},"img":"cnanorm.png","tags":["CNV"],"width":436,"height":267},{"name":"GECO","language":["Java"],"tags":["Microbiology","Comparative"],"img":"geco.png","url":"http://bioinfo.mikrobio.med.uni-giessen.de/geco2/GecoMainServlet","platform":["Web","Deadlink","No binary or source available"],"pub":{"doi":"https://doi.org/10.1093/bioinformatics/btl556","year":2006,"citations":21},"width":900,"height":615},{"name":"Orchestral","language":["C++","OpenGL"],"img":"orchestral.png","pub":{"doi":"https://doi.org/10.1109/BioVis.2013.6664351","year":2013,"citations":7},"tags":["CNV","Large display","No binary or source available"],"width":770,"height":355},{"name":"SequenceSurveyor","language":["Adobe AIR"],"img":"sequencesurveyor.png","url":"https://graphics.cs.wisc.edu/Vis/SequenceSurveyor/index.html","pub":{"doi":"http://dx.doi.org/10.1109/TVCG.2011.232","year":2011,"citations":36},"tags":["Comparative"],"width":2016,"height":1027},{"name":"BactoGENIE","img":"bactogenie.png","pub":{"doi":"https://doi.org/10.1186/1471-2105-16-S11-S6","year":2015,"citations":8},"tags":["Comparative","Microbiology","Large display","No binary or source available"],"width":600,"height":199},{"name":"PSAT","img":"psat.png","pub":{"doi":"https://doi.org/10.1186/1471-2105-9-170","year":2008,"citations":27},"tags":["Comparative","Deadlink","No binary or source available"],"platform":["Web","Silo"],"url":"http://www.nwrce.org/psat","width":496,"height":200},{"name":"TreeBrowser (MicrobesOnline)","img":"treegenome.png","tags":["Comparative","GBrowse integration"],"pub":{"doi":"https://doi.org/10.1093/nar/gkp919","year":2009,"citations":382},"url":"http://www.microbesonline.org/cgi-bin/treeBrowse.cgi?locus=17761","platform":["Web","Silo"],"language":["Perl"],"width":462,"height":431},{"name":"UTGB (University of Tokyo Genome Browser)","img":"utgb.png","language":["Java"],"platform":["Web","Servlet"],"pub":{"doi":"https://doi.org/10.1093/bioinformatics/btp350","year":2009,"citations":11},"tags":["General"],"github":"https://github.com/utgenome/utgb","url":"http://utgenome.org/","width":359,"height":236,"github_stars":2},{"name":"Argo","img":"argo.png","language":["Java","Applet"],"tags":["General","Deadlink"],"url":"https://web.archive.org/web/20070924141423/http://www.broad.mit.edu/annotation/argo/","notes":"See also the tool 'Combo', a comparative version","width":450,"height":338},{"name":"Combo","img":"combo.png","note":"Based on the tool 'Argo'","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btl193","year":2006,"citations":37},"tags":["Comparative"],"language":["Java"],"width":640,"height":253},{"name":"Consed","img":"consed.png","url":"http://bozeman.mbt.washington.edu/consed/consed.html","pub":{"doi":"https://doi.org/10.1101/gr.8.3.195","year":1998,"citations":2677},"tags":["Academic license","Assembly QC","Alignments viewer"],"width":650,"height":994},{"name":"CNSpector","img":"cnspector.png","url":"https://github.com/PapenfussLab/CNspector","pub":{"doi":"https://doi.org/10.1038/s41598-019-42858-8","year":2019,"citations":17},"tags":["CNV"],"width":312,"height":287,"github_stars":4,"language":["R","Shiny"]},{"name":"GenomicBreaks","img":"genomicbreaks.png","url":"https://oist.github.io/GenomicBreaks/articles/GenomicBreaks.html","github":"https://github.com/oist/GenomicBreaks/","language":["R","ggplot2"],"tags":["Comparative","Dotplot"],"width":700,"height":866,"github_stars":4},{"name":"GenomeSyn","img":"genomesyn.png","url":"https://github.com/jmsong2/GenomeSyn","tags":["Comparative","Ideogram","Deadlink"],"language":["Perl"],"platform":["Web","Desktop"],"width":856,"height":522,"github_stars":20},{"name":"CMPlot","img":"cmplot.png","tags":["GWAS"],"language":["R"],"github":"https://github.com/YinLiLin/CMplot","pub":{"doi":"10.1016/j.gpb.2020.10.007","year":2021,"citations":419},"width":525,"height":675,"github_stars":494},{"name":"chromPlot","img":"chromplot.png","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btw137","year":2016,"citations":43},"language":["R"],"tags":["Ideogram","QTL"],"url":"https://www.bioconductor.org/packages/release/bioc/vignettes/chromPlot/inst/doc/chromPlot.pdf","width":440,"height":328},{"name":"PhenoGram","img":"phenogram.png","url":"https://ritchielab.org/software/phenogram-downloads","pub":{"doi":"https://doi.org/10.1186/1756-0381-6-18","year":2013,"citations":173},"note":"Can be web server or download","language":["Ruby"],"platform":["Web","Silo","CLI"],"tags":["Ideogram"],"width":1200,"height":1083},{"name":"RIdeogram","img":"rideogram.png","url":"https://github.com/TickingClock1992/RIdeogram","pub":{"doi":"https://doi.org/10.7717/peerj-cs.251","year":2020,"citations":277},"language":["R"],"tags":["Ideogram","Comparative"],"width":620,"height":646,"github_stars":150},{"name":"CrowsNest","img":"crowsnest.png","tags":["Comparative"],"url":"https://pgsb.helmholtz-muenchen.de/crowsnest/help.html","pub":{"doi":"10.1007/978-1-4939-3167-5_8","year":2016,"citations":1},"width":699,"height":383},{"tags":["Commercial","MSA","SV","Coverage","Alignments viewer","Comparative","Annotation","Variation","Expression"],"name":"ERGO","img":"ergo.png","url":"https://www.igenbio.com/ergo","width":2590,"height":2018,"pub":{"url":"https://pubmed.ncbi.nlm.nih.gov/12519973/","doi":"https://doi.org/10.1093/nar/gkg148","year":2003,"citations":166}},{"name":"modbamtools","img":"modbamtools.png","url":"https://github.com/rrazaghi/modbamtools","language":["Python"],"tags":["Methylation","Epigenomics"],"pub":{"doi":"https://doi.org/10.1101/2022.07.07.499188","year":2022,"citations":9},"width":750,"height":619,"github_stars":45},{"name":"sequenza","img":"sequenza.png","url":"https://cran.r-project.org/web/packages/sequenza/vignettes/sequenza.html#plots-and-results","note":"also see https://sequenzatools.bitbucket.io/#/home","language":["R"],"tags":["CNV"],"pub":{"doi":"https://doi.org/10.1093/annonc/mdu479","year":2015,"citations":590},"width":960,"height":1056},{"name":"pyCircos","img":"pycircos.png","url":"https://github.com/ponnhide/pyCircos","note":"See also https://github.com/ponnhide/plasmidviewer","width":738,"height":268,"github_stars":318,"tags":["Circular"],"language":["Python"]},{"name":"GeneticsMakie.jl","url":"https://github.com/mmkim1210/GeneticsMakie.jl","img":"geneticsmakie.png","pub":{"doi":"https://doi.org/10.1101/2022.04.18.488573","year":2022,"citations":2},"width":1632,"height":2147,"github_stars":75,"tags":["GWAS","Gene structure","Linkage disequilibrium"],"language":["Julia"]},{"name":"fineSTRUCTURE aka ChromoPainter","img":"finestructure.png","url":"http://www.paintmychromosomes.com/","pub":{"doi":"https://doi.org/10.1371/journal.pgen.1002453","year":2012,"citations":951},"tags":["Local ancestry"],"width":1024,"height":768},{"name":"MOSAIC","img":"mosaic.png","url":"https://maths.ucd.ie/~mst/MOSAIC/","language":["R"],"tags":["Local ancestry"],"pub":{"doi":"https://doi.org/10.1534/genetics.119.302139","year":2019,"citations":57},"width":727,"height":320},{"name":"Prosite/MyDomains","img":"prosite.png","url":"https://prosite.expasy.org/mydomains","tags":["Protein"],"platform":["Web","Silo"],"pub":{"doi":"https://doi.org/10.1093/nar/gkm977","year":2007,"citations":342},"width":561,"height":40},{"name":"snpit","img":"snpit.png","url":"https://github.com/aineniamh/snipit","tags":["Variation","Population"],"language":["Python"],"width":750,"height":306,"github_stars":114},{"name":"local-rearrangements","img":"local-rearrangements.png","url":"https://github.com/mcfrith/local-rearrangements","tags":["Dotplot","SV"],"language":["Python"],"note":"Can color dotplots with annotations for e.g. exons, transposons, low complexity regions. See also last-dotplot. Nice figure using it here https://genomemedicine.biomedcentral.com/articles/10.1186/s13073-020-00762-1/figures/4","width":199,"height":713,"github_stars":12},{"name":"GeCoViz","img":"gecoviz.png","url":"https://gecoviz.cgmlab.org/","platform":["Web","Silo"],"tags":["Microbiology","Comparative"],"pub":{"doi":"https://doi.org/10.1093/nar/gkac367","year":2022,"citations":14},"width":472,"height":443},{"name":"GGisy","img":"ggisy.png","url":"https://github.com/Sanrrone/GGisy","language":["Python","R"],"width":544,"height":516,"github_stars":21,"tags":["Comparative","Circular"]},{"name":"multiGenomicContext","url":"https://github.com/Sanrrone/multiGenomicContext","img":"multicontext.png","language":["Python","R"],"width":1145,"height":577,"github_stars":8,"tags":["Comparative"]},{"name":"ggmsa","note":"See also ggtree","url":"http://yulab-smu.top/ggmsa/","github":"https://github.com/YuLab-SMU/ggmsa","pub":{"doi":"https://doi.org/10.1093/bib/bbac222","year":2022,"citations":86},"img":"ggmsa.png","language":["R"],"width":825,"height":188,"github_stars":192,"tags":["MSA"]},{"name":"AccuSyn","language":["JS"],"tags":["Comparative"],"url":"https://accusyn.usask.ca/","github":"https://github.com/jorgenunezsiri/accusyn","img":"accusyn.png","github_stars":16,"width":611,"height":514},{"name":"CView","img":"cview.png","tags":["MSA"],"language":["Java"],"url":"https://sourceforge.net/projects/cview/","pub":{"doi":"https://doi.org/10.1371/journal.pone.0259726","year":2022,"citations":0},"width":1500,"height":802},{"name":"bigly","img":"bigly.png","tags":["SV","Coverage"],"language":["Go","Python"],"url":"https://github.com/brentp/bigly","width":900,"height":500,"github_stars":42},{"name":"signac","img":"signac.png","tags":["Coverage","Single cell"],"url":"https://github.com/timoast/signac/","language":["R"],"pub":{"doi":"https://doi.org/10.1038/s41592-021-01282-5","year":2021,"citations":692},"width":1400,"height":1920,"github_stars":300},{"name":"pyGenomeViz","url":"https://github.com/moshi4/pyGenomeViz","tags":["Comparative"],"language":["Python"],"img":"pygenomeviz.png","width":1291,"height":693,"github_stars":243,"note":"See also https://github.com/moshi4/MGCplotter https://github.com/moshi4/GBKviz https://github.com/moshi4/plot_genome_align_fig"},{"name":"SODA","url":"https://sodaviz.org/","github":"https://github.com/sodaviz/soda","language":["JS","Typescript"],"tags":["Repeats","Circular","Linear"],"img":"soda.png","pub":{"doi":"https://doi.org/10.1093/nargab/lqac077","year":2022,"citations":3},"note":"Describes itself as a low-level library to create larger applications with","width":971,"height":667,"github_stars":6},{"name":"ShinySyn","img":"shinysyn.png","pub":{"doi":"https://doi.org/10.1093/bioinformatics/btac503","year":2022,"citations":11},"tags":["Comparative"],"language":["R","Shiny"],"width":480,"height":808},{"name":"JBR","img":"jbr.png","doi":{"doi":"https://doi.org/10.1093/bioinformatics/btab376"},"tags":["Epigenomics"],"language":["Java"],"note":"Not open source, at least not on github","url":"https://artyomovlab.wustl.edu/jbr/2018_h3k27ac_aging/","github":"https://github.com/Jetbrains-Research/jbr","width":555,"height":283,"github_stars":11},{"name":"clonifier","img":"clonifier.png","github":"https://github.com/dlesl/clonifier","language":["Rust","Typescript","React"],"tags":["Microbiology","Synthetic biology"],"width":555,"height":283,"github_stars":6},{"name":"ctag","img":"ctag.png","github":"https://github.com/AbeelLab/ctag","tags":["Graph","Population"],"note":"See also hygene https://github.com/ProgrammingLife2017/hygene","language":["Java","Scala"],"width":916,"height":639,"github_stars":1},{"name":"NCBI CGV","img":"cgv.png","tags":["Comparative"],"platform":["Silo"],"url":"https://ncbiinsights.ncbi.nlm.nih.gov/2022/07/05/cgv-beta-release/","width":512,"height":371},{"name":"vcfPlotein","img":"vcfplotein.png","language":["JS","D3","VueJS"],"tags":["Variation"],"url":"https://vcfplotein.liigh.unam.mx/#/","github":"https://github.com/redcpp/vcfplotein","width":1162,"height":254,"github_stars":8},{"name":"CoveragePlotter","img":"coverageplotter.png","language":["Java"],"note":"See also http://lindenb.github.io/jvarkit/WGSCoveragePlotter.html for multi-chromosome","tags":["CNV","Coverage"],"url":"http://lindenb.github.io/jvarkit/CoveragePlotter.html","width":282,"height":109},{"name":"tagore","img":"tagore.png","language":["Python"],"tags":["Ideogram","Local ancestry","Chromosome painting"],"url":"https://github.com/jordanlab/tagore","width":600,"height":258,"github_stars":35},{"name":"pileuppy","img":"pileuppy.png","language":["Python"],"tags":["Text based"],"url":"https://gitlab.com/tprodanov/pileuppy","width":1213,"height":805},{"name":"ggcoverage","img":"ggcoverage.png","language":["R"],"tags":["Coverage","Ideogram","CNV","Splicing"],"pub":{"doi":"https://doi.org/10.1101/2022.09.01.503744","year":2022,"citations":1},"url":"https://cran.r-project.org/web/packages/ggcoverage/vignettes/ggcoverage.html","github":"https://github.com/showteeth/ggcoverage","width":1024,"height":717,"github_stars":212},{"name":"python-genome-browser aka pygbrowse","url":"https://github.com/phageghost/python-genome-browser/blob/master/pygbrowse_demonstration.ipynb","github":"https://github.com/phageghost/python-genome-browser/","img":"pygbrowse.png","tags":["Epigenomics","Hi-C","Coverage","Gene structure"],"language":["Python"],"width":994,"height":503,"github_stars":27},{"name":"wally","language":["C++"],"img":"wally.png","tags":["Alignments viewer","Dotplot","SV"],"url":"https://github.com/tobiasrausch/wally","github_stars":101,"width":676,"height":538},{"name":"alignoth","language":["Rust","Vega"],"tags":["Alignments viewer"],"github":"https://github.com/koesterlab/alignoth","url":"http://htmlpreview.github.io/?https://github.com/koesterlab/alignoth/blob/main/examples/plot.html","img":"alignoth.png","width":1776,"height":440,"github_stars":52},{"name":"ezcharts","img":"ezcharts.png","tags":["Ideogram"],"language":["Python"],"github":"https://github.com/epi2me-labs/ezcharts","width":1141,"height":569,"github_stars":17},{"name":"gw","img":"gw.png","tags":["Alignments viewer","Variation"],"language":["C++","OpenGL"],"github":"https://github.com/kcleal/gw","width":2492,"height":618,"github_stars":146},{"name":"PretextView","img":"pretextview.jpg","tags":["Hi-C","OpenGL"],"language":["C++"],"github":"https://github.com/wtsi-hpag/PretextView","width":1616,"height":1616,"github_stars":27},{"name":"pyCirclize","img":"pycirclize.png","tags":["Circular"],"language":["Python"],"github":"https://github.com/moshi4/pyCirclize","width":1292,"height":865,"github_stars":661},{"name":"plasmapR","img":"plasmapr.png","tags":["Synthetic biology","Circular"],"language":["R"],"github":"https://github.com/BradyAJohnston/plasmapR","width":2100,"height":2100,"github_stars":74},{"name":"DrukBam","img":"drukbam.png","github":"https://github.com/StephanHolgerD/DrukBam","language":["Python"],"tags":["Alignments viewer"],"width":1270,"height":742,"github_stars":19},{"github":"https://github.com/matted/genome_coverage_plotter","name":"genome_coverage_plotter","img":"genome-coverage-plotter.png","language":["Python"],"tags":["CNV","Coverage"],"github_stars":6,"width":1600,"height":400},{"github":"https://github.com/mrvollger/NucFreq","name":"NucFreq","img":"nucfreq.png","tags":["Variation","Coverage"],"language":["Python","R"],"width":1600,"height":400,"github_stars":24},{"name":"PGR-TK","github":"https://github.com/cschin/pgr-tk","pub":{"doi":"10.1038/s41592-023-01914-y","year":2023,"citations":9},"tags":["Graph","Pangenome"],"language":["Rust"],"img":"pgrtk.png","width":1109,"height":385,"github_stars":11},{"name":"asynt","github":"https://github.com/simonhmartin/asynt","tags":["Comparative","Dotplot"],"img":"asynt.png","language":["R"],"width":884,"height":594,"github_stars":24},{"name":"GeMo","tags":["Chromosome painting","Ideogram"],"img":"gemo.png","language":["JS"],"github":"https://github.com/SouthGreenPlatform/GeMo","pub":{"doi":"10.1093/database/baac057","year":2022,"citations":3},"github_stars":13,"width":2250,"height":2130},{"name":"NGenomeSyn","tags":["Comparative","Multi-way synteny"],"img":"ngenomesyn.png","language":["Perl"],"pub":{"doi":"10.1093/bioinformatics/btad121","year":2023,"citations":26},"github":"https://github.com/hewm2008/NGenomeSyn","note":"See also RectChr","width":710,"height":612,"github_stars":140},{"name":"chromsyn","img":"chromsyn.png","github":"https://github.com/slimsuite/chromsyn","tags":["Comparative","Multi-way synteny"],"language":["R"],"doi":{"pub":"10.1101/2022.04.22.489119"},"width":1500,"height":975,"github_stars":24},{"name":"pixy","img":"pixy.png","github":"https://github.com/ksamuk/pixy/","url":"https://pixy.readthedocs.io/en/latest/plotting.html#a-genome-wide-plot-of-summary-statistics","note":"The link in readthedocs shows a nice general purpose way to plot multi-chromosome plots in ggplot2 with facet grid. Alternative methods for multi-chromosome plots shown by the manhattan ggplot2 tutorial (https://danielroelfs.com/blog/how-i-create-manhattan-plots-using-ggplot/ uses cumulative bp instead of facet_grid)","language":["Python","R","ggplot2"],"tags":["Population","Variation"],"doi":{"pub":"https://doi.org/10.1111/1755-0998.13326"},"github_stars":110,"width":1800,"height":900},{"name":"vcf2circos","url":"https://github.com/bioinfo-chru-strasbourg/vcf2circos","img":"vcf2circos.png","note":"Based on PCircos https://github.com/CJinny/PCircos","language":["Python","Plotly"],"tags":["SV","CNV","Circular"],"width":1514,"height":1002,"github_stars":28},{"name":"OmicCircos","tags":["Circular","CNV","Comparative","SV","Coverage"],"language":["R"],"url":"http://bioconductor.org/packages/release/bioc/html/OmicCircos.html","img":"omiccircos.png","pub":{"doi":"10.4137/CIN.S13495","year":2014,"citations":134},"github":"https://github.com/CBIIT-CGBB/OmicCircos2","width":831,"height":1568,"github_stars":6},{"name":"ABrowse (genome browser)","img":"abrowse2.png","tags":["General","Historical"],"language":["JS"],"platform":["Web"],"note":"Had integrations with BioMart, Taverna","pub":{"doi":"10.1186/1471-2105-13-2","year":2012,"citations":17},"width":1200,"height":727},{"name":"VRPG","tags":["Graph","Pangenome"],"img":"vrpg.png","language":["C++","Python"],"platform":["Web"],"url":"https://github.com/codeatcg/VRPG","pub":{"doi":"10.1101/2023.01.20.524991","year":2023,"citations":0},"github_stars":21,"width":949,"height":696},{"name":"Taxonium","note":"Genome variation visualisation in Taxonium is provided by the 'Treenome Viewer': https://academic.oup.com/bioinformatics/article/39/1/btac772/6858450","tags":["Phylogenetics","Microbiology"],"img":"taxonium.png","language":["JS","Python"],"platform":["Web"],"url":"https://taxonium.org","pub":{"doi":"10.7554/eLife.82392","year":2022,"citations":28},"github_stars":86,"width":1000,"height":525},{"name":"MosaicCatcher pipeline","tags":["Single cell","Strand-seq"],"img":"mosaicatcher.png","github":"https://github.com/friendsofstrandseq/mosaicatcher-pipeline","language":["R","Python","SnakeMake"],"width":2483,"height":3524,"github_stars":20},{"name":"TogoStanza Protein Browser","img":"togostanza.png","tags":["Protein"],"language":["JS"],"url":"https://db-dev.jpostdb.org/ts/stanza/protein_browser/help.html","width":1474,"height":889},{"name":"ReConPlot","img":"reconplot.png","github":"https://github.com/cortes-ciriano-lab/ReConPlot","language":["R"],"tags":["SV","CNV"],"pub":{"doi":"10.1101/2023.02.24.529890","year":2023,"citations":1},"width":917,"height":430,"github_stars":19},{"name":"rich-msa","language":["Python"],"tags":["Text based","MSA"],"github":"https://github.com/althonos/rich-msa","img":"richmsa.png","width":933,"height":921,"github_stars":77},{"name":"gtracks","tags":["General"],"language":["Python"],"note":"Powered by pyGenomeTracks","url":"https://gitlab.com/salk-tm/gtracks","img":"gtracks.png","width":1133,"height":297},{"name":"bamscope","tags":["Alignments viewer"],"language":["Kotlin"],"url":"https://github.com/jslfree080/bamscope","img":"bamscope.png","width":1199,"height":1591,"github_stars":9},{"name":"syntR","img":"syntr.png","github":"https://github.com/ksamuk/syntR","url":"https://www.samuklab.com/syntR/articles/syntr_tutorial.html","language":["R"],"tags":["Comparative","Dotplot"],"width":1152,"height":1152,"github_stars":4},{"name":"GCSnap","img":"gcsnap.png","tags":["Comparative"],"github":"https://github.com/JoanaMPereira/GCsnap","pub":{"doi":"https://doi.org/10.1016/j.jmb.2021.166943","year":2021,"citations":8},"language":["Python"],"github_stars":22,"width":4226,"height":1981},{"name":"trackplot (python)","img":"trackplot_python.png","tags":["General","Gene structure","Sashimi"],"language":["Python"],"pub":{"doi":"https://doi.org/10.1371/journal.pcbi.1011477","year":2023,"citations":1},"url":"https://github.com/ygidtu/trackplot","width":491,"height":355,"github_stars":66},{"name":"BAMdash","url":"https://github.com/jonas-fuchs/BAMdash/","img":"bamdash.png","language":["Python"],"tags":["Coverage"],"width":1494,"height":636,"github_stars":21},{"name":"ModDotPlot","img":"moddotplot.png","url":"https://github.com/marbl/ModDotPlot","language":["Python"],"pub":{"doi":"10.1101/2024.04.15.589623v1"},"tags":["Comparative","Dotplot","Heatmap","Repeats"],"width":1926,"height":1296,"github_stars":98},{"name":"odp (oxford dot plots)","img":"odp.png","tags":["Comparative","Dotplot","Snakemake","Multi-way synteny"],"url":"https://github.com/conchoecia/odp","language":["Python"],"pub":{"doi":"https://doi.org/10.1038/s41586-023-05936-6","year":2023,"citations":115},"note":"Pub is not for visualization tool, but it is suggested to cite this paper","width":1000,"height":618,"github_stars":115},{"name":"genoVi","img":"genovi.png","url":"https://github.com/robotoD/GenoVi","language":["Python"],"pub":{"doi":"https://doi.org/10.1371/journal.pcbi.1010998","year":2023,"citations":17},"tags":["Circular","Comparative","Microbiology"],"width":1500,"height":1500,"github_stars":67},{"name":"TRVZ (TRGT tandem repeat genotyping visualizer)","img":"trvz.png","language":["Rust"],"url":"https://github.com/PacificBiosciences/trgt","tags":["Repeats","Graph"],"pub":{"doi":"https://doi.org/10.1101/2023.05.12.540470","year":2023,"citations":10},"width":3154,"height":2261,"github_stars":93},{"name":"BRICK (BRIG-like circular knowledgebase)","note":"See also BRIG","github":"https://github.com/esteinig/brick","url":"https://brick.ink/","img":"brick.png","language":["JS"],"tags":["Circular","Comparative","Microbiology"],"width":1096,"height":836,"github_stars":11},{"name":"SGTK (scaffold graph toolkit)","interactive":["true"],"language":["JS","C++"],"tags":["Graph"],"img":"sgtk.png","url":"https://olga24912.github.io/SGTK/","github":"https://github.com/olga24912/SGTK","pub":{"doi":"https://doi.org/10.1093/bioinformatics/bty956","year":2018,"citations":10},"width":1371,"height":337,"github_stars":28},{"name":"pgv (graph tool)","github":"https://github.com/w-gao/pgv","url":"https://w-gao.github.io/pgv/","img":"pgv2.png","tags":["Graph"],"language":["JS","Python"],"width":1281,"height":874,"github_stars":19},{"name":"Panagram","tags":["K-mer","Pangenome"],"url":"https://github.com/kjenike/panagram","language":["Python"],"img":"panagram.png","width":693,"height":500,"github_stars":54},{"name":"VAG","pub":{"doi":"https://doi.org/10.1101/2023.01.20.524849","year":2023,"citations":0},"tags":["Graph","Pangenome"],"img":"vag.jpg","github":"https://github.com/lipingfangs/VAG","language":["Python","JS"],"width":1694,"height":667,"github_stars":17},{"name":"ntSynt","img":"ntsynt.png","language":["R"],"tags":["Comparative","Multi-way synteny"],"github":"https://github.com/bcgsc/ntSynt/","url":"https://github.com/bcgsc/ntSynt/tree/main/visualization_scripts","pub":{"doi":"https://doi.org/10.1101/2024.02.07.579356","year":2024,"citations":0},"note":"Uses gggenomes","width":5905,"height":2362,"github_stars":61},{"tags":["Static","Comparative"],"name":"geneviewer","img":"geneviewer.png","url":"https://nvelden.github.io/geneviewer/","github":"https://github.com/nvelden/geneviewer","language":["R"],"width":1492,"height":1247,"github_stars":19},{"name":"figeno","img":"figeno.png","tags":["Hi-C","Epigenomics","Methylation","Alignments viewer"],"language":["Python","JS"],"url":"https://github.com/CompEpigen/figeno","pub":{"doi":"https://doi.org/10.1101/2024.04.22.590500 ","year":2024,"citations":1},"width":2882,"height":1197,"github_stars":224},{"name":"SVhawkeye","img":"svhawkeye.jpg","tags":["SV","Alignments viewer"],"language":["Python","R"],"url":"https://github.com/yywan0913/SVhawkeye","pub":{"doi":"https://doi.org/10.3389/fgene.2024.1352443","year":2024,"citations":0},"github_stars":22,"width":1065,"height":576},{"name":"SeeNV","img":"seenv.png","url":"https://github.com/MSBradshaw/SeeNV","pub":{"doi":"https://doi.org/10.1101/2024.05.08.593244","year":2024,"citations":0},"language":["Python"],"tags":["CNV","Population","SV","Coverage"],"width":4868,"height":5454,"github_stars":2},{"name":"SYNY","img":"syny.png","url":"https://github.com/PombertLab/SYNY","pub":{"doi":"https://doi.org/10.1101/2024.05.09.593317","year":2024,"citations":0},"language":["Perl","Python"],"tags":["Comparative","Dotplot","Circular","Ideogram","Multi-way synteny"],"width":1692,"height":2446,"github_stars":27},{"name":"chrov","img":"chrov.png","url":"https://github.com/rraadd88/chrov","language":["Python"],"tags":["Ideogram","Lollipops","Circular","CNV"],"note":"See also usage in https://github.com/rraadd88/beditor","width":576,"height":1106,"github_stars":4},{"name":"waragraph","img":"waragraph.png","tags":["Graph"],"url":"https://chfi.github.io/waragraph/","github":"https://github.com/chfi/waragraph","note":"Deployed to the web via wasm","language":["Rust"],"platform":["Web","Desktop"],"width":1783,"height":901,"github_stars":23},{"name":"gff2ps","url":"https://genome.crg.es/software/gfftools/GFF2PS.html","pub":{"doi":"10.1093/bioinformatics/16.8.743","year":2000,"citations":40},"img":"gff2ps.png","tags":["Historical"],"note":"Used to make original figures for the human Celera genome","width":1114,"height":985},{"name":"SVbyEye","img":"svbyeye.png","github":"https://github.com/daewoooo/SVbyEye/","url":"https://htmlpreview.github.io/?https://github.com/daewoooo/SVbyEye/blob/master/vignettes/SVbyEye.html","tags":["Multi-way synteny","Comparative"],"language":["R"],"width":1455,"height":903,"github_stars":17}]}]}]