BiNgoViewer 1.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. bingoviewer-1.0.0/BiNgoViewer.egg-info/PKG-INFO +132 -0
  2. bingoviewer-1.0.0/BiNgoViewer.egg-info/SOURCES.txt +29 -0
  3. bingoviewer-1.0.0/BiNgoViewer.egg-info/dependency_links.txt +1 -0
  4. bingoviewer-1.0.0/BiNgoViewer.egg-info/entry_points.txt +2 -0
  5. bingoviewer-1.0.0/BiNgoViewer.egg-info/requires.txt +6 -0
  6. bingoviewer-1.0.0/BiNgoViewer.egg-info/top_level.txt +1 -0
  7. bingoviewer-1.0.0/MANIFEST.in +2 -0
  8. bingoviewer-1.0.0/PKG-INFO +132 -0
  9. bingoviewer-1.0.0/README.md +105 -0
  10. bingoviewer-1.0.0/bingoviewer/__init__.py +3 -0
  11. bingoviewer-1.0.0/bingoviewer/__main__.py +11 -0
  12. bingoviewer-1.0.0/bingoviewer/cli.py +64 -0
  13. bingoviewer-1.0.0/bingoviewer/frontend_dist/assets/index-wC3QoUws.js +81 -0
  14. bingoviewer-1.0.0/bingoviewer/frontend_dist/index.html +18 -0
  15. bingoviewer-1.0.0/bingoviewer/server/__init__.py +0 -0
  16. bingoviewer-1.0.0/bingoviewer/server/api/__init__.py +0 -0
  17. bingoviewer-1.0.0/bingoviewer/server/api/data.py +112 -0
  18. bingoviewer-1.0.0/bingoviewer/server/api/genome.py +85 -0
  19. bingoviewer-1.0.0/bingoviewer/server/api/tracks.py +70 -0
  20. bingoviewer-1.0.0/bingoviewer/server/main.py +48 -0
  21. bingoviewer-1.0.0/bingoviewer/server/models.py +104 -0
  22. bingoviewer-1.0.0/bingoviewer/server/readers/__init__.py +0 -0
  23. bingoviewer-1.0.0/bingoviewer/server/readers/annotation_reader.py +271 -0
  24. bingoviewer-1.0.0/bingoviewer/server/readers/bam_reader.py +111 -0
  25. bingoviewer-1.0.0/bingoviewer/server/readers/bigwig_reader.py +424 -0
  26. bingoviewer-1.0.0/bingoviewer/server/readers/genbank_reader.py +88 -0
  27. bingoviewer-1.0.0/bingoviewer/server/readers/genome_reader.py +50 -0
  28. bingoviewer-1.0.0/bingoviewer/server/readers/vcf_reader.py +110 -0
  29. bingoviewer-1.0.0/bingoviewer/server/state.py +87 -0
  30. bingoviewer-1.0.0/pyproject.toml +52 -0
  31. bingoviewer-1.0.0/setup.cfg +4 -0
