Skip to content

Commit

Permalink
Merge pull request #65 from LeeBergstrand/update_install
Browse files Browse the repository at this point in the history
Update install for 2024
  • Loading branch information
jmtsuji authored Oct 2, 2024
2 parents 7a57b1b + daca3e7 commit d690a12
Show file tree
Hide file tree
Showing 11 changed files with 30 additions and 34 deletions.
11 changes: 5 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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
Expand All @@ -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
Expand Down
6 changes: 3 additions & 3 deletions backblast
Original file line number Diff line number Diff line change
@@ -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"
Expand Down
26 changes: 12 additions & 14 deletions envs/conda_requirements.yaml → environment.yml
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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
3 changes: 1 addition & 2 deletions envs/gtotree.yaml → envs/gtotree.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,5 @@ channels:
- conda-forge
- bioconda
- astrobiomike
- defaults
dependencies:
- gtotree=1.7
- gtotree=1.8.7
2 changes: 1 addition & 1 deletion scripts/combine_tables.R
Original file line number Diff line number Diff line change
@@ -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

Expand Down
4 changes: 2 additions & 2 deletions scripts/create_blank_results.py
Original file line number Diff line number Diff line change
@@ -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
Expand Down Expand Up @@ -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).''')

Expand Down
4 changes: 2 additions & 2 deletions scripts/generate_heatmap.R
Original file line number Diff line number Diff line change
@@ -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

Expand Down Expand Up @@ -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",
Expand Down
2 changes: 1 addition & 1 deletion scripts/generate_run_templates.sh
Original file line number Diff line number Diff line change
@@ -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

Expand Down
2 changes: 1 addition & 1 deletion scripts/remove_duplicates.sh
Original file line number Diff line number Diff line change
@@ -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

Expand Down
2 changes: 1 addition & 1 deletion scripts/search.py
Original file line number Diff line number Diff line change
@@ -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
Expand Down
2 changes: 1 addition & 1 deletion snakemake/Snakefile
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down

0 comments on commit d690a12

Please sign in to comment.