-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathsetup.bat
More file actions
146 lines (126 loc) · 3.6 KB
/
setup.bat
File metadata and controls
146 lines (126 loc) · 3.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
@echo off
REM WGS Extract v6 Setup Script (Windows)
REM Sets up virtual environment and installs all dependencies
setlocal enabledelayedexpansion
echo.
echo ================================================================
echo WGS Extract v6 - Setup Script (Windows)
echo ================================================================
echo.
REM Check Python version
echo 1. Checking Python version...
where python >nul 2>nul
if %ERRORLEVEL% NEQ 0 (
echo X Error: python not found
echo Please install Python 3.13 or later
pause
exit /b 1
)
for /f "tokens=2" %%i in ('python --version 2^>^&1') do set PYTHON_VERSION=%%i
echo * Found Python %PYTHON_VERSION%
echo.
REM Check external tools
echo 2. Checking external tools...
set MISSING_TOOLS=
where samtools >nul 2>nul
if %ERRORLEVEL% NEQ 0 set MISSING_TOOLS=!MISSING_TOOLS! samtools
where bcftools >nul 2>nul
if %ERRORLEVEL% NEQ 0 set MISSING_TOOLS=!MISSING_TOOLS! bcftools
where tabix >nul 2>nul
if %ERRORLEVEL% NEQ 0 set MISSING_TOOLS=!MISSING_TOOLS! tabix
where java >nul 2>nul
if %ERRORLEVEL% NEQ 0 set MISSING_TOOLS=!MISSING_TOOLS! java
if not "!MISSING_TOOLS!"=="" (
echo ! Warning: Missing tools:!MISSING_TOOLS!
echo Install from: https://github.com/samtools/samtools/releases
echo Java: https://adoptium.net/
echo.
set /p CONTINUE=" Continue anyway? (y/n) "
if /i not "!CONTINUE!"=="y" exit /b 1
) else (
echo * All external tools found
)
echo.
REM Create virtual environment
echo 3. Creating virtual environment...
if exist venv (
echo ! venv\ already exists
set /p RECREATE=" Remove and recreate? (y/n) "
if /i "!RECREATE!"=="y" (
rmdir /s /q venv
python -m venv venv
echo * Virtual environment recreated
) else (
echo * Using existing virtual environment
)
) else (
python -m venv venv
echo * Virtual environment created
)
echo.
REM Activate virtual environment
echo 4. Activating virtual environment...
call venv\Scripts\activate.bat
echo * Virtual environment activated
echo.
REM Upgrade pip
echo 5. Upgrading pip...
python -m pip install --upgrade pip >nul 2>&1
echo * pip upgraded
echo.
REM Install requirements
echo 6. Installing WGS Extract dependencies...
pip install -r requirements.txt
echo * Dependencies installed
echo.
REM Install Yleaf
echo 7. Installing bundled Yleaf...
if exist yleaf (
pip install ./yleaf/
echo * Yleaf installed from ./yleaf/
) else (
echo X Error: yleaf\ directory not found
pause
exit /b 1
)
echo.
REM Verify installation
echo 8. Verifying installation...
python -c "import wgsextract; print('WGS Extract:', wgsextract.__version__)" >nul 2>&1
if %ERRORLEVEL% EQU 0 (
echo * WGS Extract modules OK
) else (
echo X WGS Extract import failed
pause
exit /b 1
)
python -c "import yleaf; print('Yleaf:', yleaf.__version__)" >nul 2>&1
if %ERRORLEVEL% EQU 0 (
echo * Yleaf OK
) else (
echo X Yleaf import failed
pause
exit /b 1
)
where Yleaf >nul 2>&1
if %ERRORLEVEL% EQU 0 (
echo * Yleaf command OK
) else (
echo X Yleaf command failed
pause
exit /b 1
)
echo.
echo ================================================================
echo Setup Complete!
echo ================================================================
echo.
echo To run WGS Extract:
echo wgsextract.bat
echo.
echo First time users:
echo 1. Load a BAM/CRAM file from Settings tab
echo 2. Download reference genomes (Settings -^> Reference Library)
echo 3. Explore features in Extract Data and Analyze tabs
echo.
pause