Recent Releases of pyfaidx

pyfaidx - v0.9.0.3

What's Changed

  • Keep first empty bgzf block in index. Add tests, closes #238 by @mdshw5 in https://github.com/mdshw5/pyfaidx/pull/239

This release fixes a bug in the new BGZF indexing strategy. Anyone using v0.9.0-v0.9.0.2 should upgrade. Thanks @chtsai0105!

Full Changelog: https://github.com/mdshw5/pyfaidx/compare/v0.9.0.2...v0.9.0.3

- Python
Published by mdshw5 6 months ago

pyfaidx - v0.9.0.2

What's Changed

  • Add test case for issue described in #228 by @mdshw5 in https://github.com/mdshw5/pyfaidx/pull/233
  • Work on test coverage by @mdshw5 in https://github.com/mdshw5/pyfaidx/pull/234
  • Add tests for FastaVariant and sequence masking by @mdshw5 in https://github.com/mdshw5/pyfaidx/pull/235
  • feat: Add long name support for bgzf files by @ggydush in https://github.com/mdshw5/pyfaidx/pull/237

Full Changelog: https://github.com/mdshw5/pyfaidx/compare/v0.9.0.1...v0.9.0.2

- Python
Published by mdshw5 6 months ago

pyfaidx - v0.9.0.1

What's Changed

  • feat: Add bgzip index support for fsspec objects by @ggydush in https://github.com/mdshw5/pyfaidx/pull/232

New Contributors

  • @ggydush made their first contribution in https://github.com/mdshw5/pyfaidx/pull/232

Full Changelog: https://github.com/mdshw5/pyfaidx/compare/v0.9.0...v0.9.0.1

- Python
Published by mdshw5 6 months ago

pyfaidx - v0.9.0

