Changelog

0.26.0 (2021-10-24)

  • Add new method pybam.count_allelic_depth().

  • Update common.parse_variant() method to handle position-only strings as input (e.g. ‘22-42127941-G-A’ vs. ‘22-42127941’).

  • Add new command bam-aldepth.

  • Rename pybam.has_chr() method to pybam.has_chr_prefix().

  • Rename pybed.BedFrame.chr_prefix(), pycov.CovFrame.chr_prefix(), pyvcf.VcfFrame.chr_prefix() methods to pybed.BedFrame.update_chr_prefix(), pycov.CovFrame.update_chr_prefix(), pyvcf.VcfFrame.update_chr_prefix().

  • Add new properties pybed.BedFrame.has_chr_prefix, pycov.CovFrame.has_chr_prefix, pyvcf.VcfFrame.has_chr_prefix.

  • Add new method pyvcf.slice().

  • Add new method pyvcf.VcfFrame.from_string().

  • Remove nrows argument from pyvcf.VcfFrame.from_file() method.

  • Add new argument regions to pyvcf.VcfFrame.from_file() method.

  • Add new property pybed.BedFrame.shape.

  • Add new method pybed.BedFrame.to_regions().

  • Add new method pybed.BedFrame.from_regions().

  • Update pyvcf.VcfFrame.from_file() method to accept BED data to specify regions of interest.

  • Update vcf-slice command to run significantly faster by allowing random access.

  • Add new method common.sort_regions().

  • Fix minor bug in pyvcf.VcfFrame.get_af() method when the variant of interest does not exist in VcfFrame.

0.25.0 (2021-10-09)

  • Add new method common.sort_variants().

  • Add new method pyvcf.VcfFrame.variants().

  • Add new method pymaf.MafFrame.variants().

  • Add new method pymaf.MafFrame.subset().

  • Add new method pymaf.MafFrame.calculate_concordance().

  • Add new method pymaf.MafFrame.copy().

  • Add new method pymaf.MafFrame.filter_indel().

  • Add new method pymaf.MafFrame.plot_comparison().

0.24.0 (2021-10-02)

  • Add new command fuc-bgzip.

  • Add new command tabix-index.

  • Fix bug in pyvcf.VcfFrame.from_file() method when meta_only is True.

  • Update pyvcf.VcfFrame.from_file() method to extract VCF headers as well when meta_only is True.

  • Add new command tabix-slice.

  • Update pyvcf.VcfFrame.chr_prefix(), pybed.BedFrame.chr_prefix(), and pycov.CovFrame.chr_prefix() methods to skip lines that already have chr string when mode='add'.

  • Add new methods common.rename() and pycov.CovFrame.rename().

  • Add new command cov-rename.

  • Add new method pyvcf.gt_het().

  • Add new method pyvcf.gt_pseudophase().

0.23.0 (2021-09-21)

  • Update pycov.CovFrame class to ensure that the Chromosome column is always string.

  • Update pycov.CovFrame.from_file() method to accept file-like object as input as well.

  • Add new argument metadata to pyvcf.VcfFrame.strip() method.

  • Update pyvcf.VcfFrame.from_file() method to accept file-like object as input as well.

  • Add new method pycov.CovFrame.mask_bed().

  • Add new method pycov.CovFrame.chr_prefix().

  • Add new property contigs to pybed.BedFrame class.

  • Add new method pybed.BedFrame.chr_prefix().

  • Add new methods pybed.BedFrame.copy_meta() and pybed.BedFrame.sort().

  • Add new method pybed.BedFrame.merge().

  • Add new property empty to pyvcf.VcfFrame class.

  • Fix minor bug in pyvcf.VcfFrame.strip() method when sample genotypes don’t have the same number of fields as FORMAT.

  • Add new method pycov.CovFrame.subset() method.

  • Add new method common.color_print().

  • Add new method pycov.concat().

  • Add new command cov-concat.

  • Update pyvcf.VcfFrame to enforce the dtypes.

  • Update pyvcf.VcfFrame.add_af() method to output allele fraction for each ALT allele.

  • Fix bug in pyvcf.VcfFrame.add_af() method when the sum of allelic depths is 0.

  • Add new method pyvcf.VcfFrame.get_af().

