Releases: pachterlab/kb_python
Releases · pachterlab/kb_python
v0.27.3
General
- Bumped
ngs-tools>=1.7.3.
ref
- [DEPRECATION] Split index generation using
-nhas been fully deprecated. (Thanks to @amcdavid for catching a bug)
count
- Fixed a minor issue with
--workflow kite:10xFB, wherebustools projectwould be called beforebustools correct(the order should be opposite). This fix required a bump to thengs-toolsdependency. - Support for
--workflow lamannofor-x smartseq3. - [DEPRECATION] Counting using split indices by providing a comma-delimited list to
-ihas been fully deprecated. - Support for whitelist (
-w option) forbulk,smartseq2andsmartseq3technologies. - Added support for
-x 10XV3_ULTIMA.
v0.27.2
v0.27.1
General
- [DEPRECATION] Support for split indices (with the
-noption) will be deprecated in the next major release. It is now recommended to use--include-attributeand--exclude-attributeoptions, similar to Cellranger'smkrefoptions (https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/advanced/references), tokb refto reduce index size and memory usage.
ref
- A remote URL may be provided as the
fasta(genomic FASTA) and/orgtf(gene annotation GTF) arguments. Support fromngs_tools 1.5.13. - GTF is now allowed to have 0-length segments (pachterlab/kallisto#340).
count
- [DEPRECATION] Technology
SMARTSEQis now deprecated. All future uses should useBULK,SMARTSEQ2orSMARTSEQ3. - Genes that do not have a gene name will now have their gene IDs in the
gene_namecolumn (or theadata.var_namesif--gene-namesis used). - Support for
--workflow lamannofor-x BULKand-x SMARTSEQ2technologies.
v0.27.0
General
- Added the
compilecommand. See below for more information. (#139) - Fixed an issue where a call to kallisto would hang indefinitely due to a full stderr buffer.
- Changed docstring style to Google-style. Added typings to all functions.
- Updated kallisto binaries to
v0.48.0. - Updated bustools binaries to
v0.41.0. - Added binary compatibility checks. If a binary is incompatible,
kb compileis suggested.
compile
- This command can be used to compile the
kallistoand/orbustoolsbinary from source. At the most basic level, it downloads the latest release source distributions from the respective GitHub repositories, compiles them, and places them wherekbcan automatically detect them. - The
targetpositional argument specifies which binary (or both) to compile. Possible values arekallisto,bustoolsandall. - The
--urloptional argument may be provided with a URL to a remote archive that will be used instead of the latest GitHub release. When this option is used,targetmay not beall. -
- The
--refoptional argument may be provided with a commit hash or git tag. When this option is used,targetmay not beall.
- The
- The
-ooptional argument may be used to place the compiled binaries in a different directory. Note that if this option is used,--kallistoand--bustoolsoptions will have to be set appropriately when runningreforcount. - The
--viewoption may be used to simply view what binaries (their locations and versions) will be used bykb. - The
--removeoption may be used to remove existing compiled binaries. - The
--overwriteoption may be used to overwrite existing compiled binaries. - The
kallistocompilation follows https://pachterlab.github.io/kallisto/source and has the same dependencies. - The
bustoolscompilation follows https://bustools.github.io/source and has the same dependencies. - The
--cmake-argumentsargument may be used to pass in a string of additional arguments to pass directly to thecmakecommand. For instance, to manually specify additional include directories,--cmake-arguments "-DCMAKE_CXX_FLAGS='-I /usr/include'" - Note that the compilation is performed in shared mode, which means the binary will contain links to shared libraries (i.e. not statically linked).
ref
- Added
--include-attributeand--exclude-attributeoptions which can be used to include/exclude specific GTF entries based on their attributes. The argument to these options must be in the form of akey:valuepair, wherekeyis a GTF attribute name andvalueis the value of the aforementioned attribute to include/exclude. Only one of these two options may be specified, and each option may be specified more than once. When multiple--include-attributeare provided, GTF entries that have any one of the attributes will be processed. When multiple--exclude-attributeare provided, GTF entries that have any one of the attributes will not be processed.
count
- Added
--filter-thresholdoption to specify the barcode filter threshold. This option may only be used when also providing--filter bustoolsand indicates the minimum number of times a barcode must appear to be retained from filtering. (#142) - Added
--strandoption to override automatic strandedness setting bykallisto bus. Available options areunstranded,forward, andreverse. - Changed the
transcript_idscolumn to be a semicolon-delimited string instead of a list (only applicable when--tccis provided) as a workaround for an issue with writing lists to h5ad withh5py>=3. #141 - Added
BULKandSMARTSEQ2technologies. The two technologies behave identically. The FASTQs may be provided either directly via command-line (only for multiplexed samples), in which casekbwill perform demultiplexing, or as a single batch definition text file (only for demultiplexed samples). See https://pachterlab.github.io/kallisto/manual section aboutbatch.txtfor formatting. This batch textfile may also contain remote urls to FASTQ files, which will be streamed for supported operating systems. Additionally, added--parity,--fragment-land--fragment-soptions, which may only be provided for these technologies. The first must always be provided, indicating the parity of the reads (single,paired), and the latter two may only be provided when--parity singleis also provided, specifying the mean length of the fragments and standard deviation of the fragment lengths. - DEPRECATION The
SMARTSEQtechnology has been deprecated and will be removed in the next release. Instead,SMARTSEQ2should be used. See previous point for more information. - Added
SMARTSEQ3technology. - The full binary path is used for
--dry-runinstead of an alias. - Added
--umi-geneoption, which deduplicates UMIs by gene. Can not be used with smartseq or bulk technologies. - Added
--emoption, which estimated gene abundances using the EM algorithm. Can not be used with smartseq or bulk technologies, or with--tcc. - Fixed an issue that occurs when the
-ooption tobustools countalready exists, but as a directory. For instance,counts_unfiltered/cells_x_genes. Such folders are removed before running the command. - Improved output file validation so that all expected files must exist.
- Added
--gene-namesoption, which may only be used with--h5ador-loomand not--tcc. By specifying this option, the output h5ad or loom matrix will be aggregated by gene names instead of IDs. - Added support for the following technologies:
BDWTA(BD Rhapsody),SPLIT-SEQ,Visium(10x).
v0.26.4
v0.26.3
v0.26.2
[YANKED] v0.26.1
This version has been yanked due to an issue with installation. Do not try to install this version!
General
- Added a check for whether the temporary directory exists. If it does, now prints out an error and exits. (#119)
- Logging is now handled by a specialized logger implemented in the
ngs-toolslibrary, which provides logger namespacing. - Updated supported technologies text and syntax for
kb --listso that they are more compact. Added link to the kallisto manual for custom technology definitions. - Updated citation in
info.
ref
- Fixed
--tmpoption to set the temporary directory properly (#122) - Major refactor of FASTA and GTF parsing. All relevant functions were replaced with appropriate ones from the
ngs-toolslibrary. The ones provided in this library are far more robust in dealing with GTF entries (especially missing attributes). FASTA and GTF files no longer have to be sorted nor decompressed. These all result in an approximately order-of-magnitude speedup in splitting the genomic FASTA. Additionally, more helpful error messages are printed, which should help user debuggability. - Fixed an issue where no logging messages were displayed when downloading a reference with
-d.
count
- Whitelists are now provided by the
ngs-toolslibrary.
v0.26.0
General
- Added the optional arguments
--kallistoand--bustools, which may be used to override the packaged kallisto and bustools binaries. The argument may be a command in the user's PATH, which will be expanded to the full absolute path, or an absolute/relative path to the binary (#109, thanks @apeltzer, @dpryan79, @Maarten-vd-Sande).
ref
- Any spaces in GTF groups are now removed. For instance, if a transcript has ID
TRANSCRIPT IDthen the resulting transcript sequence will be namedTRANSCRIPTID. (#97, thanks @axelalmet)
count
- Fixed an issue where converting the count matrix using
--loomand--workflow lamannowould cause an error (#91) - Fixed an issue with parsing FASTQ paths when using
-x smartseq, where the second read file would be erroneously used as the first (#114, thanks @jma1991) - Added entries to indicate the current working directory when the
kbcommand was called, along with thekallistoandbustoolsbinary paths and versions inkb_info.json.
v0.25.1
count
- Fixed
loompy does not accept empty matrices as dataerror when providing--loomwith--workflow lamanno(#91) - When using
--h5ador--loomwith-x smartseq, the output matrix has genes as columns, instead of transcripts. For genes that have multiple transcripts, the counts are added. (#93) - For
-x smartseq, it is now possible to provide a batch TSV instead of FASTQs directly. The batch TSV must contain exactly three columns: cell ID, FASTQ 1 (read 1), FASTQ 2 (read 2). - Added an error when an uneven number of FASTQs are provided for
-x smartseq(only paired-end reads are currently supported) - Turned off all logging and warning messages from
h5pyandanndata.