Skip to main content

Python implementation to calc mappability-sensitive cross-correlation for fragment length estimation and quality control for ChIP-Seq.

Project description

PyMaSC

PyMaSC

PyPI version PyPI pyversions

Build Check Build Check Build Check Build Check Build Check

Python implementation to calc mappability-sensitive cross-correlation for fragment length estimation and quality control for ChIP-Seq.

Visit PyMaSC web site for more information and to get human genome mappability tracks.


Introduction

To estimate mean fragment length for single-ended sequencing data, cross-correlation between positive- and negative-strand reads is commonly used. One of the problems with this approach is phantom peak, which is the occasionally observed peak corresponding to the read length. In the ChIP-Seq guidelines by ENCODE consortia, cross-correlation at fragment length and read length are used for quality control metrics. Additionally, library length itself is one of the important parameters for analysises. However, estimating correct flagment length is not a easy task because of phantom peak occurrence. P Ramachandran et al. proposed MaSC, mappability-sensitive cross-correlation to remove the bias caused from ununiformity of mappability throughout the genome. This method provides cross-correlation landscape without phantom peak and much accurate mean fragment length estimation. PyMaSC is a tool implemented by python and cython to visualize (mappability-sensitive) cross-correlation and estimate ChIP-Seq quality metrics and mean fragment length with MaSC algorithm.

Install

Python version 3.8 or higher is recommended (Python 3.8-3.13 officially supported). C compiler needs to build C sources (recommend GCC).

Install using pip

  1. numpy, pysam>=0.23.2, and pyBigWig>=0.3.18 must be installed before installing PyMaSC

    $ pip install numpy "pysam>=0.23.2" "pyBigWig>=0.3.18"

  2. Install PyMaSC from PyPI

    $ pip install pymasc

    If cython is installed, PyMaSC will be built with Cython native compiled sources instead of pre-compiled C sources.

Usage

After installation, PyMaSC provides pymasc, pymasc-precalc and pymasc-plot command. Note that pymasc-precalc is not essential to calculate mappability-sensitive cross-correlation.

pymasc command

pymasc [-h]
       [-v {DEBUG,INFO,WARNING,ERROR,CRITICAL}]
       [--disable-progress]
       [--color {TRUE,FALSE}]
       [--version]
       [-p PROCESS]
       [--successive]
       [--skip-ncc]
       [--skip-plots]
       [-r READ_LENGTH]
       [--estimation-type {MEAN,MEDIAN,MODE,MIN,MAX}]
       [-l LIBRARY_LENGTH]
       [-m REGION_FILE]
       [--mappability-stats MAPPABILITY_STATS]
       [-q MAPQ]
       [-i CHROM [CHROM ...]]
       [-e CHROM [CHROM ...]]
       [-d MAX_SHIFT]
       [--chi2-pval CHI2_PVAL]
       [-w SMOOTH_WINDOW]
       [--mask-size MASK_SIZE]
       [--bg-avr-width BG_AVR_WIDTH]
       [-n NAME [NAME ...]]
       [-o OUTDIR]
       reads [reads ...]

Usage example

Calculate only naïve cross-correlation for ENCFF000VPI.bam with max shift size = 1000. Output files are ENCFF000VPI_stats.tab, ENCFF000VPI_nreads.tab, ENCFF000VPI_cc.tab and ENCFF000VPI.pdf.

$ pymasc -d 1000 ENCFF000VPI.bam

Calculate both naïve and mappability-sensitive cross-correlation by 4 worker processes. Output ENCFF000VPI_mscc.tab Additionally.

$ pymasc -p 4 -d 1000 -m wgEncodeCrgMapabilityAlign36mer.bigWig ENCFF000VPI.bam

Main input file

SAM and BAM file format are acceptable.

  • Input alignment file must be sorted.
  • Additionally, for parallel processing, input file must be BAM format and indexed.
  • If multiple files specified, PyMaSC processes each file with common parameters.
  • Unmapped or duplicated reads will be discarded.
  • If input file contains paired-end reads, the last (second) segment read will be discarded.

Output files

General options

-v / --log-level {DEBUG,INFO,WARNING,ERROR,CRITICAL}

Set logging message level. (Default: info)

--disable-progress

Disable progress bars. Note that progress bar will be disabled automatically if stderr is not connected to terminal.