0.22.0 (2021-09-04)

  • Update pyvcf.VcfFrame.from_file() method to be more memory efficient by pre-specifying data type for each VCF column.

  • Update pyvcf.VcfFrame.from_file() method to raise error if one or more VCF columns are missing, except for the FORMAT column (i.e. “sites-only” VCFs).

  • Add new property sites_only to pyvcf.VcfFrame.

  • Update pyvcf.VcfFrame.merge() method to handle sites-only VCFs.

  • Add new method pyvcf.VcfFrame.filter_vcf().

  • Add new arguments --bed and --vcf to vcf-slice command.

  • Update common.parse_region() method to output NaN instead of 0.

  • Add new method common.parse_variant().

  • Update pycov.CovFrame.from_file() method to be more memory efficient by pre-specifying data type for each of the columns in the input text file.

  • Update pycov.CovFrame.from_file() method to raise error if ‘Chromosome’ or ‘Position’ column is missing.

  • Add new method pyvcf.VcfFrame.fetch().

  • Update pyvcf.VcfFrame.strip() method to handle cases where one or more specified FORMAT keys are missing in a row.

  • Add new method pyvcf.VcfFrame.pseudophase().

  • Update pyvcf.VcfFrame.filter_vcf() method to also use REF and ALT (previously it only used CHROM and POS).

  • Add new argument --zero to bam-depth command.

  • Update pycov.CovFrame.plot_region() method: 1) New argument label has been added. 2) Argument names has been deprecated. 3) New argument sample has been added. 4) From now on, by default the method will plot profile for single sample specified by sample as opposed to all samples at once. 5) From now on, argument region can be omitted if there is only one contig.

  • Add new property contigs to pyvcf.CovFrame.

  • Add new methods pyvcf.CovFrame.copy() and pyvcf.CovFrame.copy_df().

  • Update pyvcf.CovFrame.from_file() method to accept GZIP compressed files. Also add new argument compression.

  • Add new methods pyvcf.CovFrame.to_string() and pyvcf.CovFrame.to_file().

0.21.0 (2021-08-16)

  • Rename pyvcf.VcfFrame.compare() method to pyvcf.VcfFrame.calculate_concordance().

  • Add new method pyvcf.VcfFrame.compare().

  • Add new property contigs to pyvcf.VcfFrame.

  • Add new method pyvcf.VcfFrame.plot_region().

  • Add special genotype keys to pyvcf.VcfFrame.extract() method.

  • #39: Update pyvcf.VcfFrame.extract() method to ignore rows where the genotype key of interest is not present.

  • Rename pyvcf.VcfFrame.extract() method to pyvcf.VcfFrame.extract_format().

  • Rename pyvcf.VcfFrame.plot_hist() method to pyvcf.VcfFrame.plot_hist_format().

  • Add new method pyvcf.VcfFrame.extract_info().

  • Add new method pyvcf.VcfFrame.plot_hist_info().

  • Add new method common.plot_exons().

  • Update pycov.CovFrame.plot_uniformity() method to accept a list of x positions.

  • Add new command ngs-fq2bam.

  • Add new command ngs-hc.

  • Add new command ngs-pon.

  • Add new command ngs-m2.

  • Add new method common.conda_env().

  • Add new argument meta_only to pyvcf.VcfFrame.from_file() method.

  • Add new argument nrows to pyvcf.VcfFrame.from_file() method.

  • Deprecate pybam.header() method.

  • Add new method pybam.has_chr().

0.20.0 (2021-08-07)

  • Add new method pymaf.MafFrame.matrix_waterfall_matched().

  • Add new method pymaf.MafFrame.plot_waterfall_matched().

  • Add new method pymaf.MafFrame.plot_tmb_matched().

  • Add new method pymaf.MafFrame.plot_mutated_matched().

  • Add new method pymaf.MafFrame.plot_oncoplot_matched().

  • Deprecate method pymaf.MafFrame.legend_handles().

  • Add new method common.legend_handles().

  • Deprecate classes pyvcf.AnnFrame and pymaf.AnnFrame. Add new class common.AnnFrame.

  • Rename common.file2list() method to convert_file2list().

  • Add new method common.convert_num2cat().

  • Add new command fuc-undetm.

  • Add new method common.plot_annot_matched().

  • Add new argument sheet to fuc-demux command.

  • Add new class common.Variant.

  • Add new method pyvcf.rescue_filtered_variants().

  • Add new arguments a_size and b_size to pymaf.MafFrame.plot_regplot() method.

  • Rename hue and hue_order arguments in plotting methods to group_col and group_order, respectively.

