Skip to content

Commit dc06839

Browse files
committed
Release 1.2.0
1 parent f35e19a commit dc06839

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+729
-1655
lines changed

.github/workflows/build-multi-pex.yml

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,15 @@ jobs:
77
runs-on: ubuntu-latest
88
strategy:
99
matrix:
10-
python-version: [3.7]
10+
python-version: ["3.8"]
1111

1212
steps:
1313
- name: Checkout
14-
uses: actions/checkout@v2
14+
uses: actions/checkout@v3
1515
with:
1616
fetch-depth: 0
1717
- name: Set up Python ${{ matrix.python-version }}
18-
uses: actions/setup-python@v2
18+
uses: actions/setup-python@v4
1919
with:
2020
python-version: ${{ matrix.python-version }}
2121
- name: Build PEX file
@@ -28,7 +28,7 @@ jobs:
2828
- name: Create tarball
2929
run: tar -czvf elastic-blast-no-suffix.tar.gz elastic-blast elastic-blast.md5
3030
- name: Produce downloadable artifact
31-
uses: actions/upload-artifact@v2
31+
uses: actions/upload-artifact@v3
3232
with:
3333
name: elastic-blast-no-suffix
3434
path: elastic-blast-no-suffix.tar.gz
@@ -38,16 +38,16 @@ jobs:
3838
runs-on: ubuntu-latest
3939
strategy:
4040
matrix:
41-
python-version: [3.7, 3.8, 3.9]
41+
python-version: ["3.8", "3.9", "3.10"]
4242

4343
steps:
4444

4545
- name: Checkout
46-
uses: actions/checkout@v2
46+
uses: actions/checkout@v3
4747
with:
4848
fetch-depth: 0
4949
- name: Set up Python ${{ matrix.python-version }}
50-
uses: actions/setup-python@v2
50+
uses: actions/setup-python@v4
5151
with:
5252
python-version: ${{ matrix.python-version }}
5353
- name: Build PEX file
@@ -60,7 +60,7 @@ jobs:
6060
- name: Create tarball
6161
run: tar -czvf elastic-blast${{ matrix.python-version }}.tar.gz elastic-blast${{ matrix.python-version }} elastic-blast${{ matrix.python-version }}.md5
6262
- name: Produce downloadable artifact
63-
uses: actions/upload-artifact@v2
63+
uses: actions/upload-artifact@v3
6464
with:
6565
name: elastic-blast-${{ matrix.python-version }}
6666
path: elastic-blast${{ matrix.python-version }}.tar.gz
@@ -70,21 +70,21 @@ jobs:
7070
needs: [build-single, build-multiple]
7171
runs-on: ubuntu-latest
7272
steps:
73-
- uses: actions/checkout@v2
73+
- uses: actions/checkout@v3
7474
- name: Download artifacts
75-
uses: actions/download-artifact@v2
75+
uses: actions/download-artifact@v3
7676
- name: Display structure of downloaded files
7777
run: ls -lR
7878
- name: Create tarball
7979
run: |
8080
tar axvf elastic-blast-no-suffix/elastic-blast-no-suffix.tar.gz
81-
tar axvf elastic-blast-3.7/elastic-blast3.7.tar.gz
8281
tar axvf elastic-blast-3.8/elastic-blast3.8.tar.gz
8382
tar axvf elastic-blast-3.9/elastic-blast3.9.tar.gz
83+
tar axvf elastic-blast-3.10/elastic-blast3.10.tar.gz
8484
rm -fvr elastic-blast-*.tar.gz
85-
tar -czvf ~/elastic-blast.tar.gz elastic-blast elastic-blast*md5 elastic-blast3.[789]
85+
tar -czvf ~/elastic-blast.tar.gz elastic-blast elastic-blast*md5 elastic-blast3.*
8686
- name: 'Upload Artifact'
87-
uses: actions/upload-artifact@v2
87+
uses: actions/upload-artifact@v3
8888
with:
8989
name: elastic-blast
9090
path: ~/elastic-blast.tar.gz

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,3 +44,4 @@ submit-and-wait-for-results.sh
4444
aws-docker-login.txt
4545
elb-run-report.csv
4646
aws-credentials
47+
.elb-venv

CITATION.cff

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
cff-version: "1.2.0"
22
message: "If you use this software, please cite it using these metadata."
33
title: ElasticBLAST
4-
version: "1.1.0"
5-
date-released: 2023-05-11
4+
version: "1.2.0"
5+
date-released: 2023-11-27
66
license: "NCBI Public Domain"
77
repository-code: "https://github.com/ncbi/elastic-blast/"
88
url: "https://blast.ncbi.nlm.nih.gov/doc/elastic-blast/"

bin/blast-tuner.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,8 +98,10 @@ def main():
9898
if args.total_query_length:
9999
query_data = SeqData(args.total_query_length,
100100
sp.get_query_mol_type(args.program))
101+
102+
# MT mode is only used to inform selection of ElasticBLAST batch-length, memory,
103+
# and machine type as the best guess. BLAST+ selects MT mode.
101104
mt_mode = get_mt_mode(args.program, args.options, db_metadata, query_data)
102-
options += f' {mt_mode}'
103105