--color {TRUE,FALSE}

Switch coloring log output. (Default: auto; enable if stderr is connected to terminal)

--version

Show program's version number and exit

Processing settings

-p / --process [int]

Set number of worker process. (Default: 1) For indexed BAM file, PyMaSC parallel process each reference (chromosome).

--successive

Calc with successive algorithm instead of bitarray implementation (Default: false) Bitarray implementation is recommended in most situation. See Computation details for more information.

--skip-ncc

Both -m/--mappability and --skip-ncc specified, PyMaSC skips calculate naïve cross-correlation and calculates only mappability-sensitive cross-correlation. (Default: False)

--skip-plots

Skip output figures. (Default: False)

Input alignment file settings

-r / --read-length [int]

Specify read length explicitly. (Default: get representative by scanning) PyMaSC needs representative value of read length to plot figures and to calc mappability-sensitive cross-correlation. By default, PyMaSC scans input file read length to get representative read length. If read length is specified, PyMaSC skips this step. Note that this option must be specified to treat unseekable input (like stdin).

--readlen-estimator {MEAN,MEDIAN,MODE,MIN,MAX}

Specify how to get representative value of read length. (Default: median)

-l / --library-length

Specify expected fragment length. (Default: None) PyMaSC supplies additional NSC and RSC values calculated from this value.

Input mappability file settings

-m / --mappability [BigWig file]

Specify mappability (alignability, uniqueness) track to calculate mappability-sensitive cross-correlation. Input file must be BigWig format and each track's score should indicate mappability in [0, 1] (1 means uniquely mappable position). If BigWig file is not supplied, PyMaSC will calculate only naïve cross-correlation.

--mappability-stats [json file]

Read and save path to the json file which contains mappability region statistics. (Default: same place, same base name as the mappability BigWig file) If there is no statistics file for specified BigWig file, PyMaSC calculate total length of doubly mappable region for each shift size automatically and save them to reuse for next calculation and faster computing. pymasc-precalc performs this calculation for specified BigWig file (this is not necessary, of course).

Input file filtering arguments

-q / --mapq [int]

Input reads which mapping quality less than specified score will be discarded. (Default: 1) MAPQ >= 1 is recommended because MAPQ=0 contains multiple hit reads.

-i / --include-chrom [pattern ...]

Specify chromosomes to calculate. Unix shell-style wildcards (., *, [] and [!]) are acceptable. This option can be declared multiple times to re-include chromosomes specified in a just before -e/--exclude-chrom option. Note that this option is case-sensitive.

-e / --exclude-chrom [pattern ...]

As same as the -i/--include-chrom option, specify chromosomes to exclude from calculation. This option can be declared multiple times to re-exclude chromosomes specified in a just before -i/--include-chrom option.

Analysis Parameters

-d / --max-shift [int]

PyMaSC calculate cross-correlation with shift size from 0 to this value. (Default: 1000)

--chi2-pval [float]

P-value threshold to check strand specificity. (Default: 0.05) PyMaSC performs chi-square test between number of reads mapped to positive- and negative-strand.

-w / --smooth-window [int]

Before mean fragment length estimation, PyMaSC applies moving average filter to mappability-sensitive cross-correlation. This option specify filter's window size. (Default: 15)

--mask-size [int]

If difference between a read length and the estimated library length is equal or less than the length specified by this option, PyMaSC masks correlation coefficients in the read length +/- specified length and try to estimate mean library length again. (Default: 5, Specify < 1 to disable)

--bg-avr-width [int]

To obtain the minimum coefficients of cross-correlation, PyMaSC gets the median of the end of specified bases from calculated cross-correlation coefficients. (Default: 50bp)

Output options

-o / --outdir [path]

Specify output directory. (Default: current directory)

-n / --name [NAME...]

By default, output files are written to outdir/input_file_base_name. This option overwrite output file base name.

pymasc-precalc command

pymasc-precalc [-h]
               [-p PROCESS]
               [-v {DEBUG,INFO,WARNING,ERROR,CRITICAL}]
               [--disable-progress]
               [--color {TRUE,FALSE}]
               [--version]
               [-m REGION_FILE]
               [--mappability-stats MAPPABILITY_STATS]
               [-d MAX_SHIFT]
               [-r MAX_READLEN]

Usage example

