SNP Dump Viewer — это локальное Streamlit-приложение для просмотра SQLite-дампа SNPedia-Scraper.
Приложение позволяет:
- загрузить файл базы (
.sqlite,.db,.sqlite3), - найти SNP по
rsid(например,rs7412), - увидеть метаданные записи,
- получить список wiki-ссылок из контента,
- прочитать контент по секциям.
- Python 3.10+ (рекомендуется 3.11)
pip- локальный SQLite-дамп с таблицей
snps
Ожидаемая схема таблицы:
rsidcontentscraped_atattribution
git clone <URL_ВАШЕГО_РЕПО>
cd SNP_dump_viewerpython3 -m venv .venv
source .venv/bin/activatepython -m venv .venv
.\.venv\Scripts\Activate.ps1pip install --upgrade pip
pip install -r requirements.txtИз корня проекта выполните:
streamlit run app.pyПосле запуска Streamlit выведет локальный URL, обычно:
http://localhost:8501
Откройте этот адрес в браузере.
- В интерфейсе нажмите «Локальный файл дампа (.sqlite/.db)» и выберите файл базы.
- В поле ввода введите
rsid, например:rs7412. - Приложение покажет:
- похожие
rsid(подсказки), - метаданные (
scraped_at,attribution), - найденные wiki-ссылки,
- секции контента в раскрывающихся блоках.
- похожие
Полезно для проверки перед коммитом.
pytestruff check .- Убедитесь, что активировано виртуальное окружение.
- Проверьте, что зависимости установлены:
pip install -r requirements.txt.
- Проверьте, что выбран корректный файл SQLite.
- Проверьте наличие таблицы
snpsи нужных колонок.
- Убедитесь, что
rsidприсутствует в вашей базе. - Попробуйте частичный ввод, чтобы увидеть подсказки похожих
rsid.
app.py— Streamlit UI и сценарий работы приложения.core.py— функции чтения БД и обработки wiki-контента.tests/test_app.py— unit-тесты для функций обработки текста.requirements.txt— зависимости проекта.
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
streamlit run app.pyДобавлен отдельный CLI-скрипт:
python scripts/match_progress_stats.pyПо умолчанию он ищет самый свежий файл в .progress/ и печатает краткую таблицу со статистикой.
Можно передать явный файл:
python scripts/match_progress_stats.py .progress/match_progress_xxx.json