Skip to main content

Serpentine binning package for Hi-C contact maps

Project description

Serpentine logo

Serpentine binning

PyPI version PyPI - Python Version Build Status codecov Read the docs Binder License: Artistic-2.0 Code style: black

Locally smearing noisy regions in Hi-C contact maps as a prelude to differential analyses

Table of contents


Use it as a Python 3 library:

   import numpy as np
   import serpentine as sp

   A = np.loadtxt('./demos/A.csv')
   B = np.loadtxt('./demos/B.csv')
   trend, threshold = sp.MDbefore(A, B, show=False)

   sA, sB, sK = sp.serpentin_binning(A, B, threshold, threshold / 5)

Or as a standalone UNIX tool:

$ serpentine --help
   Serpentine binning

   An implementation of the so-called 'serpentine binning' procedure described
   in Baudry et al.

   Command line::

    Usage: [<matrixA>] [<matrixB>] [--threshold=auto] [--verbose]
                      [--min-threshold=auto] [--trend=high] [--triangular]
                      [--limit=3] [--demo] [--demo-size=500]

        matrixA                         The first input matrix, in plain text
                                        CSV format. Optional in demo mode.
        matrixB                         The second input matrix, in plain text
                                        CSV format. Optional in demo mode or
                                        single binning mode.

        -h, --help                      Display this help message.
        --version                       Display the program's current version.
        -t auto, --threshold auto       Threshold value to trigger binning.
                                        [default: auto]
        -m auto, --min-threshold auto   Minimum value to force trigger binning
                                        in either matrix. [default: auto]
        --trend high                    Trend to subtract to the differential
                                        matrix, possible values are "mean":
                                        equal amount of positive and negative
                                        differences, and "high": normalize
                                        at the regions with higher coverage.
                                        [default: high]
        --triangular                    Treat the matrix as triangular,
                                        useful when plotting matrices adjacent
                                        to the diagonal. [default: False]
        --limit 3                       Set the z-axis limit on the
                                        plot of the differential matrix.
                                        [default: 3]
        --demo                          Run a demo on randomly generated
                                        matrices. [default: False]
        --demo-size 500                 Size of the test matrix for the demo.
                                        [default: 500]
        -v, --verbose                   Show verbose output. [default: False]


   sudo pip3 install -e git+


Executing the command serpentine --help will give you a brief help of the command line tool. For a detailed reference to the python library functions, please read the documentation.


Cluster Buster (scovit, a.k.a. Vittore F. Scolari), Lyamovich (baudrly, a.k.a. Lyam Baudry)

Copyright and license

Copyright © 2017 Institut Pasteur, this software has been developed in the Regulation Spatiale des Chromosomes team of Pasteur Institut, Paris, France.

This library is free software; you can redistribute it and/or modify it under the Artistic License.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

serpentine-0.1.3.tar.gz (13.6 kB view hashes)

Uploaded source

Built Distribution

serpentine-0.1.3-py3-none-any.whl (17.4 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page