Calculate total length of doubly mappable region. wgEncodeCrgMapabilityAlign36mer_mappability.json will be write.

$ pymasc -p 4 -r 50 -d 1000 -m wgEncodeCrgMapabilityAlign36mer.bigWig

Options

Almost same as pymasc command. Note that actual max shift size is,

  • 0 to read_length (if max_shift < read_len * 2)
  • 0 to max_shift - read_len + 1 (if max_shift => read_len * 2)

pymasc-plot command

pymasc-plot [-h]
            [-v {DEBUG,INFO,WARNING,ERROR,CRITICAL}]
            [--disable-progress]
            [--color {TRUE,FALSE}]
            [--version]
            [--stats STATS]
            [--cc CC]
            [--masc MASC]
            [--nreads NREADS]
            [-s SIZES]
            [-m MAPPABILITY_STATS]
            [-i CHROM [CHROM ...]]
            [-e CHROM [CHROM ...]]
            [--chi2-pval CHI2_PVAL]
            [-w SMOOTH_WINDOW]
            [--mask-size MASK_SIZE]
            [--bg-avr-width BG_AVR_WIDTH]
            [-l LIBRARY_LENGTH]
            [-n NAME]
            [-o OUTDIR]
            [-f [{all,stats,cc,mscc} [{all,stats,cc,mscc} ...]]]
            [statfile]

Usage example

(Re)plot figures from pymasc outputs output/ENCFF000VPI_* with the specified smoothing window size and library length. Note that you need to specify a tab delimited file or a SAM/BAM format file to obtain chromosome lengths, and/or, specify a mappability stats (JSON) file which was generated for a mappability BigWig file by PyMaSC to obtain mappable region lengths.

$ pymasc-plot -w 50 -l 250 -s ENCFF000VPI.bam output/ENCFF000VPI

Input argument

Specify a prefix to pymasc output files. For example, set output/ENCFF000VPI to plot figures from output/ENCFF000VPI_stats.tab, output/ENCFF000VPI_nreads.tab and output/ENCFF000VPI_cc.tab (and/or output/ENCFF000VPI_masc.tab). *_stats.tab and either or both of *_cc.tab and *_mscc.tab must be exist. To specify these files individually, use --stats, --nreads, --cc and --masc options.

Computation details

BitArray and successive implementation

PyMaSC provides two algorithms for calculation.

BitArray

BitArray approach is based on allocated binary arrays with length of references and computation time mostly depends on the size of reference genome and the maximum shift size. Typically (hg19, chr1), PyMaSC consumes about 250MB RAM per worker.

Successive implementation

Successive implementation is based on buffer with length of maximum shift size and calculate overwrapped bases successively while reading reads and mappable regions. Computation time mostly depends on number of reads and tracks in input files and BitArray implementation is faster in most cases. Successive approach surpasses in processing small input data, quite low memory efficiency and robustness for shift size.

References

  • Ramachandran, Parameswaran, et al. "MaSC: mappability-sensitive cross-correlation for estimating mean fragment length of single-end short-read sequencing data." Bioinformatics 29.4 (2013): 444-450.

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

pymasc-1.0.0.tar.gz (4.6 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pymasc-1.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (7.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

pymasc-1.0.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (7.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

pymasc-1.0.0-cp313-cp313-macosx_10_13_universal2.whl (5.5 MB view details)

Uploaded CPython 3.13macOS 10.13+ universal2 (ARM64, x86-64)

pymasc-1.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (7.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

pymasc-1.0.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (7.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

pymasc-1.0.0-cp312-cp312-macosx_10_13_universal2.whl (5.5 MB view details)

Uploaded CPython 3.12macOS 10.13+ universal2 (ARM64, x86-64)

pymasc-1.0.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (7.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

pymasc-1.0.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (7.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

pymasc-1.0.0-cp311-cp311-macosx_10_9_universal2.whl (5.5 MB view details)

Uploaded CPython 3.11macOS 10.9+ universal2 (ARM64, x86-64)

pymasc-1.0.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (7.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

pymasc-1.0.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (7.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

pymasc-1.0.0-cp310-cp310-macosx_10_9_universal2.whl (5.5 MB view details)

Uploaded CPython 3.10macOS 10.9+ universal2 (ARM64, x86-64)

pymasc-1.0.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (7.0 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

pymasc-1.0.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (7.0 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

pymasc-1.0.0-cp39-cp39-macosx_10_9_universal2.whl (5.5 MB view details)

Uploaded CPython 3.9macOS 10.9+ universal2 (ARM64, x86-64)

pymasc-1.0.0-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (7.1 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

pymasc-1.0.0-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (7.1 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

pymasc-1.0.0-cp38-cp38-macosx_10_9_universal2.whl (5.6 MB view details)

Uploaded CPython 3.8macOS 10.9+ universal2 (ARM64, x86-64)

File details

Details for the file pymasc-1.0.0.tar.gz.

File metadata

  • Download URL: pymasc-1.0.0.tar.gz
  • Upload date:
  • Size: 4.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for pymasc-1.0.0.tar.gz
Algorithm Hash digest
SHA256 5d1a275b2beb570ba6a1cc9de585316f53189b48013b4868e1617d454955da00
MD5 d4e4cd080a5c916eb03ef0c278f554fe
BLAKE2b-256 9a42f007c56b5fd4ced879b142f75f1269a255635f32addcf51f922351604807

See more details on using hashes here.

File details

Details for the file pymasc-1.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pymasc-1.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 28899656329a6245419cbd8b5497bf458280152d71406cf3bbf94d1d8af966a0
MD5 19d076ecd6cc202e7c755109e09f0a4e
BLAKE2b-256 1cab496f6bad23d2012e6de5423afc14fa02f84f7d36e8554d3d4d2545c4d16b

See more details on using hashes here.

File details

Details for the file pymasc-1.0.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pymasc-1.0.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 4b18545f052b18953ce97b61349373a6a4322049d89c1fb47fc0b5c88e79ba21
MD5 d6636b39dda566e5f9c76503f3e6b955
BLAKE2b-256 a5f24ec15660adb1543e9eeb8cda33789f0900454a316cbbb05707f78db2c151

See more details on using hashes here.

File details

Details for the file pymasc-1.0.0-cp313-cp313-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for pymasc-1.0.0-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 ab6970afccdef4c7156c03b316219791ddd3a003a65008ccb55c8ed0c2f2c99b
MD5 742bc2b11f99ffcecd4ddbe5f82256fc
BLAKE2b-256 6bfc458a6acd672290099d20ef8f4857acae7d8209ab1fe8262c0a1e90dc31d8

See more details on using hashes here.

File details

Details for the file pymasc-1.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pymasc-1.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5e669e312be1f1e712f0f96d0d2116e5c6ab17d3587229190a09f18090990ea3
MD5 f31a7bd63991d5af1c103174207da8ae
BLAKE2b-256 fb47b4e97c949aee4ca0c7632c35e743a5cf0d95ad78c566daf79d7b301f6507

See more details on using hashes here.

File details

Details for the file pymasc-1.0.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pymasc-1.0.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 72c693dce3bb80c8cfc8f64bce360cbfe2344fbdc7e820bea62f03c184be4168
MD5 4d47490e974113968a30d7a3650c92f3
BLAKE2b-256 f8e2aa2b2bebd3be6d00ee000ec68e5417dc6594f90ef9485debfea991e06b1f

See more details on using hashes here.

File details

Details for the file pymasc-1.0.0-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for pymasc-1.0.0-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 a20ceafc2b561f6fede5f5a7a44afb0558378c2d370d383d144abfe136b689b0
MD5 0eba759384b2d333c8e39aea2c54b3b6
BLAKE2b-256 886495547923b72b1aa0ccc40241194b9c6e2e48db560f2881c5d075411347bf

See more details on using hashes here.

File details

Details for the file pymasc-1.0.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pymasc-1.0.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 881e5051aa11fbd6576f692ba30a7160c192ee1cc4a9e83be9678670a3268a9d
MD5 0963eacfb5642f73852628569f4f1a82
BLAKE2b-256 63d1dd4e854d1c5c12ccbc6ccd070570b94439dcb39ba53f978cebb892846447

See more details on using hashes here.

File details

Details for the file pymasc-1.0.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pymasc-1.0.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 08952a688b29e6afb8716a25b069192c6a5b2be15ffcb72f91646c5f2adc8da8
MD5 f3c203be3ca5d271a750ff4761ce23bd
BLAKE2b-256 d32aa5f996b1ad7c95259e6f02e67ba58c8b65a3689fcb25385888a9809291f1

See more details on using hashes here.

File details

Details for the file pymasc-1.0.0-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for pymasc-1.0.0-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 4df9c20a080995020c8693185219002b207dad1b2f7762be3dccb81a8082696d
MD5 4003cb9bb3ca42f1f8dd54aa9c10a291
BLAKE2b-256 574b58d6c5a2ca6bc9b08da22999b0b87808a4e5ee41cefcd9ecee7bca9bac70

See more details on using hashes here.

File details

Details for the file pymasc-1.0.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pymasc-1.0.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6bb8792c3ad1f5969e24fcde204838e886a5e91ce3a9e762fab1ae9a792a8a21
MD5 6625fdf5284798315105ee6255c27b2f
BLAKE2b-256 1c6676388b783e973d41b8a527ee80650a2e25ddd80b10f1cd53c5b5e0a98d22

See more details on using hashes here.

File details

Details for the file pymasc-1.0.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pymasc-1.0.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 2bbd19ac411afcd5f9468b2d6bc2ad0be8e6a09121f882f8e4872d3d94eb90cd
MD5 594251e8354d783437fc70c42f2c61eb
BLAKE2b-256 bdcc634c6671e0adfef50241e255a03234b703a5c83ecc4d9c9dd382204a2d24

See more details on using hashes here.

File details

Details for the file pymasc-1.0.0-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for pymasc-1.0.0-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 7f72e305d25bd402c004cd92017eae30e659a40dd0c4da6076a6b26f9742bd58
MD5 c194c34ce63dcac0619ab168d299a6f1
BLAKE2b-256 996fa9282e7d3a909a141c9e79f6e743e45180e0dd3025a416c751022a6664ad

See more details on using hashes here.

File details

Details for the file pymasc-1.0.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pymasc-1.0.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4ebcf5e3c5807b9e690dba55f145f6752b0bbeb546b23595e4da3c96118f83a1
MD5 0e4583c737fae14c579212c415a7850b
BLAKE2b-256 b7930ac6a430bd96f31270715cec7d1c2e1ad5e298c06b8b357d0228f4d73327

See more details on using hashes here.

File details

Details for the file pymasc-1.0.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pymasc-1.0.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d48ba2289418157791975e65563607446766d96e338d3f34b55b6bcc6561d383
MD5 2ac76859ac4f3948d40bf0bb93a458f4
BLAKE2b-256 0588bb571ba50d378fba31db7a20d53cbe9cd08467efdd26c020b80a898db12c

See more details on using hashes here.

File details

Details for the file pymasc-1.0.0-cp39-cp39-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for pymasc-1.0.0-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 15fe0863713f4a467d418e139a15a607887de6eafde49e1cd8b0ff22441fdcac
MD5 292b3405d535c55138c4dd028c2ba53a
BLAKE2b-256 175b8ee83710d905786699266ffbb643328c64b754c5a6270b90aa25faf51458

See more details on using hashes here.

File details

Details for the file pymasc-1.0.0-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pymasc-1.0.0-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3c6c65f51ebba2e6465fecb0cd439a021a0efa10dde3357651238abd198c921b
MD5 7cfd50c765cfc5f90db15129f1302858
BLAKE2b-256 684fe315e1f0d3f3f8f2141357328ec777433c345e6cdb5e3c3e0f99ccf52b1a

See more details on using hashes here.

File details

Details for the file pymasc-1.0.0-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pymasc-1.0.0-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 0ff76b8924bb6f05c43e5d5fda99edfee78d041e6b4665c9f8fe3e19f8fbeb39
MD5 f4344a51215a94d86223c6bb9fcb682c
BLAKE2b-256 f2b483c36dfb1f3b9dc6f33e6568960330f0327cfeff97722f72479a457bd8d3

See more details on using hashes here.

File details

Details for the file pymasc-1.0.0-cp38-cp38-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for pymasc-1.0.0-cp38-cp38-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 6b6a34712874873d69cef50146a5cdcfbb730eddbd20af943507a1b4d9bdf01a
MD5 2cdc5f010021b22406f93ce22e57735a
BLAKE2b-256 4b71d28e3e60de60f834a42dc6664d42a4813014e65c589e94e9ef9fb04fa035

See more details on using hashes here.

Supported by

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