Package: plastid
For documentation, seeour home pageonReadtheDocs.To run the tests, download thetest datasetand unpack it intoplastid/test.Introductionplastidis a Python library for genomic analysis – in particular,
high-throughput sequencing data – with an emphasis on simplicity for users. It
was written by Joshua Dunn inJonathan Weissman’s labatUCSF,  initially for
analysis of ribosome profiling and RNA-seq data. Versions of it have been used
in several publications.plastidintended audience includes computational and traditional
biologists, software developers, and even those who are new to sequencing
analysis. It is released under the BSD 3-Clause license.This package provides:A set of scripts that implement common sequencing analysesA set of classes for exploratory data analysis. These provide simple
and consistent interfaces for manipulating genomic features,
read alignments, and quantitative data; and readily interface with
existing scientific tools, like the SciPy stack.Script writing tools that make it easy to use the objects implemented inplastid.Extensive documentation, both in source code and atour home pageonReadtheDocs.InstallationBiocondaBiocondais a channel for the conda package manager with a focus on
bioinformatics software. Once you haveBiocondainstalled, installingplastidis as easy as running:$ conda create -n plastid plastid
$ source activate plastidThis will install all of the necessary dependencies forplastidin an
isolated environment.PyPIplastidcan be installed directly from PyPI$ pip install numpy pysam cython
$ pip install plastidIf you get any runtime warnings about numpy versions having changed, or about
a missing module in Pysam, or about some object being the wrong size, try
regenerating the included C source files from the original Cython code. To
do this type:$ pip install --upgrade  --install-option='--recythonize' plastidRunning the testsNOTE: to run the entire test suite you’ll first need to download ourtest
datasetand unpack it intoplastid/test/data.We usenoseas our test runner, and test under different versions of Python
usingtox. To completely control the environment (e.g. compilers et c), we
recommend running the tests inside the Docker container, which contains
large data files needed for the tests that aren’t packaged withplastidby
default:# build & run the Docker image from within the project folder$dockerbuild--pull-tplastid.$dockerrun-it--rmplastid# inside the container, run the tests over all default configurationsroot@plastid$toxOurtoxconfig lets developers run subsets of tests rather than the full
suite.  All positional arguments are passed through tonosetests# run all tests within the plastid.test.unit subpackageroot@plastid$toxplastid.test.unit# run tests in two filesroot@plastid$toxplastid.test.unit.genomics.readers.test_bedplastid.test.unit.util.io.test_binaryBy default,toxrecompiles all C extensions before running the tests. This
can be slow. To avoid doing that, set the environment variablePLASTID_NOREBUILDtotrue:# run unit tests without rebuilding the C extensionsroot@plastid$envPLASTID_NOREBUILD=truetoxplastid.test.unitFinally, if you only want to test in some, not all environments, you can do so
with typicaltoxsyntax:# list available test environmentsroot@plastid$tox-lpy36-pinnedpy36-latestpy39-latest# run only in 2 selected environmentsroot@plastid$tox-epy36-pinned,py39-latestplastid.test.unitLinks & helpDocumentationOur github repo