The Transcriptic Python Library (TxPy) is separated into two main portions: the command line interface (CLI) and the Jupyter notebook interface.
Both the CLI and the notebook interface uses the base Connection
object for making relevant application programming interface (API) calls to Transcriptic.
The Connection
object itself uses the routes
module to figure out the relevant routes and passes that onto the api
module for making these calls.
The base functionality of the CLI is handled by the cli
module which is the front-facing interface for users. The english
module provides autoprotocol parsing functionalities, and the util
module provides additional generic helper functions.
The base functionality of the notebook interface is exposed through the objects
module. Additional analysis of these objects is provided through the analysis
module. In general, html representations should be provided as much as possible.
For analysis purposes, we prefer using Pandas DataFrames and NumPy arrays for representing and slicing data. For plotting, matplotlib and plotly is preferred.
We use the future module to maintain Python 2/3 compatibility. As a result, all code written should be Python 2.7 and Python 3.5+ compatible.
All code written should follow the PEP8 standard
For documentation purposes, we follow NumPy style doc strings
For testing purposes, we write tests in the test
folder in the pytest
format. We also use tox for automating tests.
Ensure that all tests pass when you run tox
in the main folder.