Skip to content

Releases: biologyguy/BuddySuite

BuddySuite V1.4.0

06 Dec 03:00
Compare
Choose a tag to compare

Preamble

BuddySuite had been neglected for several years... Notably, BioPython has made some fundamental changes that really broke how Sequence objects were being handled, so BuddySuite has been essentially useless for quite some time. This release has a number of non-trivial issues, but at least the tools run again.

General

  • Bash script provided to install all BuddySuite dependencies
  • Smarter/faster format guessing

SeqBuddy

New functions

  • head()
  • tail()

Upgrades

  • Change name split_by_seq_number to split_by_x_seqs
  • Change name split_by_file_number to split_by_x_files
  • Major rewrite of PrositeScan (switch to InterProScan server)
  • Performance enhancements to delete_records() and delete_repeats()
  • Performance enhancements to bl2seq

AlignBuddy

Upgrades

  • Performance enhancements to FeatureReMapper()
  • Performance enhancements to percent_id()
  • Allow positional information to be suppressed in concat_alignment()
  • Implement len

PhyloBuddy

New Functions

  • add_branch()

Upgrades

  • Added IQ-Tree support
  • Add support for FigTree
  • Implement len
  • Add support for RAxML majority rule consensus tree

BuddySuite V1.3.0

21 Dec 14:59
Compare
Choose a tag to compare

General

  • Performance scanning module developed (with thanks to Sofia Barreira @alicarea)
  • Implement --random_seed flag across the suite, allowing random components to become reproducible
  • Implement --restrict flag across the suite, allowing a function to be run on only a subset of records
  • buddy_resources.RunTime() upgraded
  • Fix several GenBank format annotation bugs
  • Handle unknown flags more gracefully and informatively
  • Better handling of error messages when piping output from one Buddy module to another
  • Completely remove the ETE3 dependency (which also removes PyQt4)
  • Letter annotations no longer cause everything to break
  • clean_regex() function added to buddy_resources, which checks that a user supplied regex is valid
  • Many unit-test updates to account for some changes in output caused by BioPython 1.69
  • TempDir() given a new copy_to() method
  • In conjunction with upcoming changes to BioPython, allow output in NEXUS-interleaved and NEXUS-sequential

SeqBuddy

New functions

  • max_records()
  • min_reocrds()
  • in_silico_digest() (with thanks to Paul Gonzalez @paulgzlz)
  • keep_taxa()
  • delete_taxa()
  • prepend_organism()
  • delete_recs_with_feature()
  • taxonomic_breakdown()
  • order_recs_by_len()
  • amend_metadata()
  • split_by_seq_number() (with thanks to Paul Gonzalez @paulgzlz)
  • split_by_file_number() (with thanks to Paul Gonzalez @paulgzlz)

Upgrades

  • Switch annotate() function default output to GenBank
  • Implement feature ranges in extract_feature_sequences
  • find_orfs() given new parameters min_size and rev_comp, and matches now numbered from large to small
  • pull_recs() allows searching in the description now
  • delete_records() allows searching in the description now
  • find_restriction_sites now handles RNA sequences and circular sequences (with thanks to Paul Gonzalez @paulgzlz)
  • Various bug fixes in BLAST-related functions, increasing stability
  • find_pattern() now returns start-end coords

AlignBuddy

New functions

  • faux_alignment()
    • Create a meaningless alignment from a collection of sequences
  • extract_feature_sequences()
  • percent_id()
  • delete_invariant_sites
  • generate_hmm()
  • position_frequency_matrix()

Upgrades

  • Update extract_regions() syntax to match that of SeqBuddy
  • New align_tool attribute added to AlignBuddy objects
  • Move MSA alias detection into buddy_resources
  • Add 'weighted' parameter to consensus_sequence() (with thanks to Paul Gonzalez @paulgzlz)

PhyloBuddy

New functions

Upgrades

  • display_trees() function now sends output to the default web browser as SVG, instead of PyQt
  • RAxML -x flag now handled for rapid bootstrapping

DatabaseBuddy

Upgrades

  • Remove all reference to GI numbers to comply with NCBI phasing them out. Everything is accession numbers now.
  • Much better handling of KeyboardInterrupt. It now behaves more like you would expect from a shell environment (instead of crashing out...)
  • Allow larger files to be downloaded from NCBI, using the rettype 'gbwithparts'
  • Allow slices of results to be displayed with show
  • Can now run without launching a live shell (do a search and return the results from bash)