0.19.0 (2021-07-31)

  • Fix bug in pymaf.MafFrame.plot_mutated() when using the hue option.

  • Add new argument sort to pymaf.MafFrame.plot_vaf() method.

  • Add new method pymaf.MafFrame.plot_matrixs().

  • Add new method pymaf.MafFrame.plot_matrixg().

  • Add new method pymaf.MafFrame.compute_clonality().

  • Add new method pymaf.MafFrame.plot_clonality().

  • Fix bug in pymaf.MafFrame.plot_evolution() when there are no variants to display for the specified samples.

  • #34: Add new method pymaf.MafFrame.plot_genepair().

  • #34: Add new method pymaf.MafFrame.plot_interactions().

  • Update the fuc-demux command to output a better figure.

  • Add new method common.plot_cytobands().

  • Add new method pycov.CovFrame.plot_uniformity().

  • Add new method pycov.CovFrame.plot_distribution().

  • Rename pycov.CovFrame.from_file() method to pycov.CovFrame.from_bam().

  • Add new method pycov.CovFrame.from_file().

  • Add new command fuc-depth.

  • Add new method common.file2list().

  • Add new method pyvcf.VcfFrame.chr_prefix().

  • Fix bug in pyvcf.gt_unphase() when ‘.|.’ is provided.

  • Update pyvcf.VcfFrame.compare() method to only consider biallelic sites.

  • Update pyvcf.VcfFrame.compare() method to support comparison of SNVs only and INDELs only.

  • Update pymaf.MafFrame.from_vcf() method so that names argument is no longer required when keys argument is used.

0.18.0 (2021-07-20)

  • Update fq-count command to run significantly faster.

  • Update fuc-find command to support pattern matching that is more robust than just file extension.

  • Update pyvcf.VcfFrame.subset() method to take string as input in addition to list.

  • Fix bug in pymaf.MafFrame.plot_snvclss() method when certain SNV classes are entirely missing.

  • Add new package statsmodels as dependency for performing statistical analysis.

  • Update pymaf.MafFrame.plot_regplot() method to calculate and print summary statistics as well.

  • Update pyvcf.VcfFrame.plot_regplot() method to calculate and print summary statistics as well.

  • #32: Add pyvcf.VcfFrame.miss2ref() method.

  • Update pymaf.MafFrame.plot_tmb() method to draw empty bars with warning when specified samples do not exist.

  • Update pymaf.MafFrame.plot_waterfall() method to draw empty bars with warning when specified samples do not exist.

  • Add flip argument to pymaf.MafFrame.plot_genes() method.

  • Add new method pymaf.MafFrame.plot_mutated().

0.17.0 (2021-07-08)

  • Add new method pymaf.MafFrame.plot_lollipop().

  • #30: Add pymaf.MafFrame.plot_rainfall() method.

  • #30: Add pyvcf.VcfFrame.plot_rainfall() method.

  • Update pymaf.MafFrame.to_vcf() method to output sorted VCF.

  • Add new method pymaf.MafFrame.matrix_prevalence().

  • Add new method pymaf.MafFrame.plot_regplot().

  • Add new argument samples to pymaf.MafFrame.plot_snvclss() method.

  • Add new method pymaf.MafFrame.plot_evolution().

  • Add new submodule pygff.

