Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
48fce09
app.py dropdown
kristinelacek Oct 18, 2024
6efd500
comma bug
kristinelacek Oct 18, 2024
1ce057c
artic dropdown
kristinelacek Nov 4, 2024
f762dec
add new AUS primers
kristinelacek Nov 29, 2024
227abe5
version update for staging
kristinelacek Feb 13, 2025
e2b391c
reconstruct image as bookworm
rchau88 Feb 19, 2025
2fab14c
fix vulnerbilities
rchau88 Feb 19, 2025
7ecec6a
Merge pull request #98 from CDCgov/fix_vulnerabilities
kristinelacek Feb 24, 2025
e1c399b
Merge pull request #99 from CDCgov/s-gene-illumina
kristinelacek Mar 25, 2025
92f80ea
s gene illumina primer arg
kristinelacek Mar 25, 2025
9902096
hyperlink FDA recs
kristinelacek Apr 21, 2025
93a99d0
pointed url to repo instead of website
nbx0 May 16, 2025
1bfd519
added CVV reference table
nbx0 May 16, 2025
eb1417e
init podman desktop docs
nbx0 May 16, 2025
49d0801
podman docs
nbx0 May 16, 2025
f82daf0
menu updates
nbx0 May 16, 2025
b6f75f6
Update DESCRIPTION
rchau88 May 19, 2025
67d4a06
documentation for CVVs and new SC2 primer scheme
kristinelacek May 28, 2025
3b3d39b
comma error
kristinelacek Jun 4, 2025
339edf6
Merge pull request #101 from CDCgov/expand-dais-refs
kristinelacek Jun 5, 2025
d3073ca
release notes
kristinelacek Jun 10, 2025
54d022d
typo
kristinelacek Jun 10, 2025
d356aa8
+Mandy, amend title
kristinelacek Jun 10, 2025
1558fa5
missing .
kristinelacek Jun 10, 2025
a356639
Merge pull request #100 from CDCgov/podman-docs
kristinelacek Jun 10, 2025
7d994d5
Expand upgrading MIRA page to have both container removal and re-runn…
kristinelacek Jun 12, 2025
34ab4a3
update inst.citation
kristinelacek Jun 16, 2025
b440752
Update title in mac-podman-setup.Rmd to specify "M-chip" Mac
nbx0 Jun 18, 2025
e0bcc29
Add release email for MIRA v2.1.0
nbx0 Jun 18, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ scripts/__pycache__
scripts/__pycache__/
scripts/__pycache__/*
scripts/__pycache__/muscle.cpython-37.pyc
Thumbs.db*

# ignore file extensions
*.vscode
Expand All @@ -15,6 +16,7 @@ scripts/__pycache__/muscle.cpython-37.pyc
*.Rbuildignore
*.Rproj
*.Rproj.user
*:Zone.Identifier

# ignore folders
**/.Rproj.user
Expand Down
6 changes: 3 additions & 3 deletions DESCRIPTION
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
Package: MIRA
Type: Package
Title: Portable, Interactive Application for High-Quality Influenza, SARS-CoV-2, & RSV Genome Assembly, Annotation, and Curation
Version: 2.0.0
Version: 2.1.0
Date: 2024-09-23
Authors@R:
c(person(given="Kristine", family="Lacek", role=c("cre", "aut"),
email="qgx6@cdc.gov", comment=c(ORCID="0000-0002-6247-5082")),
person(given="Amanda", family="Sullivan", role=c("aut"),
email="xpa3@cdc.gov", comment=c(ORCID="0000-0003-2007-4210")),
person(given="Reina", family="Chau", role=c("aut"),
email="snu3@cdc.gov", comment=c(ORCID="0000-0003-3012-1404")),
person(given="Amanda", family="Sullivan", role=c("aut"),
email="xpa3@cdc.gov", comment=c(ORCID="0000-0003-2007-4210")),
person(given="Ben", family="Rambo-Martin", role=c("led", "aut"),
email="nbx0@cdc.gov", comment=c(ORCID="0000-0002-8591-3954"))
)
Expand Down
47 changes: 39 additions & 8 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,7 @@ RUN if [ -n "$APT_MIRROR_NAME" ]; then sed -i.bak -E '/security/! s^https?://.+?
# Install and update system libraries of general use
RUN apt-get update --allow-releaseinfo-change --fix-missing \
&& apt-get install --no-install-recommends -y \
build-essential \
iptables \
python3.7 \
python3-pip \
python3-setuptools \
vim \
dos2unix

# Create a working directory variable
Expand All @@ -41,11 +37,46 @@ COPY . ${MIRA_PROGRAM_DIR}

