This manual assumes you have already retrieved a local copy of the github respository, as it has been described at the main page
First, we need to install Qt and some basic dependencies:
- Download and install Qt 5.12.12 to the default location.
Make sure to installMinGW 7.3.0 64 bit
,Qt Charts
andSources
from theQt 5.12.12
components as well. - Download and install Git.
It is needed to extract the repository version during the build process. - Optional: To create plots in qcML files, install WinPython and add the python directory to the PATH (it is inside the WinPython directory).
htslib is a third-party library that provides functionality for NGS data formats like BAM or VCF.
We have pre-built htslib 1.16.1
for Windows and it can be found inside the repository at ngs-bits\htslib\htslib_win_64.zip
. Just unzip the contents of the ZIP archive into the ngs-bits\htslib\
folder.
If you want to use a different version, e.g. when testing the latest version of htslib, there is a manual on how to build htslib available.
The Qt distribution does not contains the MySQL driver.
Thus, we need to install it manually:
- Download the ZIP file of MySQL Community Server 8.0.31 and extract it to C:\Qt.
- Copy C:\Qt\mysql-8.0.31-winx64\lib\libmysql.dll to
ngs-bits\bin
The Qt distribution no longer contains a MySQL plugin.
Based on the official instructions, we have created these updated short instructions:
- Open a Windows CMD window.
- Add the Qt paths to the PATH: set PATH=C:\Qt\Qt5.12.12\5.12.12\mingw73_64\bin;C:\Qt\Qt5.12.12\Tools\mingw730_64\bin;%PATH%
- Navigate to
C:\Qt\Qt5.12.12\5.12.12\Src\qtbase\src\plugins\sqldrivers\
. - Execute
qmake -- MYSQL_INCDIR="C:\Qt\mysql-8.0.31-winx64\include" MYSQL_LIBDIR="C:\Qt\mysql-8.0.31-winx64\lib"
- Execute
mingw32-make sub-mysql
- Execute
mingw32-make sub-mysql-install_subtargets
We can now build ngs-bits:
- Build the ngs-bits tools using the QtCreator project file
src\tools.pro
. Make sure to build in release mode! - Then, build GSvar and other GUI tools using the QtCreator project file
src\tools_gui.pro
. Make sure to build in release mode!
Attention: Make sure to compile the CRYPT_KEY into the GSvar binary when using it in client-server mode. The CRYPT_KEY is used for a handshake between client and server.
Now the executables can be found in the bin
folder and can be executed from QtCreator.
To use GSvar, it needs to be configured first.
To make the tools executable outside QtCreator and portable, you have to copy some files/folders into the bin
folder:
from path | copy |
ngs-bits\htslib\lib\ | *.* |
C:\Qt\Qt5.12.12\5.12.12\mingw73_64\bin\ | Qt5Charts.dll, Qt5Core.dll, Qt5Gui.dll, Qt5Network.dll, Qt5PrintSupport.dll, Qt5Sql.dll, Qt5Svg.dll, Qt5Widgets.dll, Qt5Xml.dll, Qt5XmlPatterns.dll, libwinpthread-1.dll, libstdc++-6.dll |
C:\Qt\Qt5.12.12\5.12.12\mingw73_64\plugins\ | platforms, sqldrivers, printsupport, imageformats, bearer, iconengines, styles |
C:\Qt\Qt5.12.12\Tools\mingw730_64\opt\bin\ | ssleay32.dll, libeay32.dll |
C:\Qt\mysql-8.0.31-winx64\lib\ | libmysql.dll |
For all the questions related to IGV, please see the IGV installation page
.