0.16.0 (2021-07-02)

  • Rename the commands (e.g. vcf_merge to vcf-merge).

  • Add new argument flip to pymaf.MafFrame.plot_vaf() method.

  • Update pymaf.MafFrame.plot_vaf() method to support creation of a grouped bar plot.

  • Factor out count mode of pymaf.MafFrame.plot_snvcls() method to new method pymaf.MafFrame.plot_snvclsc().

  • Factor out proportion mode of pymaf.MafFrame.plot_snvcls() method to new method pymaf.MafFrame.plot_snvclsp().

  • Factor out samples mode of pymaf.MafFrame.plot_snvcls() method to new method pymaf.MafFrame.plot_snvclss().

  • Factor out titv mode of pymaf.MafFrame.plot_snvcls() method to new method pymaf.MafFrame.plot_titv().

  • Deprecate method pymaf.MafFrame.plot_snvcls().

  • Add new argument hue_order to pyvcf.VcfFrame.plot_hist() method.

  • Update aesthetic aspect of pymaf.MafFrame.plot_oncoplot() method.

  • Add new argument width to pymaf.MafFrame.plot_tmb() method.

  • Add new arguments palette and flip to pymaf.MafFrame.plot_vartype() method.

  • Update pymaf.MafFrame.plot_snvclsc() method to support creation of a grouped bar plot.

  • Update pymaf.MafFrame.plot_snvclsp() method to support creation of a grouped box plot.

  • Add new method pyvcf.VcfFrame.plot_snvclsc() (simply wraps pymaf.MafFrame.plot_snvclsc() method).

  • Add new method pyvcf.VcfFrame.plot_snvclsp() (simply wraps pymaf.MafFrame.plot_snvclsp() method).

  • Add new method pyvcf.VcfFrame.plot_snvclss() (simply wraps pymaf.MafFrame.plot_snvclss() method).

  • Add new method pyvcf.VcfFrame.plot_titv() (simply wraps pymaf.MafFrame.plot_titv() method).

  • #28: Update pymaf.MafFrame.from_vcf() method to handle unannotated VCF data.

0.15.0 (2021-06-24)

  • Update vcf_filter command.

  • Update tbl_sum command.

  • Add samples and shape attributes to pymaf.AnnFrame class.

  • Rename pymaf.MafFrame.compute_genes/tmb/waterfall() methods to pymaf.MafFrame.matrix_genes/tmb/waterfall().

  • Add keep_empty argument to pymaf.MafFrame.matrix_waterfall/plot_oncoplot/plot_waterfall() methods.

  • Add pymaf.MafFrame.filter_annot() method.

  • Add pymaf.AnnFrame.sorted_samples() method.

  • Fix bug in pymaf.MafFrame.to_frame() method.

  • Deprecate methods pyvep.filter_lof/clinsig().

  • Update pymaf.MafFrame.from_vcf() method to extract genotype keys (e.g. DP, AD, AF).

  • Update bam_slice and bam_rename commands.

  • Deprecate method pybam.rename().

0.14.0 (2021-06-20)

  • #23: Deprecate methods pyvcf.VcfFrame.markmiss_ad/af/dp() and add new method pyvcf.VcfFrame.markmiss().

  • Add new command vcf_filter.

  • Update methods pycov.CovFrame.slice/plot_region().

  • #24: Add new method pyvcf.VcfFrame.drop_duplicates().

  • Update pymaf.MafFrame.plot_snvcls() method to support various plotting modes.

  • Rename horizontal argument of pymaf.MafFrame.plot_varsum() method to flip.

0.13.0 (2021-06-16)

  • Add new method pymaf.MafFrame.to_vcf().

  • #21: Add new command maf_maf2vcf.

  • Add new method pyvcf.VcfFrame.rename().

  • Add new command vcf_rename.

  • Add new method pymaf.MafFrame.plot_vaf().

  • Update pyvcf.VcfFrame.slice() method.

  • Update vcf_slice command.

0.12.0 (2021-06-12)

  • Add new method pyvcf.VcfFrame.add_af().

  • Add new method pyvcf.VcfFrame.extract().

  • Deprecate methods pyvep.filter_af/biotype/nothas/impact().

  • Add new method pyvep.filter_query().

  • #19: Add new command vcf_vep.

  • Rename pyvcf.VcfFrame.plot_histplot() to pyvcf.VcfFrame.plot_tmb().

  • Add scipy package as dependency for performing statistical analysis.

  • Add new method pyvcf.VcfFrame.plot_hist().