############# Install python packages ##################

# Copy python requirements file to docker images
# Copy all files to docker images
COPY requirements.txt ${MIRA_PROGRAM_DIR}/requirements.txt

# Install python requirements
RUN pip3 install --no-cache-dir -r ${MIRA_PROGRAM_DIR}/requirements.txt
# Update pip and setuptools and then install python packages
RUN pip install --no-cache-dir --upgrade pip \
&& pip install --no-cache-dir -r ${MIRA_PROGRAM_DIR}/requirements.txt

############# Fix vulnerablities pkgs ##################

# Copy all files to docker images
COPY fixed_vulnerability_pkgs.txt ${MIRA_PROGRAM_DIR}/fixed_vulnerability_pkgs.txt

# Copy all files to docker images
Copy link

Copilot AI Jun 4, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] The repeated comments and individual COPY/RUN blocks increase layer count; consider combining related steps into fewer RUN/COPY instructions to optimize the image.

Copilot uses AI. Check for mistakes.
COPY fixed_vulnerability_pkgs.sh ${MIRA_PROGRAM_DIR}/fixed_vulnerability_pkgs.sh

# Convert bash script from Windows style line endings to Unix-like control characters
RUN dos2unix ${MIRA_PROGRAM_DIR}/fixed_vulnerability_pkgs.sh

# Allow permission to excute the bash script
RUN chmod a+x ${MIRA_PROGRAM_DIR}/fixed_vulnerability_pkgs.sh

# Execute bash script to wget the file and tar the package
RUN bash ${MIRA_PROGRAM_DIR}/fixed_vulnerability_pkgs.sh

############# Remove vulnerability pkgs ##################

# Copy all files to docker images
COPY remove_vulnerability_pkgs.txt ${MIRA_PROGRAM_DIR}/remove_vulnerability_pkgs.txt

# Copy all files to docker images
COPY remove_vulnerability_pkgs.sh ${MIRA_PROGRAM_DIR}/remove_vulnerability_pkgs.sh

# Convert bash script from Windows style line endings to Unix-like control characters
RUN dos2unix ${MIRA_PROGRAM_DIR}/remove_vulnerability_pkgs.sh

# Allow permission to excute the bash script
RUN chmod a+x ${MIRA_PROGRAM_DIR}/remove_vulnerability_pkgs.sh

# Execute bash script to wget the file and tar the package
RUN bash ${MIRA_PROGRAM_DIR}/remove_vulnerability_pkgs.sh

############# Launch MIRA dashboard ##################

Expand Down
9 changes: 8 additions & 1 deletion NEWS.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,16 @@

# MIRA 2.0.0
# MIRA 2.1.0

* Github Repo: https://github.com/CDCgov/MIRA
* Documentation: https://cdcgov.github.io/MIRA