BuddySuite V1.2.7

16 Jun 22:00
Compare
Choose a tag to compare

Major update to unit tests to account for changes made to BioPython 1.69 and support for Python 3.6

Minor bug fixes

  • sb.delete_records
  • sb.count_codons
  • blast commands

BuddySuite V1.2.6

11 Mar 00:05
Compare
Choose a tag to compare

DatabaseBuddy

  • Handle all KeyboardInterrupt exceptions from within the live shell, breaking to the next line instead of crashing.
  • Fix Windows pickling bug
  • Completely remove reference to NCBI GI numbers. The EUtils API is phasing out their use and causing issues, so they are no longer supported at all by DbBuddy.

SeqBuddy

  • Handle RNA sequences in find_restriction_sites()
  • Better support for per-letter annotations formats like FASTQ

General

  • Malformed regular expressions should no longer cause any module to crash. A new function was added to buddy_resources to pre-filter all regex parameters passed into the UIs.
  • Backwards compatible upgrades to br.RunTime()

BuddySuite V1.2.5

03 Feb 18:33
Compare
Choose a tag to compare
  • Fix incorrect handling of crashes when encountered in a piped workflow
  • Fix a bug introduced by br.check_garbage_flags() that prevented piping at all...

BuddySuite V1.2.4

02 Feb 22:19
Compare
Choose a tag to compare
  • Minor updates to blast related tools
  • More logical warning messages
  • Catch unrecognized flags and warn

BuddySuite V1.2.3

01 Feb 20:53
Compare
Choose a tag to compare
  • Several minor bug fixes
  • Addition of SeqRecord.annotation data in searches and record copying
  • Include new version of BLAST in unit tests
  • Create a tutorial in the wiki which includes some example data

BuddySuite V1.2.2

14 Dec 18:48
Compare
Choose a tag to compare
  • Default to genbank format in Sb.annotate()
  • Update Alb.extract_regions to match Sb.extract_regions behavior
  • Add r_seed arguments to all Sb and Alb functions that rely on Random
  • Add extract_feature_sequences to Alb
  • Allow feature ranges to be extracted with 'pattern:pattern' syntax

BuddySuite V1.2.1

16 Nov 19:42
Compare
Choose a tag to compare

Performance upgrades for Alb.enforce_triplets, Alb.bootstrap, and Sb.translate.

BuddySuite V1.2.0

01 Nov 21:21
Compare
Choose a tag to compare

General

  • Bring entire suite up to >95% unit test coverage
  • Track coverage with Coveralls
  • Use fixtures in unit test suite
  • Start monitoring the repository on Travis-CI
  • Switch to setuptools installation and PyPI distribution
  • Include a final (optional) setup script in BuddySuite.py to configure caching and config.ini
  • Move all MyFuncs.py functions to buddy_resources.py
  • Remove the '-p' flag from all modules
  • Overhaul of usage and crash traceback reporting
  • Full support for Windows
  • Support for earlier versions of Python (at least 3.3)
  • All hash_ids functions now accept seed values for reproducibility
  • Some performance upgrades by building fewer long strings with +=
  • On crash, check database of errors and report upgrades to user
  • Include files size stats in usage reports
  • Move all module specific _stderr() and _stdout functions to buddy_resources.py
  • Graceful handling of malformed user input in many functions
  • Dozens of bug fixes

SeqBuddy

New functions

  • transmembrane_domains()
    • Calls the TopCons servers and processes all returned files
  • SeqBuddy.print_hashmap()
  • SeqBuddy.reverse_hashmap()
  • prosite_scan()
    • Calls the prosite scan server and process all returned files
  • extract_feature_sequences()

Upgrades

  • Add 'ambiguous' functionality to find_patterns()
  • Allow pull_records() to read from a file
  • Support reading of SwissProt format
  • degenerate_sequence() provides list of tables when no argument passed in
  • Complete re-write of find_orf()

AlignBuddy

New functions

  • AlignBuddy.append_pos_map

Upgrades

  • Smarter handling of third-party MSA programs
  • generate_tree now accommodates multiple alignments

PhyloBuddy

New functions

  • collapse_polytomies()
  • clean_newick()

Upgrades

  • Smarter handling of third-party phylo inference programs
  • Support for RAxML bootstrap replicates

DatabaseBuddy

Upgrades

  • Major overhaul throughout the program. Much more stable now.
  • Better use of color in live shell