0.11.0 (2021-06-10)

  • #16: Add new method pyvcf.VcfFrame.cfilter_empty().

  • Add new methods pyvep.filter_af/lof().

  • Add matplotlib-venn package as dependency for plotting Venn diagrams.

  • Add new methods pyvcf.plot_comparison/regplot/histplot().

  • #17: Add new method pyvep.filter_biotype().

  • Add new class pyvcf.AnnFrame.

0.10.0 (2021-06-03)

  • Add new methods pymaf.plot_summary/varsum().

  • Add new command maf_sumplt.

  • Add new method pymaf.MafFrame.to_string().

  • Update maf_oncoplt command.

  • Add new method pyvcf.VcfFrame.filter_qual().

  • Deprecate method pymaf.plot_legend() and add pymaf.legend_handles() method.

  • Add new methods pymaf.AnnFrame.legend_handles/plot_annot().

  • Add new method pyvcf.VcfFrame.expand().

  • Rename methods pyvcf.gt_missing/haspolyp() to pyvcf.gt_miss/polyp().

  • Add new method pybed.BedFrame.from_frame().

  • #14: Add new method pyvcf.VcfFrame.to_bed() and new command vcf_vcf2bed.

0.9.0 (2021-06-01)

  • Add new submodule pymaf.

  • Deprecate method pyvcf.read_file() and add pyvcf.VcfFrame.from_file() method.

  • Deprecate method pybed.read_file() and add pybed.BedFrame.from_file() method.

  • Deprecate method pyfq.read_file() and add pyfq.FqFrame.from_file() method.

  • Deprecate method pycov.read_file() and add pycov.CovFrame.from_file() method.

  • Add new method common.parse_region().

  • Add new commands maf_oncoplt/vcf2maf.

0.8.0 (2021-05-27)

  • Add pysam package as dependency for working with SAM/BAM/CRAM files.

  • Add new submodules pybam and pycov.

  • Rename the commands (e.g. vfmerge to vcf_merge).

  • #11: Add new command bam_slice.

  • Add new commands bam_head/index/rename.

0.7.0 (2021-05-23)

  • Add lxml package as dependency for parsing HTML files.

  • Add matplotlib and seaborn packages as dependency for creating figures.

  • Add new command fucdemux.

  • Add new method pyvcf.VcfFrame.filter_phased().

  • Add new method pyvcf.VcfFrame.meta_keys().

  • Update pyvep.filter_clinsig() method.

  • Update pyvep.filter_impact() method.

  • Add as_nan argument to pyvcf.VcfFrame.markmiss_ad/af/dp() methods.

  • Deprecate method pyvcf.update().

  • Add new methods pyvcf.row_updateinfo/parseinfo().

  • The fuc package is now available on Bioconda.

0.6.0 (2021-05-16)

  • Update Read the Docs.

  • Add new method pyvcf.VcfFrame.markmiss_ad().

  • Add full argument to pyvcf.VcfFrame.markmiss_ad/af/dp() methods.

  • Add new command fucfind.

  • Update dfsum command.

0.5.0 (2021-05-06)

  • Add biopython package as dependency for working with BGZF compressed files.

  • Update pyvcf.read_file() method and pyvcf.VcfFrame.to_file() method to support BGZF compressed files.

  • Update Read the Docs.

  • Add new method pyvcf.VcfFrame.slice().

  • Add new command vfslice.

0.4.1 (2021-05-03)

  • Update Read the Docs.

  • Add new methods to pyvcf.VcfFrame class.

  • #6: Add new extension sphinx.ext.linkcode to Read the Docs.

0.3.2 (2021-04-30)

  • Rename snpeff submodule to pysnpeff.

  • Add new submodule pyvep.

  • Update pyvcf.VcfFrame class.

  • Add new extension autodocsumm to Read the Docs.

  • Add contents to Read the Docs.

0.2.0 (2021-04-26)

  • #2: Fix Read the Docs automodule not working properly.

  • #3: Add new extension sphinx-issues to Read the Docs.

  • Rename submodules BedFrame, FastqFrame, and VcfFrame to pybed, pyfq, and pyvcf, respectively.

  • Add new methods to pyvcf submodule.

  • Add new methods to pyvcf.VcfFrame class.

  • Add new submodule snpeff.

0.1.4 (2021-04-21)

  • Initial release.