Skip to content

Latest commit

 

History

History
95 lines (67 loc) · 4.23 KB

install_win.md

File metadata and controls

95 lines (67 loc) · 4.23 KB

Building ngs-bits from sources (Windows)

This manual assumes you have already retrieved a local copy of the github respository, as it has been described at the main page

Dependencies

First, we need to install Qt and some basic dependencies:

  • Download and install Qt 5.12.12 to the default location.
    Make sure to install MinGW 7.3.0 64 bit, Qt Charts and Sources from the Qt 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

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.

MySQL driver

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

MySQL plugin for Qt

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

Build

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.

Making the ngs-bits tools portable

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

Building a custom genome for IGV

To generate a custom genome for IGV with all Ensembl transcripts use the megSAP script create_igv_genome.php.
The created JSON genome file must only be set as igv_genome in the GSvar.ini and then will always be loaded when you use IGV through GSvar.