### v2.1.0
- Artic RSV primers added
- VIDRL RSV primers added
- Containers rebuilt without vulnerability CVEs
- S-gene Illumina module added
- Influenza AA variants called againt updated [seasonal references](https://www.who.int/publications/m/item/recommended-composition-of-influenza-virus-vaccines-for-use-in-the-2025-2026-nh-influenza-season) and [zoonotic cvvs](https://aspr.hhs.gov/legal/Pandemic-Influenza-Strategy/Pages/Objective-1.aspx)

### v2.0.0
- Single container distribution (previously 4 docker images)
- RSV Illumina module
Expand Down
13 changes: 8 additions & 5 deletions _pkgdown.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
url: https://cdcgov.github.io/MIRA/
url: https://github.com/CDCgov/MIRA #https://cdcgov.github.io/MIRA/

template:
bootstrap: 5
Expand All @@ -11,10 +11,11 @@ authors:
href: https://github.com/nbx0
Kristine Lacek:
href: https://github.com/kristinelacek
Reina Chau:
href: https://github.com/rchau88
Amanda Sullivan:
href: https://github.com/mandysulli
Reina Chau:
href: https://github.com/rchau88


news:
one_page: false
Expand All @@ -38,10 +39,12 @@ navbar:
icon: fa-home
href: index.html
mira_desktop:
text: "MIRA in Docker Desktop"
text: "MIRA in Docker|Podman Desktop"
menu:
- text: Getting Started and Installation
- text: Getting Started and Installation with Docker
href: articles/mira-dd-getting-started.html
- text: Getting Started and Installation with Podman
href: articles/mac-podman-setup.html
- text: Running Genome Assembly with MIRA -- NANOPORE DATA
href: articles/running-mira-dd-ont.html
- text: Running Genome Assembly with MIRA -- ILLUMINA DATA
Expand Down
18 changes: 15 additions & 3 deletions app.py
Original file line number Diff line number Diff line change
Expand Up @@ -460,6 +460,8 @@ def run_snake_script_onClick(
docker_cmd += f"-p {Amplicon_Library_SC2} "
elif "rsv-illumina" in experiment_type.lower():
docker_cmd += f"-p {Amplicon_Library_RSV} "
elif "sc2-spike-only-illumina" in experiment_type.lower():
docker_cmd += f"-p s_gene "
docker_cmd += f"-c CLEANUP-FOOTPRINT"
print(f'launching docker_cmd == "{docker_cmd}"\n\n')
subprocess.Popen(docker_cmd.split(), close_fds=True)
Expand Down Expand Up @@ -1055,12 +1057,13 @@ def blank_fig():
dcc.Dropdown(
[
{"label": "Flu-ONT", "value": "Flu-ONT"},
{"label": "SC2-Spike-Only-ONT", "value": "SC2-Spike-Only-ONT"},
{"label": "Flu-Illumina", "value": "Flu-Illumina"},
{"label": "SC2-Spike-Only-ONT", "value": "SC2-Spike-Only-ONT"},
{"label": "SC2-Spike-Only-Illumina", "value":"SC2-Spike-Only-Illumina"},
{"label": "SC2-Whole-Genome-ONT", "value":"SC2-Whole-Genome-ONT"},
{"label": "SC2-Whole-Genome-Illumina", "value": "SC2-Whole-Genome-Illumina"},
{"label": "RSV-Illumina", "value": "RSV-Illumina"},
{"label": "RSV-ONT", "value": "RSV-ONT",},
{"label": "RSV-ONT", "value": "RSV-ONT"},
],
id="experiment_type",
placeholder="What kind of data is this?",
Expand All @@ -1075,6 +1078,7 @@ def blank_fig():
{"label": "Artic V4", "value": "articv4"},
{"label": "Artic V4.1", "value": "articv4.1"},
{"label": "Artic V5.3.2", "value": "articv5.3.2"},
{"label": "Artic V5.4.2", "value": "articv5.4.2"},
{"label": "Qiagen QIAseq", "value": "qiagen"},
{"label": "xGen™ SARS-CoV-2 Amplicon Panel", "value": "swift"},
{
Expand All @@ -1094,8 +1098,9 @@ def blank_fig():
dcc.Dropdown(
[
{"label": "RSV CDC 8 amplicon 230901", "value": "RSV_CDC_8amplicon_230901"},
{"label": "Dong et al. 230312", "value": "dong_et_al"},
{"label": "WHO-CC Australia | 2024", "value": "australia_cc_2024"},
{"label": "Davina-Nunez et al. - WG pools", "value": "davina_nunez_wgs"},
{"label": "Artic V1", "value":"artic_v1"}
], # add handling here for no primers used
id="Amplicon_Library_RSV",
placeholder="For Illumina RSV, which primer schema was used?",
Expand Down Expand Up @@ -1306,6 +1311,13 @@ def blank_fig():
target="_blank",
), ], className="display-8")
]
+ [html.Br()]
+ [html.P( ["Influenza References and ", dcc.Link(
"Candidate Vaccine Viruses (CVVs)",
href="https://cdcgov.github.io/MIRA/articles/sequence-qc.html#amino-acid-variant-references",
target="_blank",
), ], className="display-8")
]
+ [html.Br()]
+ [dbc.Row(html.Div(id="vars_table"))]
+ [html.Br()]
Expand Down
126 changes: 126 additions & 0 deletions data/email/release_email_v2_1_0.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
Subject: e(draft) MIRA v2.1.0 Released!
Content-type: text/html
Bcc: "Ben gmail" <b.rambomartin@gmail.com>, "Ben" <nbx0@cdc.gov>, "Kristine" <qgx6@cdc.gov>
From: idseqsupport@cdc.gov

<html>

<head>
<meta charset="UTF-8">
<title>MIRA v2.1.0 Released!</title>
<style>
body {
font-family: "Segoe UI", "Roboto", "Helvetica Neue", Arial, "Liberation Sans", sans-serif;
color: #222;
background: #fff;
}

.container {
max-width: 700px;
margin: 0 auto;
background: #f1f1f1;
padding: 32px 40px;
border-radius: 10px;
border: 1px solid #e0e0e0;
}

h1 {
color: #005ea2;
font-size: 1.6em;
margin-bottom: 0.5em;
}

ul,
ol {
margin: 0 0 1em 1.5em;
}

li {
margin-bottom: 0.6em;
}

.signature {
margin-top: 2em;
}

.footer {
color: #888;
font-size: 0.95em;
margin-top: 2em;
}

.section-title {
font-weight: bold;
font-size: large;
margin-top: 1.5em;
}
</style>
</head>

<body>
<div class="container">
<img src="https://cdcgov.github.io/MIRA/logo.png" alt="MIRA Logo" style="width:200px;height:auto;">
<p>Dear MIRA users,</p>
<p>Due to your ongoing sequencing efforts, GISAID sequences assembled with MIRA now total over <b>14,000 samples
from 47 countries</b>!</p>
<h1>MIRA v2.1.0</h1>
<p>We are delighted to announce the release of <b>MIRA v2.1.0</b>! Please be sure to upgrade your installation
following these <a href="https://cdcgov.github.io/MIRA/articles/upgrading-mira-dd.html" target="_blank">these
instructions our website.</a> For Mac users who have experienced problems with Docker, we now
recommend using Podman and have <a href="https://cdcgov.github.io/MIRA/articles/mac-podman-setup.html"
target="_blank">
instructions here.</a></p>
<div class="section-title">Notable additions to this version include:</div>
<ul>
<li><b>Influenza</b>
<ul>
<li>Amino acid mutations called against <a
href="https://www.who.int/publications/m/item/recommended-composition-of-influenza-virus-vaccines-for-use-in-the-2025-2026-nh-influenza-season"
target="_blank">contemporary seasonal vaccine recommendations</a> and <a
href="https://aspr.hhs.gov/legal/Pandemic-Influenza-Strategy/Pages/Objective-1.aspx"
target="_blank">zoonotic CVVs.</a></li>
</ul>
</li>
<li><b>SARS-CoV-2</b>
<ul>
<li>SC2-Spike Illumina module</li>
<li>Artic V5.4.2 primers for SARS-CoV-2 whole genome Illumina sequencing</li>
</ul>
</li>
<li><b>RSV</b>
<ul>
<li>Artic V1.0 and updated VIDRL primers</li>
</ul>
</li>
</ul>
<div class="section-title">GISAID Submissions</div>
<p>GISAID Influenza submissions now allow you to include <b>"Assembly Method"</b> in the sample metadata, please
be
sure to denote <b>MIRA</b> here.</p>
<img
src="https://github.com/CDCgov/MIRA/blob/v2.1.0/images/gisaid_assembly_method_mira.png?raw=true" alt="Select MIRA as the assembler when submitting to GISAID" style="width:400px;height:auto;">
<p>If you are submitting MIRA sequences to GISAID and have not been receiving monthly clade and mutation reports
from us, please reply to this email.</p>
<div class="section-title">HPC Support</div>
<p>If your laboratory utilizes a High-Performance Computing Cluster (HPC), we can assist
your bioinformatics personnel with setting up <b>MIRA-NF</b>, which leverages a Nextflow framework to run MIRA
without the GUI on a computing cluster.</p>
<hr>
<p>CDC's Influenza Division remains committed to providing technical support to the laboratories that we have
trained. Thank you for your ongoing collaboration and we are eager to assist with any future questions you may
have.</p>
<hr>
<div class="signature">
Most sincerely,<br><br>
Ben, Kristine, Reina, and Mandy<br>
<span>Bioinformatics Infrastructure Activity<br>
Influenza Division<br>
United States CDC</span>
<br>
<img src="https://www.cdc.gov/TemplatePackage/5.0/img/logo/cdc-logo-tag-right.svg" alt="CDC Logo"
style="width:300px;height:auto;">
</div>
</div>
</body>

</html>
4 changes: 2 additions & 2 deletions docker-compose-cdcgov.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
version: "3.9"

x-mira-image:
&mira-image
cdcgov/mira:v2.0.0
cdcgov/mira:latest

x-data-volume:
&data-volume
Expand All @@ -19,3 +18,4 @@ services:
- 8020:8050
volumes:
- *data-volume
command: tail -f /dev/null
18 changes: 2 additions & 16 deletions docker-compose-dev.yml
Original file line number Diff line number Diff line change
@@ -1,20 +1,7 @@
version: "3.9"

x-spyne-image:
&spyne-image
spyne_image: cdcgov/spyne-dev:v2.0.0

x-mira-volume:
&mira-volume
type: bind
source: /home/snu3/Github/MIRA
target: /MIRA

x-spyne-volume:
&spyne-volume
type: bind
source: /home/snu3/Github/spyne
target: /spyne
spyne_image: spyne:latest

x-data-volume:
&data-volume
Expand All @@ -36,5 +23,4 @@ services:
- 8020:8050
volumes:
- *data-volume
- *mira-volume
- *spyne-volume
command: tail -f /dev/null
Loading