MoCA: Tool for MOtif Conservation Analysis
LICENSE
ISC
Installation
Requirements
pybedtools
biopython
pandas
scipy
statsmodels
pybigwig
seaborn
MEME==4.10.2
NOTE: MoCA also relies on fasta-shuffle-letters that was introduced in MEME 4.11.0 hence if you are using 4.10.2 make sure the fasta-shuffle-letters is the updated one.
For a sample script see travis/install_meme.sh
Using Conda
moca is most compatible with the conda environment.
$ conda config --add channels bioconda $ conda install moca
Using pip
$ pip install moca
For development
$ git clone https://github.com:saketkc/moca.git $ cd moca $ conda env create -f environment.yml python=2.7 $ source activate mocadev $ python setup.py install
Workflow
MoCA makes use of PhyloP/PhastCons/GERP scores to assess the quality of a motif, the hypothesis being a ‘true motif’ would evolve slower as compared to its surrounding(flanking sequences).
Usage
$ moca Usage: moca [OPTIONS] COMMAND [ARGS]... moca: Motif Conservation Analysis Options: --version Show the version and exit. --help Show this message and exit. Commands: find_motifs Run meme to locate motifs and create... plot Create stacked conservation plots
Motif analysis using MEME
MoCA can perform motif analysis for you given a bedfile containing ChIP-Seq peaks.
Genome builds and MEME binary locations are specified through a configuraton file. A sample configuration file is available: tests/data/application.cfg and should be self-explanatory.
moca find_motifs
$ moca find_motifs -h
Usage: moca find_motifs [OPTIONS]
Run meme to locate motifs and create conservation stacked plots
Options:
-i, --bedfile TEXT Bed file input [required]
-o, --oc TEXT Output Directory [required]
-c, --configuration TEXT Configuration file [required]
--slop-length INTEGER Flanking sequence length [required]
--flank-motif INTEGER Length of sequence flanking motif [required]
--n-motif INTEGER Number of motifs
-t, --cores INTEGER Number of parallel MEME jobs [required]
-g, -gb, --genome-build TEXT Key denoting genome build to use in
configuration file [required]
--show-progress Print progress
-h, --help Show this message and exit.
moca plot
$ moca plot -h
Usage: moca plot [OPTIONS]
Create stacked conservation plots
Options:
--meme-dir, --meme_dir TEXT MEME output directory [required]
--centrimo-dir, --centrimo_dir TEXT
Centrimo output directory [required]
--fimo-dir-sample, --fimo_dir_sample TEXT
Sample fimo.txt [required]
--fimo-dir-control, --fimo_dir_control TEXT
Control fimo.txt [required]
--name TEXT Plot title
--flank-motif INTEGER Length of sequence flanking motif
[required]
--motif INTEGER Motif number
-o, --oc TEXT Output Directory [required]
-c, --configuration TEXT Configuration file [required]
--show-progress Print progress
-g, -gb, --genome-build TEXT Key denoting genome build to use in
configuration file [required]
-h, --help Show this message and exit.
Example
Most users will require using the command line version only:
$ moca find_motifs -i encode_test_data/ENCFF002DAR.bed\
-c tests/data/application.cfg -g hg19 --show-progress
Creating plots if you already have run MEME and Centrimo:
$ moca plot -c tests/data/application.cfg -g hg19\
--meme-dir moca_output/meme_out\
--centrimo-dir moca_output/centrimo_out\
--fimo-dir-sample moca_output/meme_out/fimo_out_1\
--fimo-dir-control moca_output/meme_out/fimo_random_1\
--name ENCODEID
There is also a structured API available, however it might be missing examples and documentation at places.
API Documentation
Tests
moca is mostly extensively tested. See code-coverage.
Run tests locally
$ ./runtests.sh
Credits
This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.
History
0.4.1 (2017-02-16)
Added $delta$ options for sample vs control ttest
Removed unused requirements: ipaddress
Fixed meme runner to plot
0.3.3 (2016-10-03)
Removed pycairo dependency
0.2.9 (2016-05-31)
Do not fail silently on MEME failing
Support –cores to support parallel threads
0.2.8 (2016-05-30)
Fixed MEME pipeline missing from mocacli
0.2.7 (2016-05-30)
Fixed bug where missing wig keys were not handled in mocacli
0.2.4 (2016-05-29)
Cleaned up unused scripts under scripts directory
Add configuration file example
0.2.3 (2016-05-29)
Include package_dir in setup.py
Include requirements.txt in MANIFEST
0.2.0 (2016-05-29)
First release on PyPI.
Metadata
Release files for moca 0.4.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| moca-0.4.3.tar.gz | 45.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| moca-0.4.3-py2.py3-none-any.whl | Python 2, Python 3 | none | any | Details |
Total release size: 85.3 kB
Release files / moca-0.4.3.tar.gz
| Download URL | moca-0.4.3.tar.gz |
|---|---|
| Size | 45.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ec7a858629fe5552205cd280e77ee993a38bb065d9e5d22080099bb9b1f81f05
|
|
BLAKE2b-256 checksum How to use checksums |
4ed3fb34a619ca59fdf8d19aee79f2666941113a83ce525c1b19f7c7898faffb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / moca-0.4.3-py2.py3-none-any.whl
| Download URL | moca-0.4.3-py2.py3-none-any.whl |
|---|---|
| Size | 40.2 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
27ec158b897bceb609a31501869c7c9a174be1b75a36d7dbae3d42ca6b2d912d
|
|
BLAKE2b-256 checksum How to use checksums |
caddfdb490a7b88a77fcc78ed8b7dcdcd064728019259abc96a9b125dd917b22
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |