https://github.com/cdcgov/spyne

https://github.com/cdcgov/spyne

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.9%) to scientific vocabulary

Keywords from Contributors

cdc-influenza-division genome-annotation genome-assembly influenza irma ncird-id nextflow nextflow-pipeline nf-core quality-control
Last synced: 11 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: CDCgov
  • Language: Python
  • Default Branch: prod
  • Size: 109 MB
Statistics
  • Stars: 1
  • Watchers: 4
  • Forks: 6
  • Open Issues: 3
  • Releases: 4
Created over 3 years ago · Last pushed about 1 year ago
Metadata Files
Readme

README.md

SPYNE

Command line interface (CLI) for running MIRA (an interactive dashboard for Influenza and SARS-COV-2 Spike-Gene Genome Assembly and Curation) using a Snakemake workflow.

1. Run spyne locally

(i) Clone this respitory

git clone https://github.com/CDCgov/spyne.git

(ii) Navigate to spyne folder

cd spyne

(iii) Check out single_spyne_container branch

git checkout single_spyne_container

(iv) Run the spyne workflows

NOTE: In the spyne directory, there is a MIRA.sh file that would execute the spyne workflows.

bash bash MIRA.sh -s {path to samplesheet.csv} -r <run_id> -e <experiment_type> <OPTIONAL: -p amplicon_library> <OPTIONAL: -c CLEANUP-FOOTPRINT> <OPTIONAL: -n>

Experiment type options: Flu-ONT, SC2-Spike-Only-ONT, FluIllumina, SC2-Whole-Genome-ONT, SC2-Whole-Genome-Illumina, RSV-illumina, RSV-ONT
Primer Schema options for SC2: articv3, articv4, articv4.1, articv5.3.2, qiagen, swift, swift
211206
Primer Schema options for RSV: RSVCDC8amplicon230901, donget_al

2. Run spyne with Docker

Requirements

  • Git version >= 2.21.0
  • Docker version >= 18

(i) Clone this respitory

git clone https://github.com/CDCgov/spyne.git

(ii) Navigate to spyne folder

cd spyne

(iii) Check out single_spyne_container branch

git checkout single_spyne_container

(iv) Build the spyne image

NOTE: In the spyne directory, there is a Dockerfile that contains a list of instructions on how to build and run the spyne container.

docker build -t spyne:latest .

-t: add a tag to an image such as the version of the application, e.g. spyne:v1.0.0 or spyne:latest
.: current working directory of where the Dockerfile is stored

After the build is completed, you can check if the image is built successfully

``` docker images

REPOSITORY TAG IMAGE ID CREATED SIZE spyne latest 2c22887402d3 2 hours ago 1.98GB ```

(v) Run the spyne container

docker run -v /path/to/data:/data --name spyne -t -d spyne:latest

NOTE:
- Change /path/to/data to your local directory where it contains all data files needed to feed into the spyne workflows. This directory is mounted to /data directory inside the container.

-t: allocate a pseudo-tty
-d: run the container in detached mode
-v: mount code base and data files from host directory to container directory [hostdiv]:[containerdir]. By exposing the host directory to docker container, docker will be able to access data files within that mounted directory and use it to fire up the spyne workflows.
--name: give an identity to the container

For more information about the Docker syntax, see Docker run reference

To check if the container is built successfully

``` docker container ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b37b6b19c4e8 spyne:latest "bash" 5 hours ago Up 5 hours spyne ```

(vi) Execute the spyne workflows inside the container

docker exec -w /data spyne bash MIRA.sh -s {path to samplesheet.csv} -r <run_id> -e <experiment_type> <OPTIONAL: -p amplicon_library> <OPTIONAL: -c CLEANUP-FOOTPRINT>

-w: working directory inside the container. DEFAULT: /data.
Experiment type options: Flu-ONT, SC2-Spike-Only-ONT, FluIllumina, SC2-Whole-Genome-ONT, SC2-Whole-Genome-Illumina, RSV-illumina, RSV-ONT
Primer Schema options for SC2: articv3, articv4, articv4.1, articv5.3.2, qiagen, swift, swift
211206
Primer Schema options for RSV: RSVCDC8amplicon230901, donget_al

3. Run spyne with Compose

Requirements

  • Git version >= 2.21.0
  • Docker version >= 18
  • Docker Compose Version >= 1.29

(i) Clone spyne repo

bash git clone https://github.com/CDCgov/spyne.git

(ii) Navigate to spyne folder

bash cd spyne

(iii) Check out single_spyne_container branch

git checkout single_spyne_container

(iv) Edit docker-compose.yml file in the spyne folder to link the data inputs, irma, and dais-ribosome images to run the spyne container