What's Changed

  • Detect and preserve original line terminator characters (closes #170) by @mdshw5 in https://github.com/mdshw5/pyfaidx/pull/227
  • Update test data and tests fixes #230 by @mdshw5 in https://github.com/mdshw5/pyfaidx/pull/231
  • Support for constructing and using GZI format files for BGZF compressed FASTA by @mdshw5 in https://github.com/mdshw5/pyfaidx/pull/164

Full Changelog: https://github.com/mdshw5/pyfaidx/compare/v0.8.2...v0.9.0

- Python
Published by mdshw5 6 months ago

pyfaidx - v0.8.2

What's Changed

  • fix: check for file before closing in exit by @kdm9 in https://github.com/mdshw5/pyfaidx/pull/229

New Contributors

  • @kdm9 made their first contribution in https://github.com/mdshw5/pyfaidx/pull/229

Full Changelog: https://github.com/mdshw5/pyfaidx/compare/v0.8.1.4...v0.8.2

- Python
Published by mdshw5 6 months ago

pyfaidx - v0.8.1.4

What's Changed

  • Remove Depsy from README by @mdshw5 in https://github.com/mdshw5/pyfaidx/pull/225
  • do not needlessly require importlib_metadata by @a-detiste in https://github.com/mdshw5/pyfaidx/pull/226

Full Changelog: https://github.com/mdshw5/pyfaidx/compare/v0.8.1.3...v0.8.1.4

- Python
Published by mdshw5 10 months ago

pyfaidx - v0.8.1.3

What's Changed

  • remove setuptools from runtime dependencies by @emollier in https://github.com/mdshw5/pyfaidx/pull/224

Full Changelog: https://github.com/mdshw5/pyfaidx/compare/v0.8.1.2...v0.8.1.3

- Python
Published by mdshw5 over 1 year ago

pyfaidx - v0.8.1.2

What's Changed

  • Update documentation for get_seq which uses 1-based closed intervals by @eroller in https://github.com/mdshw5/pyfaidx/pull/222
  • Add packaging library for #220 by @mdshw5 in https://github.com/mdshw5/pyfaidx/pull/223

New Contributors

  • @eroller made their first contribution in https://github.com/mdshw5/pyfaidx/pull/222

Full Changelog: https://github.com/mdshw5/pyfaidx/compare/v0.8.1.1...v0.8.1.2

- Python
Published by mdshw5 over 1 year ago

pyfaidx - v0.8.1.1

This is a minor correction to the bgzip example from #216. Thanks @jmarshall!

- Python
Published by mdshw5 about 2 years ago

pyfaidx - v0.8.1

What's Changed

  • Better message about bgzip compression errors: Update init.py by @rraadd88 in https://github.com/mdshw5/pyfaidx/pull/216

New Contributors

  • @rraadd88 made their first contribution in https://github.com/mdshw5/pyfaidx/pull/216

Full Changelog: https://github.com/mdshw5/pyfaidx/compare/v0.8.0...v0.8.1

- Python
Published by mdshw5 about 2 years ago

pyfaidx - v0.8.0

What's Changed

  • remove old Python 2 hybridation by @a-detiste in https://github.com/mdshw5/pyfaidx/pull/215
  • This release drops support for Python 2. If you need to use this module with a Python 2 interpreter, please use a version from 0.7 or earlier!

New Contributors

  • @a-detiste made their first contribution in https://github.com/mdshw5/pyfaidx/pull/215

Full Changelog: https://github.com/mdshw5/pyfaidx/compare/v0.7.2.2...v0.8.0

- Python
Published by mdshw5 about 2 years ago

pyfaidx - v0.7.2.2

What's Changed

  • Update codecov action by @mdshw5 in https://github.com/mdshw5/pyfaidx/pull/210
  • Replace usage of pkg_resources API by @mdshw5 in https://github.com/mdshw5/pyfaidx/pull/213

Full Changelog: https://github.com/mdshw5/pyfaidx/compare/v0.7.2.1...v0.7.2.2

- Python
Published by mdshw5 over 2 years ago

pyfaidx - v0.7.2.1

What's Changed

  • missing setuptools dependency in v0.7.2 by @mdshw5 in https://github.com/mdshw5/pyfaidx/pull/207

Full Changelog: https://github.com/mdshw5/pyfaidx/compare/v0.7.2...v0.7.2.1

- Python
Published by mdshw5 about 3 years ago

pyfaidx - v0.7.2

What's Changed

  • Add use case for indexing FASTA with suppressed output by @mdshw5 in https://github.com/mdshw5/pyfaidx/pull/198
  • Update python versions in CI by @mdshw5 in https://github.com/mdshw5/pyfaidx/pull/197
  • fix bgzf test failure with biopython 1.80 by @emollier in https://github.com/mdshw5/pyfaidx/pull/199
  • Switch to pyproject.toml by @marcelm in https://github.com/mdshw5/pyfaidx/pull/200
  • fix ResourceWarning: unclosed file by @siebrenf in https://github.com/mdshw5/pyfaidx/pull/202
  • Move the --invert-match example to the top by @mdshw5 in https://github.com/mdshw5/pyfaidx/pull/204
  • 'Sequence.gc' Method for IUPAC bases by @Bardia-Masudy in https://github.com/mdshw5/pyfaidx/pull/205

New Contributors

  • @emollier made their first contribution in https://github.com/mdshw5/pyfaidx/pull/199
  • @siebrenf made their first contribution in https://github.com/mdshw5/pyfaidx/pull/202
  • @Bardia-Masudy made their first contribution in https://github.com/mdshw5/pyfaidx/pull/205

Full Changelog: https://github.com/mdshw5/pyfaidx/compare/v0.7.1...v0.7.2

- Python
Published by mdshw5 about 3 years ago

pyfaidx - v0.7.1

What's Changed

  • pathlib.Path can be passed to Fasta and Faidx by @palao in https://github.com/mdshw5/pyfaidx/pull/184
  • Bump minimum python to 3.7 by @mdshw5 in https://github.com/mdshw5/pyfaidx/pull/195
  • fix: remove seemingly superfluous import of pysam by @johanneskoester in https://github.com/mdshw5/pyfaidx/pull/194
  • Merge changes from #184 to release by @mdshw5 in https://github.com/mdshw5/pyfaidx/pull/196

New Contributors

  • @palao made their first contribution in https://github.com/mdshw5/pyfaidx/pull/184
  • @johanneskoester made their first contribution in https://github.com/mdshw5/pyfaidx/pull/194

Full Changelog: https://github.com/mdshw5/pyfaidx/compare/v0.7.0...v0.7.1

- Python
Published by mdshw5 over 3 years ago

pyfaidx - v0.7.0

What's Changed

  • Add acidbio/bed tests by @mdshw5 in https://github.com/mdshw5/pyfaidx/pull/188
  • Minor change in pytest xfail usage in tests by @ap-- in https://github.com/mdshw5/pyfaidx/pull/191
  • Add fsspec support by @ap-- in https://github.com/mdshw5/pyfaidx/pull/190
  • Implement fsspec handling for indexname by @ap-- in https://github.com/mdshw5/pyfaidx/pull/193

New Contributors

  • @ap-- made their first contribution in https://github.com/mdshw5/pyfaidx/pull/191

Full Changelog: https://github.com/mdshw5/pyfaidx/compare/v0.6.4...v0.7.0

- Python
Published by mdshw5 over 3 years ago

pyfaidx - v0.6.4

  • Migrated test suite from nose to pytest
  • Removed some deprecated function calls (#185)
  • Added support for pathlib.Path (#184)

- Python
Published by mdshw5 about 4 years ago

pyfaidx - v0.6.3.1

  • Removes large test data accidentally added in last release

- Python
Published by mdshw5 over 4 years ago

pyfaidx - v0.6.3

  • FastaVariant raises an exception when the requested sequence is not present in both the FASTA and VCF file (#180) (Thanks @lldelisle!)

- Python
Published by mdshw5 over 4 years ago

pyfaidx - v0.6.2

  • Fixed reverse and complement cli parameters to also work with sequence transformation (#178)

- Python
Published by mdshw5 over 4 years ago

pyfaidx - v0.6.1

  • Add better documentation in help text #177

- Python
Published by mdshw5 over 4 years ago

pyfaidx - v0.6.0

  • Make index creation atomic #174 (thanks @marco-mariotti)

- Python
Published by mdshw5 over 4 years ago

pyfaidx - v0.5.9.5

This is a small bug fix for #172, and allows proper counting of all IUPAC bases when using faidx --transform nucleotide.

- Python
Published by mdshw5 almost 5 years ago

pyfaidx - v0.5.9.2

This release fixes a bug encountered when retrieving sequence from FASTA files with "Windows" line endings ("/r/n") #141. Thanks @andrewhill157. There is no need to re-index files.

- Python
Published by mdshw5 about 5 years ago

pyfaidx - v0.5.9.1

  • Refactored FAI writing to account for system locale setting (#166) @folded

- Python
Published by mdshw5 over 5 years ago

pyfaidx - v0.5.9

  • more efficient iterator method for Fasta objects in #163 (thanks @C-nit)

- Python
Published by mdshw5 over 5 years ago

pyfaidx - v0.5.8

  • Implemented Fasta.__len__ (#157)
  • Sequence instances can now be compared against strings (#158 thanks @Maarten-vd-Sande)

- Python
Published by mdshw5 about 6 years ago

pyfaidx - v0.5.7

  • Fasta instances now have dictionary methods: Fasta.keys returns sequence names, Fasta.values returns FastaRecord instances, and Fasta.items returns a tuple of (key, value) pairs. #156 (thanks @Maarten-vd-Sande)

- Python
Published by mdshw5 about 6 years ago

pyfaidx - v0.5.6

  • Support for returning zero-length sequences (#155 and #93 see example below) (thanks @prihoda!)

```

from pyfaidx import Fasta fasta = Fasta('data/genes.fasta', strict_bounds=True) len(fasta['gi|557361099|gb|KF435150.1|'][100:100] == 0 True ```

- Python
Published by mdshw5 about 6 years ago

pyfaidx - v0.5.5.2

  • minor bug fix release adding support for python 3.7 (#145)

- Python
Published by mdshw5 over 7 years ago

pyfaidx - v0.5.5.1

  • Added better exceptions for files that do not contain any valid sequences (#144)

- Python
Published by mdshw5 over 7 years ago

pyfaidx - v0.5.5

  • Added proper BGZF support, fixing #131. Note: this fix requires code present in Biopython 1.73, which is not yet released. If you need this functionality in the mean time, install the biopython development version
  • Enhancement to faidx script: allow -v to be specified alongside -g (#142). Thanks @daler!

- Python
Published by mdshw5 over 7 years ago

pyfaidx - v0.5.4.2

  • Fixes #141, adding support for FASTA files containing carriage returns (Windows formatted files)

- Python
Published by mdshw5 over 7 years ago

pyfaidx - v0.5.4.1

  • Fixes #140 by changing the --default-seq argument in the faidx script to default to None

- Python
Published by mdshw5 over 7 years ago

pyfaidx - v0.5.4

This release adds a numpy array interface for FastaRecord objects (see #139).

- Python
Published by mdshw5 almost 8 years ago

pyfaidx - v0.5.3.1

This is a bug fix release to properly support changes in #134 and PR in #138.

- Python
Published by mdshw5 about 8 years ago

pyfaidx - v0.5.3

  • Added build_index argument for Faidx and Fasta (#134)
  • Raise IndexNotFoundError and FastaNotFoundError instead of IOError when files aren't readable (#134)

- Python
Published by mdshw5 about 8 years ago

pyfaidx - v0.5.2

  • Fixes an issue with faidx --transform bed which used [1, 1] coordinates and now uses (0, 1] coordinates as specified by BED

- Python
Published by mdshw5 about 8 years ago

pyfaidx - v0.5.1

  • Spliced sequence retrieval #127 (Thanks @simonvh)

- Python
Published by mdshw5 over 8 years ago

pyfaidx - v0.5.0.1

  • Removed BGZF warning (#123) since the test suite contains good coverage of this feature.

- Python
Published by mdshw5 over 8 years ago

pyfaidx - v0.5.0

  • coordinates with start > end can be auto reverse complemented using --auto-strand argument (#120)
  • --no-coords flag in faidx script suppresses "sequence:start-end" in output sequence headers (#121)
  • Sequence.long_name is deprecated in favor of Sequence.fancy_name. Sequence.longname() is now removed from the codebase after previous DeprecationWarnings.

- Python
Published by mdshw5 over 8 years ago

pyfaidx - v0.4.9.2

  • Fixed issue in key_function validation logic

- Python
Published by mdshw5 over 8 years ago

pyfaidx - v0.4.9.1

  • Faster faidx -i nucleotide code

- Python
Published by mdshw5 over 8 years ago

pyfaidx - v0.4.9

  • Support for resolving duplicate keys using duplicate_action argument to Fasta
  • Support for BGZF (block gzip compressed) FASTA files (#77) (Thanks @terrycojones!)
  • Support for numpy 32bit and 64bit integer comparisons (#114)
  • Better file locking and buffer flushing (#110)

- Python
Published by mdshw5 over 8 years ago

pyfaidx - v0.4.8.5

  • support for numpy integer types (#114)
  • key_function now applies to indexing as well as sequence retrieval (#111)
  • preliminary support for BGZF compressed files (#77) (Thanks @terrycojones)

- Python
Published by mdshw5 almost 9 years ago

pyfaidx - v0.4.8.4

  • Fasta(mutable = True) now performs synchronous writes (#110)

- Python
Published by mdshw5 almost 9 years ago

pyfaidx - v0.4.8.3

  • Sequence.longname is now Sequence.long_name to match FastaRecord.long_name (thanks @michaelbarton)
  • Sequence.longname now raises a DeprecationWarning, and will be eliminated in a future release.

- Python
Published by mdshw5 almost 9 years ago

pyfaidx - v0.4.8.2

Added faidx -e option.

- Python
Published by mdshw5 almost 9 years ago

pyfaidx - v0.4.8.1

  • Fixed unicode handling in Readme (#105)

- Python
Published by mdshw5 over 9 years ago

pyfaidx - v0.4.8

  • Includes better locking around index creation (#94, #96)
  • Fixed unicode encoding issue in setup.py (#104, #101)

- Python
Published by mdshw5 over 9 years ago

pyfaidx - v0.4.7.1

  • Fixes #79 and #80 (thanks @handstad) caused Sequence.end coordinates to be severely wrong.

- Python
Published by mdshw5 about 10 years ago

pyfaidx - v0.4.7

  • Fixes indexing for files containing blank lines between records (#83). Thanks @endrebak!

- Python
Published by mdshw5 about 10 years ago

pyfaidx - v0.4.6

  • Fixes Sequence.complement method with a more efficient implementation (#81) (@timodonnell)

- Python
Published by mdshw5 about 10 years ago

pyfaidx - v0.4.5.2

- Python
Published by mdshw5 over 10 years ago

pyfaidx - v0.4.5.1

  • Clarified license for inclusion in debian (@tillea)
  • Point release for #78

- Python
Published by mdshw5 over 10 years ago

pyfaidx - v0.4.4

  • Added --size-range option (#70)
  • Added --invert-match option

- Python
Published by mdshw5 over 10 years ago

pyfaidx - v0.4.3.1

Fixes a debugging statement I accidentally left in for release (#76)

- Python
Published by mdshw5 over 10 years ago

pyfaidx - v0.4.3

  • Fixes .complement naming behavior (#73)
  • Fixes Sequence.start and Sequence.end behavior (#74)
  • New case for raising a FastaIndexingError (#75)

- Python
Published by mdshw5 over 10 years ago

pyfaidx - v0.4.2

  • Adds support for returning uppercase sequence always (#71)

- Python
Published by mdshw5 over 10 years ago

pyfaidx - v0.4.1.1

  • faidx no longer exits when a sequence is not found. Instead a warning is produced. (#65)
  • fai index is not created if the modification time == fasta file (#66)

- Python
Published by mdshw5 almost 11 years ago

pyfaidx - v0.4.0.1

  • Fixed a bug involving whitespace in the .fai index file (#64)
  • Added more pygr compatibility (#21)
  • Documented FastaVariant class
  • Added --transform argument for faidx script (#58)
  • fai index is not created if the modification time == fasta file (#66)

- Python
Published by mdshw5 almost 11 years ago

pyfaidx - v0.3.9.1

  • New FastaVariant class for generating consensus sequences from a FASTA and taxi indexed VCF file (#59)
  • Fixed a bug in the index loading code (#62) (thanks @AlSimonsJax)
  • fai index is not created if the modification time == fasta file (#66)

- Python
Published by mdshw5 almost 11 years ago

pyfaidx - v0.3.8.1

  • --regex option for faidx script allows matching only certain records (#55)
  • filt_function argument for Faidx and Fasta allows filtering certain records based on a matching function (@jsilter)
  • fixed a bug (#56) when calling FastaRecord.long_name when using filt_function or split_char.
  • fai index is not created if the modification time == fasta file (#66)

- Python
Published by mdshw5 almost 11 years ago

pyfaidx - v0.3.7.1

  • Zero-length slices return an empty string (#53 thanks @vejnar)
  • Added FastaRecord.long_name property to extract the actual defline for a sequence from the file. (#54)
  • fai index is not created if the modification time == fasta file (#66)

- Python
Published by mdshw5 almost 11 years ago

pyfaidx - v0.3.6.1

  • Files with modification times newer than their indices are re-indexed (#50 - thanks @deannachurch)
  • Test data is now downloaded from NCBI using biopython, and unit tests are more independent (#51)
  • fai index is not created if the modification time == fasta file (#66)

- Python
Published by mdshw5 almost 11 years ago

pyfaidx - v0.3.5

New in version 0.3.5: - Fixes bug number #47, which did not allow sequences containing a lowercase "n" to be complemented (thanks @pschaughency) - Implements better error handling in #48 for sequences with invalid characters. - Added --version flag to faidx script (#42) - Now only allow integer values for read_ahead (#41)

- Python
Published by mdshw5 about 11 years ago

pyfaidx -

New in version 0.1.8: - key_function keyword argument to Fasta allows lookup based on function output

- Python
Published by mdshw5 about 11 years ago

pyfaidx -

New in version 0.1.9: - line wrapping of faidx is set based on the wrapping of the indexed fasta file - added --reverse and --complement arguments to faidx

- Python
Published by mdshw5 about 11 years ago

pyfaidx -

New in version 0.2.0: - asraw keyword arg for Faidx and Fasta allows a simple string return type - _str__ method for FastaRecord returns entire contig sequence

- Python
Published by mdshw5 about 11 years ago

pyfaidx -

New in version 0.2.1: - FastaRecord str attribute returns a string - Fasta is now an iterator

- Python
Published by mdshw5 about 11 years ago

pyfaidx -

New in version 0.2.2: - Fasta can receive the strict_bounds argument

- Python
Published by mdshw5 about 11 years ago

pyfaidx -

  • Fixed a bug affecting Python 2.6

- Python
Published by mdshw5 about 11 years ago

pyfaidx -

New in version 0.2.4: - Faidx index order is stable and non-random

- Python
Published by mdshw5 about 11 years ago

pyfaidx -

New in version 0.2.5: - Fasta and Faidx can take default-seq in addition to asraw, keyfunction, and strictbounds parameters. - Fixed issue #20 - Faidx has attribute rawindex which is a list representing the fai file. - Faidx has rebuildindex and writefai functions for building and writing raw_index to file. - Extra test cases, and test cases against Biopython SeqIO

- Python
Published by mdshw5 about 11 years ago

pyfaidx -

New in version 0.2.6: - Faidx no longer has rawindex attribute or rebuildindex method (reduce memory footprint) - Faidx index memory usage decreased by 31-40% - .fai creation is streaming, performance increase for very large indices - Possible speed regression when performing many small queries using Fasta class

- Python
Published by mdshw5 about 11 years ago

pyfaidx -

New in version 0.2.7: - Faidx and Fasta strict_bounds bounds checking logic is more correct - Fasta default-seq parameter now works - CLI script faidx now takes a BED file for fetching regions from a fasta

- Python
Published by mdshw5 about 11 years ago

pyfaidx -

  • Small internal refactoring

- Python
Published by mdshw5 about 11 years ago

pyfaidx -

New in version 0.2.9: - Added read-ahead buffer for fast sequential sequence access (#26) - Fixed a condition where as_raw parameter was not respected (#27)

- Python
Published by mdshw5 about 11 years ago

pyfaidx -

New in version 0.3.0: - FastaRecord now works as a line-based iterator (#30) - Added MutableFastaRecord class that allows same-length in-place replacement for FASTA (#29)

- Python
Published by mdshw5 about 11 years ago

pyfaidx -

New in version 0.3.1: - Fasta can now accept an integer index in addition to string keys.

- Python
Published by mdshw5 about 11 years ago

pyfaidx -

New in version 0.3.2: - Fasta getitem no longer initializes new FastaRecord classes - Faidx read_ahead attribute implementaion avoids unnecessary disk hits (#34)

- Python
Published by mdshw5 about 11 years ago

pyfaidx -

New in version 0.3.3: - --split-files option writes each returned sequence to an individual file. Names are generated based on the sequence name and region coordinates. - --stats option prints the name and sequence length for each entry, suitable for use as a UCSC-style chrom.sizes file. - Sequence longname attribute allows access to "chr:start-end (complement)" formatted names

- Python
Published by mdshw5 about 11 years ago

pyfaidx -

New in version 0.3.4: - --delimiter option for cli script and split_char argument for Fasta and Faidx

- Python
Published by mdshw5 about 11 years ago