https://github.com/cdcgov/sanitizeme
Remove host contaminants from sequencing files
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 (14.3%) to scientific vocabulary
Repository
Remove host contaminants from sequencing files
Basic Info
Statistics
- Stars: 9
- Watchers: 6
- Forks: 7
- Open Issues: 0
- Releases: 0
Metadata Files
README.MD
Remove Host DNA from Reads Using Minimap2 and Samtools
SanitizeMe is a GUI application (with an equivalent CLI) that takes fastq files, and removes reads mapping to a reference file from the fastq. The most obvious use is to remove the host contaminants from DNA sequencing. The GUI version requires direct access to a linux computer or X11 forwarding (I use VcXsrv). SanitizeMePaired is the sister application (with GUI and CLI versions) that processes paired end fastq files.

Quick Installation via Conda and Usage:
SanitizeMe (and all the dependencies) can also be installed via Conda:
https://bioconda.github.io/recipes/sanitizeme/README.html
To create a new conda environment (called SanitizeMe) and install SanitizeMe into the environment:
conda create -n SanitizeMe sanitizeme -y
Activate the Conda environment using the following command:
conda activate SanitizeMe
Run the GUI version of SanitizeMe or SanitizePaired:
SanitizeMe_GUI.py
SanitizeMePaired_GUI.py
Run the CLI version of SanitizeMe or SanitizePaired to see usage:
SanitizeMe_CLI.py -h
SanitizeMePaired_CLI.py -h
Deactivate the Conda environment after you are finished (to protect the environment from clashing with other programs):
conda deactivate
Download Reference Files
The humang1kv37 reference file has been use to remove human reads from metagenomic samples. It can be downloaded from the link below:
ftp://ftp-trace.ncbi.nih.gov/1000genomes/ftp/technical/reference/humang1kv37.fasta.gz
with the following command
wget ftp://ftp-trace.ncbi.nih.gov/1000genomes/ftp/technical/reference/human_g1k_v37.fasta.gz
You can use any fasta or fasta.gz format host reference file for this tool.
Dependencies:
SanitizeMe uses Minimap2 to map to the reference sequence and samtools to pull out the reads that did not map. SanitizeMe also depends on Python 3, and the Gooey and colored modules (for the GUI interface). Everything can be install in one line using Conda as described above. SanitizeMe also includes a Conda recipe to install these environmental dependencies (Minimap2, Samtools, Python 3.6.9, and the Gooey/colored modules) in an easy and reproducible method using Miniconda/Anaconda.
A script for easy installation of Miniconda is included (install_miniconda.sh).
A script to install Miniconda, download the humang1kv37 reference file, and build the environment is also included (install_all.sh).
Install git for Debian systems using the following command (if necessary)
sudo apt update
sudo apt install git
Clone the code from repository
git clone https://github.com/jiangweiyao/SanitizeMe
Install Miniconda (if no Conda is installed on system).
Detailed instruction on the the Miniconda website for installing and configuring Miniconda: https://conda.io/projects/conda/en/latest/user-guide/install/linux.html
You can run the prepackaged script install_miniconda.sh in the repository to install into your home directory (recommended) by using the following command assuming SanitizeMe is downloaded into your home directory:
. ~/SanitizeMe/install_miniconda.sh
Install Miniconda, Download humang1kv37, and build conda environment
You can do all three things by using the following command assuming repository is downloaded into your home directory.
. ~/SanitizeMe/install_all.sh
Sample Usage.
Activating your environment makes the software you installed in that environment available for use. You will see "(SanitizeMe)" in front of bash after activation.
conda activate SanitizeMe
Run the GUI version with the following command. A folder containing test fastq files is included in the SanitizeMe/test/ directory from the repo. The humang1kv37 reference file is downloaded by the install_all.sh file. Increase or decrease the number of threads to use as well as select your long read technology. Then, hit Start to run the program.
SanitizeMe_GUI.py
Run the CLI version with the test files with the following command assuming the repo was cloned into your home directory and reference file is in the repo folder. Change as appropriate.
SanitizeMe_CLI.py -i ~/SanitizeMe/test/ -r ~/SanitizeMe/human_g1k_v37.fasta.gz -o ~/dehost_output/test_CLI
Get help for the CLI version with the following command
SanitizeMe_CLI.py -h
When you are finished running the workflow, exit out of your environment by running conda deactivate. Deactivating your environment exits out of your current environment and protects it from being modified by other programs. You can build as many environments as you want and enter and exit out of them. Each environment is separate from each other to prevent version or dependency clashes. The author recommends using Conda/Bioconda to manage your dependencies.
What the code is actually doing
A log of the commands being run are in the results directory under cmd.log. You can view what commands are being executed.
Large Reference Files
SanitizeMe uses Minimap2 as the mapper. Minimap2 requires different options for reference files that contain less than 4 gigabases vs reference files that contain more than 4 gigabases. The --LargeReference options is required for reference files greater than 4 gigabases. The human reference genome is ~ 3 gigabases, so make sure that this option is not specified (default behavior) for genomes less than 4 gigabases.
System Resource
8GB of memory is needed for the recommended human reference library. More memory will be needed if you use the Large Reference file option.
Author
Jiangwei Yao
Related Documents
Owner
- Name: Centers for Disease Control and Prevention
- Login: CDCgov
- Kind: organization
- Email: data@cdc.gov
- Location: Atlanta, GA
- Website: http://open.cdc.gov/
- Twitter: CDCgov
- Repositories: 114
- Profile: https://github.com/CDCgov
CDC's collaborative software projects to protect America from health, safety, and security threats, both foreign and in the U.S.
GitHub Events
Total
- Fork event: 3
Last Year
- Fork event: 3
Committers
Last synced: over 1 year ago
Top Committers
| Name | Commits | |
|---|---|---|
| jiangweiyao | 3****o | 16 |
| Yao | p****7@l****v | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: about 1 year ago
All Time
- Total issues: 2
- Total pull requests: 0
- Average time to close issues: about 2 months
- Average time to close pull requests: N/A
- Total issue authors: 1
- Total pull request authors: 0
- Average comments per issue: 2.5
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- tseemann (2)
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- _libgcc_mutex 0.1.*
- _openmp_mutex 4.5.*
- atk 2.32.0.*
- bzip2 1.0.8.*
- ca-certificates 2019.11.28.*
- cairo 1.16.0.*
- certifi 2019.11.28.*
- cffi 1.14.0.*
- chardet 3.0.4.*
- colored 1.3.93.*
- cryptography 2.8.*
- expat 2.2.9.*
- fontconfig 2.13.1.*
- freetype 2.10.1.*
- fribidi 1.0.9.*
- gdk-pixbuf 2.38.2.*
- gettext 0.19.8.1.*
- glib 2.58.3.*
- gobject-introspection 1.58.2.*
- gooey 1.0.3.*
- graphite2 1.3.13.*
- gst-plugins-base 1.14.5.*
- gstreamer 1.14.5.*
- gtk2 2.24.32.*
- harfbuzz 2.4.0.*
- htslib 1.10.2.*
- icu 64.2.*
- idna 2.9.*
- jpeg 9c.*
- krb5 1.16.4.*
- ld_impl_linux-64 2.34.*
- libcurl 7.68.0.*
- libdeflate 1.3.*
- libedit 3.1.20170329.*
- libffi 3.2.1.*
- libgcc-ng 9.2.0.*
- libglu 9.0.0.*
- libgomp 9.2.0.*
- libiconv 1.15.*
- libpng 1.6.37.*
- libssh2 1.8.2.*
- libstdcxx-ng 9.2.0.*
- libtiff 4.1.0.*
- libuuid 2.32.1.*
- libwebp-base 1.1.0.*
- libxcb 1.13.*
- libxml2 2.9.10.*
- lz4-c 1.8.3.*
- minimap2 2.17.*
- ncurses 6.1.*
- olefile 0.46.*
- openssl 1.1.1f.*
- pango 1.42.4.*
- pathlib2 2.3.5.*
- pcre 8.44.*
- pillow 7.0.0.*
- pip 20.0.2.*
- pixman 0.38.0.*
- psutil 5.7.0.*
- pthread-stubs 0.4.*
- pycparser 2.20.*
- pyopenssl 19.1.0.*
- pypubsub 4.0.3.*
- pysocks 1.7.1.*
- python 3.6.9.*
- python_abi 3.6.*
- readline 8.0.*
- requests 2.23.0.*
- samtools 1.10.*
- setuptools 46.1.3.*
- six 1.14.0.*
- sqlite 3.30.1.*
- tk 8.6.10.*
- urllib3 1.25.7.*
- wheel 0.34.2.*
- wxpython 4.0.7.post2.*
- xorg-kbproto 1.0.7.*
- xorg-libice 1.0.10.*
- xorg-libsm 1.2.3.*
- xorg-libx11 1.6.9.*
- xorg-libxau 1.0.9.*
- xorg-libxdmcp 1.1.3.*
- xorg-libxext 1.3.4.*
- xorg-libxrender 0.9.10.*
- xorg-renderproto 0.11.1.*
- xorg-xextproto 7.3.0.*
- xorg-xproto 7.0.31.*
- xz 5.2.4.*
- zlib 1.2.11.*
- zstd 1.4.4.*