Package: variantbreak
VariantBreak - Structural variant analyzer for data visualization on VariantMapVariantBreak is a python package that integrates all structural variants (SVs) from a cohort ofNanoVarVCF files or variant BED files for visualization on [VariantMap](https://github.com/cytham/variantmap) or summarized into a CSV file. It also annotates and filters all SVs across all samples according to
user input GTF/GFF/BED files.Basic capabilitiesIntersects and merges all SV breakends from a sample cohort usingNanoVarVCF files
(NanoVar-v1.3.6 or above) or variant BED files.Annotates each SV according to input GTF/GFF files or BED annotation files.Filters SVs by adding a "HIT" or "MISS" label according to input BED filter files.Creates a master pandas dataframe to store all data.Creates a HDF5 file containing the master dataframe and some metadata which can be graphically visualized on VariantMap
within Dash Bio.Getting StartedQuick runCommand-line usage:variantbreak [Options] -a annotation.gff3 -f filter.bed variant_path working_dirParameterArgumentComment-aannotation.gff3path to single annotation file or directory containing annotation files of GTF/GFF or BED formats-ffilter.bedpath to single filter file or directory containing filter files of BED format-variant_pathpath to single variant file or directory containing variant files of VCF or BED formats-working_dirpath to working directoryPython console usage:# Import variantbreak function from variantbreak package
from variantbreak import variantbreak

# Run variantbreak on your samples with annotation and filter files
df = variantbreak("/path/to/sample_dir/",
                  "/path/to/annotation_dir/",
                  "/path/to/filter_dir/")


# To save data to files
# Import write_to_file from variantbreak package
from variantbreak import write_to_files

# Specify dataframe variable, output file path and prefix, and delimiter of choice
write_to_files(df,
               "/path/to/output_prefix",
               sep="\t")OutputOutput fileCommentoutput.h5HDF5 file required for data visualization by VariantMapoutput.csvCSV file for data viewing, separated by the delimiter set by userlegend.txtFile containing the legend of the sample labels used in analysisFor more information, seewiki.Operating system:Linux (x86_64 architecture, tested in Ubuntu 16.04)Installation:There are three ways to install VariantBreak:Option 1: Conda (Recommended)# Installing from bioconda automatically installs all dependencies 
conda install -c bioconda variantbreakOption 2: Pip (See dependencies below)# Installing from PyPI requires own installation of dependencies, see below
pip install variantbreakOption 3: GitHub (See dependencies below)# Installing from GitHub requires own installation of dependencies, see below
git clone https://github.com/cytham/variantbreak.git 
cd variantbreak
pip install .Installation of dependenciesbedtools >=2.26.0 (required to be in PATH by pybedtools)pybedtools >=0.8.1pandas >=1.0.3tables >=3.6.1fastcluster >=1.1.261.bedtoolsPlease visitherefor instructions to install.2.pybedtoolsPlease visitherefor instructions to install.3.pandasPlease visitherefor instructions to install.4.tablespip install tablesorconda install -c conda-forge pytables5.fastclusterpip install fastclusterorconda install -c conda-forge fastclusterDocumentationSeewikifor more information.VersioningSeeCHANGELOGCitationNot availableAuthorTham Cheng Yong-cythamLicenseVariantBreak is licensed under GNU General Public License - seeLICENSE.txtfor details.LimitationsCurrent version only allows input of VCF files generated by NanoVar. We will create a format adaptor in future versions to
encompass VCF files generated by other SV callers.Processing speed of large sample cohorts has not been tested. Currently, it takes about 30 minutes to process about 100,000
merged SVs.