104106
num_cpus = get_num_cpus(cloud_provider = cloud_provider,
105107
program = args.program,

bin/elastic-blast

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ from elastic_blast.config import configure
4545
from elastic_blast.elb_config import ElasticBlastConfig
4646
from elastic_blast.constants import ElbCommand
4747
from elastic_blast.constants import ELB_DFLT_LOGLEVEL, ELB_DFLT_LOGFILE
48-
from elastic_blast.constants import CFG_CLOUD_PROVIDER, CFG_CP_GCP_PROJECT
48+
from elastic_blast.constants import CFG_BLAST_RESULTS, CFG_BLAST, ELB_GCS_PREFIX
4949

5050
DESC = r"""This application facilitates running BLAST on large amounts of query sequence data
5151
on the cloud"""
@@ -75,7 +75,8 @@ def main():
7575
cfg = configure(args)
7676
logging.info(f"ElasticBLAST {args.subcommand} {VERSION}")
7777
logging.info(f'python version: {":".join(sys.version.split())}')
78-
if CFG_CP_GCP_PROJECT in cfg[CFG_CLOUD_PROVIDER]:
78+
if CFG_BLAST_RESULTS in cfg[CFG_BLAST] and \
79+
cfg[CFG_BLAST][CFG_BLAST_RESULTS].startswith(ELB_GCS_PREFIX):
7980
check_prerequisites()
8081
else:
8182
check_auxiliary_versions()
@@ -113,8 +114,8 @@ def reject_string_with_unicode(content: str) -> None:
113114

114115

115116
def reject_cli_args_with_unicode(args: List[str]) -> None:
116-
for arg in args:
117-
reject_string_with_unicode(arg)
117+
for arg in args:
118+
reject_string_with_unicode(arg)
118119

119120

120121
def file_must_exist(path: str) -> str:

docker-blast/Dockerfile

Lines changed: 6 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -18,42 +18,26 @@
1818
#
1919
# Please cite NCBI in any work or product based on this material.
2020

21-
FROM ncbi/blast:latest as blast
21+
FROM ncbi/blast:2.15.0 as blast
2222
ARG version
2323
LABEL Description="NCBI BLAST" Vendor="NCBI/NLM/NIH" Version=${version} [email protected]
2424

25-
FROM google/cloud-sdk:slim
26-
# FROM resets ARGs, thus repeated ARG instruction
27-
ARG version
28-
2925
USER root
3026
WORKDIR /root/
3127

3228
COPY requirements.txt .
33-
RUN python3 -m pip install --no-cache-dir --upgrade pip && \
34-
python3 -m pip install --no-cache-dir -r requirements.txt && \
35-
rm -frv requirements.txt
3629

3730
RUN apt-get -y -m update && \
38-
apt-get install -y libgomp1 libnet-perl libidn11 libxml-simple-perl libjson-perl perl-doc liblmdb-dev time parallel vmtouch cpanminus curl wget libio-socket-ssl-perl libhtml-parser-perl unzip && \
31+
apt-get install -y python3 python3-pip time parallel vmtouch curl wget unzip && \
3932
rm -rf /var/lib/apt/lists/*
4033

41-
RUN mkdir -p /blast/bin /blast/lib
42-
COPY --from=blast /blast/bin /blast/bin
43-
COPY --from=blast /blast/lib /blast/lib
44-
COPY --from=blast /root/edirect /root/edirect
34+
RUN python3 -m pip install --no-cache-dir --upgrade pip && \
35+
python3 -m pip install --no-cache-dir -r requirements.txt && \
36+
rm -frv requirements.txt
37+
4538
COPY splitq_download_db_search /blast/bin/
4639
RUN sed -i -e "s/\$VERSION/$version/" /blast/bin/splitq_download_db_search
4740
COPY fasta-split /blast/bin/
4841

49-
50-
RUN mkdir -p /blast/blastdb /blast/blastdb_custom
51-
RUN sed -i '$ a BLASTDB=/blast/blastdb:/blast/blastdb_custom' /etc/environment
52-
ENV BLASTDB /blast/blastdb:/blast/blastdb_custom
53-
ENV PATH="/root/edirect:/blast/bin:${PATH}"
54-
55-
56-
WORKDIR /blast
57-
5842
CMD ["/bin/bash"]
5943

docker-blast/Dockerfile-build-from-local-sources

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,6 @@ RUN apt-get -y -m update && \
5252

5353
RUN mkdir -p /blast/bin /blast/lib
5454
COPY --from=blast /blast/bin /blast/bin
55-
COPY update_blastdb.pl /blast/bin
5655
COPY --from=blast /blast/lib /blast/lib
5756
COPY --from=blast /root/edirect /root/edirect
5857
COPY splitq_download_db_search /blast/bin/

docker-blast/Makefile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ GCP_IMG?=gcr.io/ncbi-sandbox-blast/${IMG}
3030
AWS_SERVER?=public.ecr.aws/i6v3i0i9
3131
AWS_IMG?=${AWS_SERVER}/elasticblast-elb
3232
AWS_REGION?=us-east-1
33-
VERSION?=1.2.0
33+
VERSION?=1.3.1
3434

3535
ifeq (, $(shell which vmtouch 2>/dev/null))
3636
NOVMTOUCH?=--no-vmtouch
@@ -95,8 +95,8 @@ aws-check:
9595

9696
.PHONY: clean
9797
clean:
98-
-docker image rm ${IMG}:${VERSION} ${IMG}:latest
99-
${RM} -fr .env
98+
docker image rm ${IMG}:${VERSION} ${IMG}:latest || true
99+
${RM} -r .env
100100

101101
.PHONY: check
102102
check:

docker-blast/requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ awscli
22
filelock
33
boto3
44
ec2_metadata==2.4.0
5-
requests==2.25.1
5+
requests>=2.31.0

0 commit comments

Comments
 (0)