@@ -0,0 +1,132 @@
1
+ Metadata-Version: 2.4
2
+ Name: BiNgoViewer
3
+ Version: 1.0.0
4
+ Summary: BiNgo Genome Viewer — a lightweight browser-based genomics viewer
5
+ Author-email: Billy Ngo <billy.ngo0108@gmail.com>
6
+ License: All rights reserved
7
+ Project-URL: Homepage, https://github.com/billy-ngo/bingo-genome-viewer
8
+ Project-URL: Repository, https://github.com/billy-ngo/bingo-genome-viewer
9
+ Keywords: genomics,genome,viewer,browser,bioinformatics,igv
10
+ Classifier: Development Status :: 4 - Beta
11
+ Classifier: Intended Audience :: Science/Research
12
+ Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3.10
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Programming Language :: Python :: 3.12
17
+ Classifier: Programming Language :: Python :: 3.13
18
+ Classifier: Operating System :: OS Independent
19
+ Requires-Python: >=3.10
20
+ Description-Content-Type: text/markdown
21
+ Requires-Dist: fastapi>=0.111.0
22
+ Requires-Dist: uvicorn[standard]>=0.29.0
23
+ Requires-Dist: biopython>=1.83
24
+ Requires-Dist: pyfaidx>=0.8.1
25
+ Requires-Dist: bamnostic>=1.3
26
+ Requires-Dist: python-multipart>=0.0.9
27
+
28
+ # BiNgo Genome Viewer
29
+
30
+ A lightweight, browser-based genomics viewer for visualizing genomes, coverage tracks, read alignments, variants, and annotations. Built as a modern alternative to IGV.
31
+
32
+ ## Supported File Formats
33
+
34
+ | Type | Formats |
35
+ |------|---------|
36
+ | **Genome** | GenBank (`.gb`, `.gbk`), FASTA (`.fasta`, `.fa`) |
37
+ | **Coverage** | BigWig (`.bw`), WIG (`.wig`), BedGraph (`.bedgraph`, `.bdg`) |
38
+ | **Reads** | BAM (`.bam` + `.bai` index) |
39
+ | **Variants** | VCF (`.vcf`, `.vcf.gz`) |
40
+ | **Annotations** | BED (`.bed`), GFF (`.gff`, `.gff3`), GTF (`.gtf`), GenBank (`.gb`) |
41
+
42
+ ## Quick Start
43
+
44
+ ### Install with pip (recommended)
45
+
46
+ No Node.js required — the frontend is pre-built and bundled.
47
+
48
+ ```bash
49
+ pip install BiNgoViewer
50
+ bingo
51
+ ```
52
+
53
+ This installs the `bingo` command, starts the server, and opens the viewer in your browser. Options:
54
+
55
+ ```bash
56
+ bingo --port 9000 # use a custom port
57
+ bingo --no-browser # start without opening the browser
58
+ python -m bingoviewer # alternative way to launch
59
+ ```
60
+
61
+ ### Windows (from source)
62
+
63
+ Requires Python 3.10+ and Node.js 18+.
64
+
65
+ Double-click **`launch.bat`**. On first run it will install dependencies automatically, then open the viewer in your browser.
66
+
67
+ ### macOS (from source)
68
+
69
+ Requires Python 3.10+ and Node.js 18+.
70
+
71
+ Double-click **`BiNgo Genome Viewer.command`** (or run `./launch.sh` from a terminal). On first run it will create a virtual environment and install dependencies, then open the viewer in your browser.
72
+
73
+ > **Permission denied?** If macOS says the file can't be opened, run this once in Terminal from the project folder:
74
+ > ```bash
75
+ > chmod +x launch.sh "BiNgo Genome Viewer.command"
76
+ > ```
77
+
78
+ ### Linux (from source)
79
+
80
+ Requires Python 3.10+ and Node.js 18+.
81
+
82
+ ```bash
83
+ chmod +x launch.sh
84
+ ./launch.sh
85
+ ```
86
+
87
+ ### Docker
88
+
89
+ ```bash
90
+ cd app
91
+ docker-compose up --build
92
+ ```
93
+
94
+ Then open [http://localhost:8000](http://localhost:8000).
95
+
96
+ ## Usage
97
+
98
+ 1. **Load a genome** — Drag and drop a FASTA or GenBank file into the file loader at the top
99
+ 2. **Add tracks** — Drag and drop any supported track files (BAM, BigWig, WIG, VCF, BED, GFF, etc.)
100
+ 3. **Navigate** — Click and drag on tracks to pan; scroll wheel to zoom; use the coordinate bar to jump to a region
101
+ 4. **Track settings** — Click the gear icon to adjust height, color, scale, and bar width for tracks
102
+ 5. **Reorder tracks** — Drag the grip handle (`≡`) on any track label to reorder
103
+ 6. **Export** — Click Export to save the current view as SVG or PNG
104
+ 7. **Save session** — Click Save Session to store your current workspace; restore it later or export as a JSON file
105
+
106
+ ## Project Structure
107
+
108
+ ```
109
+ ├── pyproject.toml # pip package definition
110
+ ├── bingoviewer/ # Installable Python package
111
+ │ ├── cli.py # `bingo` CLI entry point
112
+ │ ├── server/ # FastAPI backend (bundled)
113
+ │ └── frontend_dist/ # Pre-built React frontend
114
+ ├── launch.bat # Windows launcher (from source)
115
+ ├── launch.sh # macOS / Linux launcher (from source)
116
+ ├── BiNgo Genome Viewer.command # macOS double-click launcher
117
+ └── app/ # Application source code
118
+ ├── backend/ # Python (FastAPI) REST API
119
+ ├── frontend/ # React (Vite) user interface
120
+ ├── Dockerfile # Docker build
121
+ └── docker-compose.yml # Docker Compose config
122
+ ```
123
+
124
+ ## Citation
125
+
126
+ If you use this software in your research, please cite:
127
+
128
+ > Ngo, B. (2026). BiNgo Genome Viewer (v1.0.0) [Software].
129
+
130
+ ## License
131
+
132
+ All rights reserved. Contact the author for licensing inquiries.
@@ -0,0 +1,29 @@
1
+ MANIFEST.in
2
+ README.md
3
+ pyproject.toml
4
+ BiNgoViewer.egg-info/PKG-INFO
5
+ BiNgoViewer.egg-info/SOURCES.txt
6
+ BiNgoViewer.egg-info/dependency_links.txt
7
+ BiNgoViewer.egg-info/entry_points.txt
8
+ BiNgoViewer.egg-info/requires.txt
9
+ BiNgoViewer.egg-info/top_level.txt
10
+ bingoviewer/__init__.py
11
+ bingoviewer/__main__.py
12
+ bingoviewer/cli.py
13
+ bingoviewer/frontend_dist/index.html
14
+ bingoviewer/frontend_dist/assets/index-wC3QoUws.js
15
+ bingoviewer/server/__init__.py
16
+ bingoviewer/server/main.py
17
+ bingoviewer/server/models.py
18
+ bingoviewer/server/state.py
19
+ bingoviewer/server/api/__init__.py
20
+ bingoviewer/server/api/data.py
21
+ bingoviewer/server/api/genome.py
22
+ bingoviewer/server/api/tracks.py
23
+ bingoviewer/server/readers/__init__.py
24
+ bingoviewer/server/readers/annotation_reader.py
25
+ bingoviewer/server/readers/bam_reader.py
26
+ bingoviewer/server/readers/bigwig_reader.py
27
+ bingoviewer/server/readers/genbank_reader.py
28
+ bingoviewer/server/readers/genome_reader.py
29
+ bingoviewer/server/readers/vcf_reader.py
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ bingo = bingoviewer.cli:main
@@ -0,0 +1,6 @@
1
+ fastapi>=0.111.0
2
+ uvicorn[standard]>=0.29.0
3
+ biopython>=1.83
4
+ pyfaidx>=0.8.1
5
+ bamnostic>=1.3
6
+ python-multipart>=0.0.9
@@ -0,0 +1 @@
1
+ bingoviewer
@@ -0,0 +1,2 @@
1
+ recursive-include bingoviewer/frontend_dist *
2
+ recursive-include bingoviewer/server *.py
@@ -0,0 +1,132 @@
1
+ Metadata-Version: 2.4
2
+ Name: BiNgoViewer
3
+ Version: 1.0.0
4
+ Summary: BiNgo Genome Viewer — a lightweight browser-based genomics viewer
5
+ Author-email: Billy Ngo <billy.ngo0108@gmail.com>
6
+ License: All rights reserved
7
+ Project-URL: Homepage, https://github.com/billy-ngo/bingo-genome-viewer
8
+ Project-URL: Repository, https://github.com/billy-ngo/bingo-genome-viewer
9
+ Keywords: genomics,genome,viewer,browser,bioinformatics,igv
10
+ Classifier: Development Status :: 4 - Beta
11
+ Classifier: Intended Audience :: Science/Research
12
+ Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3.10
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Programming Language :: Python :: 3.12
17
+ Classifier: Programming Language :: Python :: 3.13
18
+ Classifier: Operating System :: OS Independent
19
+ Requires-Python: >=3.10
20
+ Description-Content-Type: text/markdown
21
+ Requires-Dist: fastapi>=0.111.0
22
+ Requires-Dist: uvicorn[standard]>=0.29.0
23
+ Requires-Dist: biopython>=1.83
24
+ Requires-Dist: pyfaidx>=0.8.1
25
+ Requires-Dist: bamnostic>=1.3
26
+ Requires-Dist: python-multipart>=0.0.9
27
+
28
+ # BiNgo Genome Viewer
29
+
30
+ A lightweight, browser-based genomics viewer for visualizing genomes, coverage tracks, read alignments, variants, and annotations. Built as a modern alternative to IGV.
31
+
32
+ ## Supported File Formats
33
+
34
+ | Type | Formats |
35
+ |------|---------|
36
+ | **Genome** | GenBank (`.gb`, `.gbk`), FASTA (`.fasta`, `.fa`) |
37
+ | **Coverage** | BigWig (`.bw`), WIG (`.wig`), BedGraph (`.bedgraph`, `.bdg`) |
38
+ | **Reads** | BAM (`.bam` + `.bai` index) |
39
+ | **Variants** | VCF (`.vcf`, `.vcf.gz`) |
40
+ | **Annotations** | BED (`.bed`), GFF (`.gff`, `.gff3`), GTF (`.gtf`), GenBank (`.gb`) |
41
+
42
+ ## Quick Start
43
+
44
+ ### Install with pip (recommended)
45
+
46
+ No Node.js required — the frontend is pre-built and bundled.
47
+
48
+ ```bash
49
+ pip install BiNgoViewer
50
+ bingo
51
+ ```
52
+
53
+ This installs the `bingo` command, starts the server, and opens the viewer in your browser. Options:
54
+
55
+ ```bash
56
+ bingo --port 9000 # use a custom port
57
+ bingo --no-browser # start without opening the browser
58
+ python -m bingoviewer # alternative way to launch
59
+ ```
60
+
61
+ ### Windows (from source)
62
+
63
+ Requires Python 3.10+ and Node.js 18+.
64
+
65
+ Double-click **`launch.bat`**. On first run it will install dependencies automatically, then open the viewer in your browser.
66
+
67
+ ### macOS (from source)
68
+
69
+ Requires Python 3.10+ and Node.js 18+.
70
+
71
+ Double-click **`BiNgo Genome Viewer.command`** (or run `./launch.sh` from a terminal). On first run it will create a virtual environment and install dependencies, then open the viewer in your browser.
72
+
73
+ > **Permission denied?** If macOS says the file can't be opened, run this once in Terminal from the project folder:
74
+ > ```bash
75
+ > chmod +x launch.sh "BiNgo Genome Viewer.command"
76
+ > ```
77
+
78
+ ### Linux (from source)
79
+
80
+ Requires Python 3.10+ and Node.js 18+.
81
+
82
+ ```bash
83
+ chmod +x launch.sh
84
+ ./launch.sh
85
+ ```
86
+
87
+ ### Docker
88
+
89
+ ```bash
90
+ cd app
91
+ docker-compose up --build
92
+ ```
93
+
94
+ Then open [http://localhost:8000](http://localhost:8000).
95
+
96
+ ## Usage
97
+
98
+ 1. **Load a genome** — Drag and drop a FASTA or GenBank file into the file loader at the top
99
+ 2. **Add tracks** — Drag and drop any supported track files (BAM, BigWig, WIG, VCF, BED, GFF, etc.)
100
+ 3. **Navigate** — Click and drag on tracks to pan; scroll wheel to zoom; use the coordinate bar to jump to a region
101
+ 4. **Track settings** — Click the gear icon to adjust height, color, scale, and bar width for tracks
102
+ 5. **Reorder tracks** — Drag the grip handle (`≡`) on any track label to reorder
103
+ 6. **Export** — Click Export to save the current view as SVG or PNG
104
+ 7. **Save session** — Click Save Session to store your current workspace; restore it later or export as a JSON file
105
+
106
+ ## Project Structure
107
+
108
+ ```
109
+ ├── pyproject.toml # pip package definition
110
+ ├── bingoviewer/ # Installable Python package
111
+ │ ├── cli.py # `bingo` CLI entry point
112
+ │ ├── server/ # FastAPI backend (bundled)
113
+ │ └── frontend_dist/ # Pre-built React frontend
114
+ ├── launch.bat # Windows launcher (from source)
115
+ ├── launch.sh # macOS / Linux launcher (from source)
116
+ ├── BiNgo Genome Viewer.command # macOS double-click launcher
117
+ └── app/ # Application source code
118
+ ├── backend/ # Python (FastAPI) REST API
119
+ ├── frontend/ # React (Vite) user interface
120
+ ├── Dockerfile # Docker build
121
+ └── docker-compose.yml # Docker Compose config
122
+ ```
123
+
124
+ ## Citation
125
+
126
+ If you use this software in your research, please cite:
127
+
128
+ > Ngo, B. (2026). BiNgo Genome Viewer (v1.0.0) [Software].
129
+
130
+ ## License
131
+
132
+ All rights reserved. Contact the author for licensing inquiries.
@@ -0,0 +1,105 @@
1
+ # BiNgo Genome Viewer
2
+
3
+ A lightweight, browser-based genomics viewer for visualizing genomes, coverage tracks, read alignments, variants, and annotations. Built as a modern alternative to IGV.
4
+
5
+ ## Supported File Formats
6
+
7
+ | Type | Formats |
8
+ |------|---------|
9
+ | **Genome** | GenBank (`.gb`, `.gbk`), FASTA (`.fasta`, `.fa`) |
10
+ | **Coverage** | BigWig (`.bw`), WIG (`.wig`), BedGraph (`.bedgraph`, `.bdg`) |
11
+ | **Reads** | BAM (`.bam` + `.bai` index) |
12
+ | **Variants** | VCF (`.vcf`, `.vcf.gz`) |
13
+ | **Annotations** | BED (`.bed`), GFF (`.gff`, `.gff3`), GTF (`.gtf`), GenBank (`.gb`) |
14
+
15
+ ## Quick Start
16
+
17
+ ### Install with pip (recommended)
18
+
19
+ No Node.js required — the frontend is pre-built and bundled.
20
+
21
+ ```bash
22
+ pip install BiNgoViewer
23
+ bingo
24
+ ```
25
+
26
+ This installs the `bingo` command, starts the server, and opens the viewer in your browser. Options:
27
+
28
+ ```bash
29
+ bingo --port 9000 # use a custom port
30
+ bingo --no-browser # start without opening the browser
31
+ python -m bingoviewer # alternative way to launch
32
+ ```
33
+
34
+ ### Windows (from source)
35
+
36
+ Requires Python 3.10+ and Node.js 18+.
37
+
38
+ Double-click **`launch.bat`**. On first run it will install dependencies automatically, then open the viewer in your browser.
39
+
40
+ ### macOS (from source)
41
+
42
+ Requires Python 3.10+ and Node.js 18+.
43
+
44
+ Double-click **`BiNgo Genome Viewer.command`** (or run `./launch.sh` from a terminal). On first run it will create a virtual environment and install dependencies, then open the viewer in your browser.
45
+
46
+ > **Permission denied?** If macOS says the file can't be opened, run this once in Terminal from the project folder:
47
+ > ```bash
48
+ > chmod +x launch.sh "BiNgo Genome Viewer.command"
49
+ > ```
50
+
51
+ ### Linux (from source)
52
+
53
+ Requires Python 3.10+ and Node.js 18+.
54
+
55
+ ```bash
56
+ chmod +x launch.sh
57
+ ./launch.sh
58
+ ```
59
+
60
+ ### Docker
61
+
62
+ ```bash
63
+ cd app
64
+ docker-compose up --build
65
+ ```
66
+
67
+ Then open [http://localhost:8000](http://localhost:8000).
68
+
69
+ ## Usage
70
+
71
+ 1. **Load a genome** — Drag and drop a FASTA or GenBank file into the file loader at the top
72
+ 2. **Add tracks** — Drag and drop any supported track files (BAM, BigWig, WIG, VCF, BED, GFF, etc.)
73
+ 3. **Navigate** — Click and drag on tracks to pan; scroll wheel to zoom; use the coordinate bar to jump to a region
74
+ 4. **Track settings** — Click the gear icon to adjust height, color, scale, and bar width for tracks
75
+ 5. **Reorder tracks** — Drag the grip handle (`≡`) on any track label to reorder
76
+ 6. **Export** — Click Export to save the current view as SVG or PNG
77
+ 7. **Save session** — Click Save Session to store your current workspace; restore it later or export as a JSON file
78
+
79
+ ## Project Structure
80
+
81
+ ```
82
+ ├── pyproject.toml # pip package definition
83
+ ├── bingoviewer/ # Installable Python package
84
+ │ ├── cli.py # `bingo` CLI entry point
85
+ │ ├── server/ # FastAPI backend (bundled)
86
+ │ └── frontend_dist/ # Pre-built React frontend
87
+ ├── launch.bat # Windows launcher (from source)
88
+ ├── launch.sh # macOS / Linux launcher (from source)
89
+ ├── BiNgo Genome Viewer.command # macOS double-click launcher
90
+ └── app/ # Application source code
91
+ ├── backend/ # Python (FastAPI) REST API
92
+ ├── frontend/ # React (Vite) user interface
93
+ ├── Dockerfile # Docker build
94
+ └── docker-compose.yml # Docker Compose config
95
+ ```
96
+
97
+ ## Citation
98
+
99
+ If you use this software in your research, please cite:
100
+
101
+ > Ngo, B. (2026). BiNgo Genome Viewer (v1.0.0) [Software].
102
+
103
+ ## License
104
+
105
+ All rights reserved. Contact the author for licensing inquiries.
@@ -0,0 +1,3 @@
1
+ """BiNgo Genome Viewer — a lightweight browser-based genomics viewer."""
2
+
3
+ __version__ = "1.0.0"
@@ -0,0 +1,11 @@
1
+ """
2
+ Entry point for `python -m bingoviewer` and the `bingo` CLI command.
3
+
4
+ Starts the FastAPI server, serves the bundled frontend, and opens the browser.
5
+ """
6
+
7
+ import sys
8
+ from bingoviewer.cli import main
9
+
10
+ if __name__ == "__main__":
11
+ sys.exit(main())
@@ -0,0 +1,64 @@
1
+ """
2
+ BiNgo Genome Viewer CLI — launch the viewer from the command line.
3
+
4
+ Usage:
5
+ bingo # start on default port 8000
6
+ bingo --port 9000 # start on a custom port
7
+ bingo --no-browser # start without opening the browser
8
+ """
9
+
10
+ import argparse
11
+ import os
12
+ import sys
13
+ import threading
14
+ import time
15
+ import webbrowser
16
+
17
+
18
+ def main():
19
+ parser = argparse.ArgumentParser(
20
+ prog="bingo",
21
+ description="BiNgo Genome Viewer — a lightweight browser-based genomics viewer",
22
+ )
23
+ parser.add_argument(
24
+ "--port", type=int, default=8000,
25
+ help="Port to run the server on (default: 8000)",
26
+ )
27
+ parser.add_argument(
28
+ "--host", type=str, default="127.0.0.1",
29
+ help="Host to bind to (default: 127.0.0.1)",
30
+ )
31
+ parser.add_argument(
32
+ "--no-browser", action="store_true",
33
+ help="Don't automatically open the browser",
34
+ )
35
+ args = parser.parse_args()
36
+
37
+ # Add the backend source directory to sys.path so bare imports
38
+ # (e.g. `from state import app_state`, `from readers.bam_reader import ...`)
39
+ # resolve correctly.
40
+ backend_dir = os.path.join(os.path.dirname(__file__), "server")
41
+ sys.path.insert(0, backend_dir)
42
+
43
+ # Now import the FastAPI app (triggers backend module loading)
44
+ from bingoviewer.server.main import app # noqa: E402
45
+
46
+ # Open browser after a short delay
47
+ if not args.no_browser:
48
+ url = f"http://{args.host}:{args.port}"
49
+ if args.host in ("0.0.0.0",):
50
+ url = f"http://localhost:{args.port}"
51
+
52
+ def _open():
53
+ time.sleep(1.5)
54
+ webbrowser.open(url)
55
+
56
+ threading.Thread(target=_open, daemon=True).start()
57
+
58
+ # Run the server
59
+ import uvicorn
60
+ print(f"\n BiNgo Genome Viewer running at http://localhost:{args.port}")
61
+ print(" Press Ctrl+C to stop.\n")
62
+ uvicorn.run(app, host=args.host, port=args.port, log_level="warning")
63
+
64
+ return 0