SMBL - SnakeMake Bioinformatics Library
In case of any problem, don’t hesitate to contact me on karel.brinda@gmail.com.
Short description
SMBL is a library of some useful rules and Python functions which can be used in Snakemake (https://bitbucket.org/johanneskoester/snakemake/) pipelines. It makes possible to automatically install various bioinformatics programs like read mappers, read simulators, conversion tools, etc. It supports also downloading and conversion of some important references in FASTA format (e.g., human genome).
Installation / upgrade
To install SMBL, you need to have Unix-like operating system (e.g., Linux, MacOS) and Python at least 3.3. Installation / upgrade can be performed using the following command.
pip3 install --upgrade smbl
If SnakeMake has not been installed, yet, it will be installed automatically with SMBL.
The current version of SMBL from git can be installed by
pip3 install --upgrade git+git://github.com/karel-brinda/smbl
Requirements
To be able to download and install software automatically, SMBL requires the following programs to be present in you Unix system:
wget or curl
gcc 4.7+
git
make
Usage
To use SMBL, you have to import the smbl Python package and include a file with all rules using:
import smbl
include: smbl.include()
Then you can use all supported programs or data. When they appear as input of a rule, they will be downloaded or compiled.
All the programs are installed into ~/.smbl/bin/ and all FASTA files into ~/.smbl/fa/.
Programs
Program |
Variable with its filename |
Link |
|---|---|---|
art_454 |
smbl.prog.ART_454 |
http://www.niehs.nih.gov/research/resources/software/biostatistics/art/ |
art_illumina |
smbl.prog.ART_ILLUMINA |
http://www.niehs.nih.gov/research/resources/software/biostatistics/art/ |
art_solid |
smbl.prog.ART_SOLID |
http://www.niehs.nih.gov/research/resources/software/biostatistics/art/ |
bcftools |
smbl.prog.BCFTOOLS |
|
bfast |
smbl.prog.BFAST |
|
bgzip |
smbl.prog.BGZIP |
|
bowtie2 |
smbl.prog.BOWTIE2 |
|
bowtie2-build |
smbl.prog.BOWTIE2_BUILD |
|
bowtie2-inspect |
smbl.prog.BOWTIE2_INSPECT |
|
bwa |
smbl.prog.BWA |
|
curesim.jar |
smbl.prog.CURESIM |
|
curesim_eval.jar |
smbl.prog.CURESIM_EVAL |
|
deez |
smbl.prog.DEEZ |
|
drfast |
smbl.prog.DRFAST |
|
dwgsim |
smbl.prog.DWGSIM |
|
dwgsim_eval.pl |
smbl.prog.DWGSIM_EVAL |
|
freec |
smbl.prog.FREEC |
|
gem-indexer |
smbl.prog.GEM_INDEXER |
|
gem-mapper |
smbl.prog.GEM_MAPPER |
|
gem-2-sam |
smbl.prog.GEM_2_SAM |
|
gnuplot4 |
smbl.prog.GNUPLOT4 |
|
gnuplot5 |
smbl.prog.GNUPLOT5 |
|
kallisto |
smbl.prog.KALLISTO |
|
lastal |
smbl.prog.LASTAL |
|
lastdb |
smbl.prog.LASTDB |
|
mason_frag_sequencing |
smbl.prog.MASON_FRAG_SEQUENCING |
|
mason_genome |
smbl.prog.MASON_GENOME |
|
mason_materializer |
smbl.prog.MASON_MATERIALIZER |
|
mason_methylation |
smbl.prog.MASON_METHYLATION |
|
mason_simulator |
smbl.prog.MASON_SIMULATOR |
|
mason_splicing |
smbl.prog.MASON_SPLICING |
|
mason_variator |
smbl.prog.MASON_VARIATOR |
|
mrfast |
smbl.prog.MRFAST |
|
mrsfast |
smbl.prog.MRSFAST |
|
perm |
smbl.prog.PERM |
|
pbsim |
smbl.prog.PBSIM |
|
picard |
smbl.prog.PICARD |
|
sambamba |
smbl.prog.SAMBAMBA |
|
samtools |
smbl.prog.SAMTOOLS |
|
sirfast |
smbl.prog.SIRFAST |
|
storm-color |
smbl.prog.STORM_COLOR |
|
storm-nucleotide |
smbl.prog.STORM_NUCLEOTIDE |
|
tabix |
smbl.prog.TABIX |
|
twoBitToFa |
smbl.prog.TWOBITTOFA |
|
vcfutils.pl |
smbl.prog.VCFTULS |
|
wgsim |
smbl.prog.WGSIM |
|
wgsim_eval.pl |
smbl.prog.WGSIM_EVAL |
|
xs |
smbl.prog.XS |
FASTA files
FASTA file |
Variable with its filename |
|---|---|
An example small FASTA file |
smbl.fasta.EXAMPLE_1 |
An example small FASTA file |
smbl.fasta.EXAMPLE_2 |
An example small FASTA file |
smbl.fasta.EXAMPLE_3 |
Human genome HG38 (GRCh38) |
smbl.fasta.HG38, smbl.fasta.HUMAN_GRCH38 |
Mouse genome MM10 |
smbl.fasta.MOUSE_MM10 |
Chimpanzee genome PANTR04 |
smbl.fasta.CHIMP_PANTRO4 |
Example
The following example demonstrates how SMBL can be used for automatic installation of software.
Create an empty file named Snakefile with the following content:
import smbl
include: smbl.include()
rule all:
input:
smbl.prog.DWGSIM,
smbl.prog.BWA,
smbl.fasta.EXAMPLE
params:
PREF="simulated_reads",
INDEX="bwa_index"
output:
"alignment.sam"
run:
# read simulation
shell("{input[0]} -C 1 {input[2]} {params.PREF}")
# creating BWA index of the reference sequence
shell("{input[1]} index {input[2]}")
# mapping by BWA
shell("{input[1]} mem {input[2]} {params.PREF}.bfast.fastq > alignment.sam")
Run the script.
snakemake
What happens:
An example FASTA file is downloaded
DwgSim and BWA are downloaded, compiled and installed
DwgSim simulates reads from the example Fasta file
These reads are mapped back to the reference by BWA (alignment.sam is created)
Metadata
Release files for SMBL 1.4.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| SMBL-1.4.5.tar.gz | 29.6 kB | Without provenance | Details |
Release files / SMBL-1.4.5.tar.gz
| Download URL | SMBL-1.4.5.tar.gz |
|---|---|
| Size | 29.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7fb31689ac79698e73805499ed6aca816df60e5af493bcb8d2db5e8ba2e965e2
|
|
BLAKE2b-256 checksum How to use checksums |
be0146bd6efad8578ee387bed60dc05e111ae4f2b2ae7b7b45253681c486e5ff
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for SMBL 1.4.5
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.