```bash version: "3.9"

x-irma-image: &irma-image irma_image: cdcgov/irma-dev:rsv-support

x-dais-image: &dais-image dais_image: cdcgov/dais-ribosome:v1.5.4

x-data-volume: &data-volume type: bind source: /home/snu3/irma-testings/rsv-support/FLUSC2SEQUENCING target: /data

services: spyne: container_name: spyne image: spyne:latest build: context: . dockerfile: Dockerfile args: << : [*irma-image, *dais-image] restart: always volumes: - *data-volume command: tail -f /dev/null ```

(v) Start up the spyne container

bash docker compose up -d

-d: run the container in detached mode

For more information about the docker compose syntax, see docker-compose up reference

(vi) How to run the spyne container

bash docker exec -w /data spyne bash MIRA.sh -s {path to samplesheet.csv} -r <run_id> -e <experiment_type> <OPTIONAL: -p amplicon_library> <OPTIONAL: -c CLEANUP-FOOTPRINT>

Experiment type options: Flu-ONT, SC2-Spike-Only-ONT, FluIllumina, SC2-Whole-Genome-ONT, SC2-Whole-Genome-Illumina, RSV-illumina, RSV-ONT
Primer Schema options for SC2: articv3, articv4, articv4.1, articv5.3.2, qiagen, swift, swift
211206
Primer Schema options for RSV: RSVCDC8amplicon230901, donget_al

4. Push Docker Images to a Registry

You can push docker images to a public registry of choices (e.g. DockerHub, Quay, AWS ECR, etc.). Here, we will authenticate and push spyne image to cdcgov DockerHub account.

(i) Authenticate and log into your DockerHub account

bash docker login --username <your_username> --password-stdin

--password-stdin: provide a password through STDIN. Using STDIN prevents the password from ending up in the shell's history, or log-files.

(ii) Create another tag for your image. Make sure the tag has your or your organization's account associated with it (e.g., cdcgov). This is useful if you want to tag your image with a latest tag and then another with a specific version of the image.

bash docker tag spyne:latest cdcgov/spyne:latest

Here, spyne:latest is the local image that you just built, and cdcgov/spyne:latest is an alias image of spyne:latest but with cdcgov account attached.

(iii) See a new list of available images

```bash docker images

REPOSITORY TAG IMAGE ID CREATED SIZE spyne latest d9e2578d2211 2 weeks ago 1.98GB cdcgov/spyne latest d9e2578d2211 2 weeks ago 1.98GB ```

(iv) Finally, push cdcgov/spyne:latest image to cdcgov DockerHub

docker image push cdcgov/spyne:latest


Click Here to see a list of available images of spyne on the cdcgov Dockerhub account.

Any questions or issues? Please report them on our github issues


Owner

  • Name: Centers for Disease Control and Prevention
  • Login: CDCgov
  • Kind: organization
  • Email: data@cdc.gov
  • Location: Atlanta, GA

CDC's collaborative software projects to protect America from health, safety, and security threats, both foreign and in the U.S.

GitHub Events

Total
  • Push event: 24
  • Pull request event: 8
  • Fork event: 3
  • Create event: 6
Last Year
  • Push event: 24
  • Pull request event: 8
  • Fork event: 3
  • Create event: 6

Committers

Last synced: over 1 year ago

All Time
  • Total Commits: 436
  • Total Committers: 6
  • Avg Commits per committer: 72.667
  • Development Distribution Score (DDS): 0.427
Past Year
  • Commits: 37
  • Committers: 4
  • Avg Commits per committer: 9.25
  • Development Distribution Score (DDS): 0.324
Top Committers
Name Email Commits
KristineLacek q****6@c****v 250
Ben Rambo-Martin n****0@c****v 81
Chris Gulvik c****k 66
snu3 s****3@c****v 22
U-CDC\SNU3-SU S****U@L****v 14
mandysulli x****3@c****v 3
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 1
  • Total pull requests: 36
  • Average time to close issues: about 1 hour
  • Average time to close pull requests: 23 days
  • Total issue authors: 1
  • Total pull request authors: 5
  • Average comments per issue: 2.0
  • Average comments per pull request: 0.22
  • Merged pull requests: 25
  • Bot issues: 0
  • Bot pull requests: 1
Past Year
  • Issues: 0
  • Pull requests: 11
  • Average time to close issues: N/A
  • Average time to close pull requests: 9 days
  • Issue authors: 0
  • Pull request authors: 2
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 8
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • kristinelacek (1)
Pull Request Authors
  • kristinelacek (34)
  • nbx0 (7)
  • mandysulli (3)
  • rchau88 (2)
  • dependabot[bot] (1)
Top Labels
Issue Labels
Pull Request Labels
dependencies (1)