diff --git a/README.md b/README.md index 128520a..77c14b6 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ BackBLAST_Reciprocal_BLAST ========================== [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.3465955.svg)](https://doi.org/10.5281/zenodo.3465955) -Copyright Lee H. Bergstrand and Jackson M. Tsuji, 2022 +Copyright Lee H. Bergstrand and Jackson M. Tsuji, 2024 # Software overview (To be updated once BackBLAST2 is complete) @@ -21,8 +21,8 @@ Furthermore, `backblast` allows users to visualize the results from bidirectiona Temporary instructions while BackBLAST2 is still under development ## Dependencies -- Linux operating system (e.g., Ubuntu) -- miniconda (2 or 3) +- Linux operating system (e.g., Ubuntu) or MacOS (tested on Sonoma 14) +- miniconda or miniforge - Workflow is pretty light on RAM, CPU, and storage space, so most machines should be able to handle BackBLAST without issue. The only exception is if you create genome trees within the pipeline, in which case you'll need a fair amount of CPU and time to calculate large trees. ## Instructions @@ -33,9 +33,8 @@ git clone https://github.com/LeeBergstrand/BackBLAST_Reciprocal_BLAST.git cd BackBLAST_Reciprocal_BLAST git checkout develop # optionally go to a specific branch or version tag -# Create the conda env based on the YAML file in the repo -# It is recommended that you run this command using mamba instead of conda - conda might fail during install. -mamba env create -n backblast --file=envs/conda_requirements.yaml +# Create the conda env +conda env create -n backblast --file=environment.yml # Copy the key repo contents into a conda share folder conda activate backblast diff --git a/backblast b/backblast index 4b891d9..0630dd4 100755 --- a/backblast +++ b/backblast @@ -1,12 +1,12 @@ #!/usr/bin/env bash set -euo pipefail # BackBLAST -# Copyright Lee H. Bergstrand and Jackson M. Tsuji, 2022 +# Copyright Lee H. Bergstrand and Jackson M. Tsuji, 2024 # The entry script for running BackBLAST via command line # GLOBAL variables -readonly VERSION="2.0.0-alpha6" -readonly COPYRIGHT_YEAR="2022" +readonly VERSION="2.0.0-alpha7" +readonly COPYRIGHT_YEAR="2024" readonly SCRIPT_NAME="${0##*/}" readonly SCRIPT_DIR="$(realpath ${0%/*})" readonly UTILS_DIR="${SCRIPT_DIR}/scripts" diff --git a/envs/conda_requirements.yaml b/environment.yml similarity index 50% rename from envs/conda_requirements.yaml rename to environment.yml index 024f893..4844afb 100644 --- a/envs/conda_requirements.yaml +++ b/environment.yml @@ -1,13 +1,11 @@ channels: - conda-forge - bioconda - - r - - defaults dependencies: - - python=3.9 + - python=3.12 - snakemake=7 - - biopython>=1.76,<=1.79 - - blast>=2.9,<=2.13 + - biopython>=1.76,<=1.84 + - blast>=2.9,<=2.16 - r-base=4 - r-codetools - r-conflicted @@ -16,16 +14,16 @@ dependencies: - r-futile.logger=1.4 - r-glue=1 - r-plyr=1.8 - - r-dplyr=1.0 - - r-tibble=3.1 + - r-dplyr=1.1 + - r-tibble=3.2 - r-reshape2=1.4 - - r-rcolorbrewer=1.1_2 - - r-ggplot2=3 - - r-ape=5.6 - - r-maps=3.3 - - r-phytools>=0.6_99,<=0.7_80 + - r-rcolorbrewer=1.1_3 + - r-ggplot2=3.5 + - r-ape=5.8 + - r-maps=3.4 + - r-phytools=2 - r-tidytree=0.4 - - bioconductor-treeio=1.18 - - bioconductor-ggtree=3.2 + - bioconductor-treeio=1.26 + - bioconductor-ggtree=3.10 - r-gridextra=2.3 - r-egg=0.4 diff --git a/envs/gtotree.yaml b/envs/gtotree.yml similarity index 70% rename from envs/gtotree.yaml rename to envs/gtotree.yml index 5ca1b13..8838868 100644 --- a/envs/gtotree.yaml +++ b/envs/gtotree.yml @@ -2,6 +2,5 @@ channels: - conda-forge - bioconda - astrobiomike - - defaults dependencies: - - gtotree=1.7 + - gtotree=1.8.7 diff --git a/scripts/combine_tables.R b/scripts/combine_tables.R index 05ca812..2de3632 100755 --- a/scripts/combine_tables.R +++ b/scripts/combine_tables.R @@ -1,7 +1,7 @@ #!/usr/bin/env Rscript # combine_tables.R -# Copyright Lee H. Bergstrand and Jackson M. Tsuji, 2022 +# Copyright Lee H. Bergstrand and Jackson M. Tsuji, 2024 # Combines BLAST output (CSV) tables into a single output table with headers # Part of the BackBLAST pipeline diff --git a/scripts/create_blank_results.py b/scripts/create_blank_results.py index 7f9da63..963d82c 100755 --- a/scripts/create_blank_results.py +++ b/scripts/create_blank_results.py @@ -1,7 +1,7 @@ #!/usr/bin/env python # ----------------------------------------------------------------------------------------------------------- -# Copyright: Lee H. Bergstrand and Jackson M. Tsuji (2022) +# Copyright: Lee H. Bergstrand and Jackson M. Tsuji (2024) # Description: A simple program that takes a FASTA file query and makes a csv of blank BLAST results. Part of the BackBLAST pipeline. # # Requirements: - This script requires the Biopython module: http://biopython.org/wiki/Download @@ -107,7 +107,7 @@ def main(args): "Creates a BLAST results template based on the query_proteome " "if the input blast file is blank. " "Returns the original file if not blank. " - "Copyright Lee H. Bergstrand and Jackson M. Tsuji, 2019.") + "Copyright Lee H. Bergstrand and Jackson M. Tsuji, 2024.") parser.add_argument('-i', '--blast_results', metavar='BLAST_IN', required=True, help='''The path to CSV-format BLAST results (to be checked by this script if empty or not).''') diff --git a/scripts/generate_heatmap.R b/scripts/generate_heatmap.R index 3c8b8f9..3182d79 100755 --- a/scripts/generate_heatmap.R +++ b/scripts/generate_heatmap.R @@ -1,6 +1,6 @@ #!/usr/bin/env Rscript # generate_heatmap.R -# Copyright Lee H. Bergstrand and Jackson M. Tsuji, 2022 +# Copyright Lee H. Bergstrand and Jackson M. Tsuji, 2024 # Plots a newick treefile and BLAST table together as a phylogenetic tree and heatmap # Part of the BackBLAST pipeline @@ -530,7 +530,7 @@ main <- function(params) { if ( !interactive() ) { parser <- argparser::arg_parser( description = glue::glue("generate_heatmap.R: Binds a phylogenetic tree to a BLAST table heatmap. - Copyright Lee H. Bergstrand and Jackson M. Tsuji, 2019.")) + Copyright Lee H. Bergstrand and Jackson M. Tsuji, 2024.")) # Add required args parser <- argparser::add_argument(parser = parser, arg = "input_phylogenetic_tree_filepath", diff --git a/scripts/generate_run_templates.sh b/scripts/generate_run_templates.sh index 7f44056..7e8459c 100755 --- a/scripts/generate_run_templates.sh +++ b/scripts/generate_run_templates.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash set -euo pipefail # generate_run_templates.sh -# Copyright Lee H. Bergstrand and Jackson M. Tsuji, 2022 +# Copyright Lee H. Bergstrand and Jackson M. Tsuji, 2024 # Script for generating and manipulating BackBLAST config templates # Part of the BackBLAST pipeline diff --git a/scripts/remove_duplicates.sh b/scripts/remove_duplicates.sh index 45d9d89..b838e9c 100755 --- a/scripts/remove_duplicates.sh +++ b/scripts/remove_duplicates.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash set -euo pipefail # remove_duplicates.sh -# Copyright Lee H. Bergstrand and Jackson M. Tsuji, 2022 +# Copyright Lee H. Bergstrand and Jackson M. Tsuji, 2024 # A simple script that removes multiple hits from BackBLAST results # Part of the BackBLAST pipeline diff --git a/scripts/search.py b/scripts/search.py index c2c6b03..7d5ea0c 100755 --- a/scripts/search.py +++ b/scripts/search.py @@ -1,7 +1,7 @@ #!/usr/bin/env python # ---------------------------------------------------------------------------------------- -# Copyright: Lee H. Bergstrand (2022) +# Copyright: Lee H. Bergstrand (2024) # Description: A Biopython program that takes a list of query proteins and uses local BLASTP to search # for highly similar proteins within a local blast database (usually a local db of a target # proteome). The program then BLASTPs backwards from the found subject proteins to the query diff --git a/snakemake/Snakefile b/snakemake/Snakefile index 9c92c6d..fb40a83 100644 --- a/snakemake/Snakefile +++ b/snakemake/Snakefile @@ -126,7 +126,7 @@ if config.get("phylogenetic_tree_newick") == "subjects": output: "phylogeny/iqtree_out.treefile" conda: - "../envs/gtotree.yaml" + "../envs/gtotree.yml" log: "logging/logs/phylogeny/gtotree.log" benchmark: