# pairtools
[![Documentation Status](https://readthedocs.org/projects/pairtools/badge/?version=latest)](http://pairtools.readthedocs.org/en/latest/)
[![Build Status](https://travis-ci.org/mirnylab/pairtools.svg?branch=master)](https://travis-ci.org/mirnylab/pairtools)
[![Join the chat on Slack](https://img.shields.io/badge/chat-slack-%233F0F3F?logo=slack)](https://bit.ly/2UaOpAe)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.1490831.svg)](https://doi.org/10.5281/zenodo.1490831)
## Process Hi-C pairs with pairtools
`pairtools` is a simple and fast command-line framework to process sequencing
data from a Hi-C experiment.
`pairtools` process pair-end sequence alignments and perform the following
operations:
- detect ligation junctions (a.k.a. Hi-C pairs) in aligned paired-end sequences of Hi-C DNA molecules
- sort .pairs files for downstream analyses
- detect, tag and remove PCR/optical duplicates
- generate extensive statistics of Hi-C datasets
- select Hi-C pairs given flexibly defined criteria
- restore .sam alignments from Hi-C pairs
- annotate restriction digestion sites
- get the mutated positions in Hi-C pairs
To get started:
- Visit [pairtools tutorials](https://pairtools.readthedocs.io/en/latest/examples/pairtools_walkthrough.html),
- Take a look at a [quick example](https://github.com/open2c/pairtools#quick-example),
- Check out the detailed [documentation](http://pairtools.readthedocs.io).
## Data formats
`pairtools` produce and operate on tab-separated files compliant with the
[.pairs](https://github.com/4dn-dcic/pairix/blob/master/pairs_format_specification.md)
format defined by the [4D Nucleome Consortium](https://www.4dnucleome.org/). All
pairtools properly manage file headers and keep track of the data
processing history.
Additionally, `pairtools` define the [.pairsam format](https://pairtools.readthedocs.io/en/latest/formats.html#pairsam), an extension of .pairs that includes the SAM alignments
of a sequenced Hi-C molecule. .pairsam complies with the .pairs format, and can be processed by any tool that
operates on .pairs files.
`pairtools` produces a set of additional extra columns, which describe properties of alignments, phase, mutations, restriction and complex walks.
The full list of possible extra columns is provided in the [`pairtools` format specification](https://pairtools.readthedocs.io/en/latest/formats.html#extra-columns).
## Installation
Requirements:
- Python 3.x
- Python packages `cython`, `pysam`, `bioframe`, `pyyaml`, `numpy`, `scipy`, `pandas` and `click`.
- Command-line utilities `sort` (the Unix version), `samtools` and `bgzip` (shipped with `samtools`). If available, `pairtools` can compress outputs with `pbgzip` and `lz4`.
For the full list of recommended versions, see [the requirements section in the pyproject.toml](https://github.com/open2c/pairtools/blob/main/pyproject.toml).
There are three options for installing pairtools:
1. We highly recommend using the `conda` package manager to install `pairtools` together with all its dependencies. To get it, you can either install the full [Anaconda](https://www.continuum.io/downloads) Python distribution or just the standalone [conda](http://conda.pydata.org/miniconda.html) package manager.
With `conda`, you can install `pairtools` and all of its dependencies from the [bioconda](https://bioconda.github.io/index.html) channel:
```sh
$ conda install -c conda-forge -c bioconda pairtools
```
2. Alternatively, install non-Python dependencies (`sort`, `samtools`, `bgzip`, `pbgzip` and `lz4`) separately and download `pairtools` with Python dependencies from PyPI using pip:
```sh
$ pip install pairtools
```
3. Finally, when the two options above don't work or when you want to modify `pairtools`, build `pairtools` from source via pip's "editable" mode:
```sh
$ pip install numpy cython pysam
$ git clone https://github.com/open2c/pairtools
$ cd pairtools
$ pip install -e ./ --no-build-isolation
```
## Quick example
Setup a new test folder and download a small Hi-C dataset mapped to sacCer3 genome:
```bash
$ mkdir /tmp/test-pairtools
$ cd /tmp/test-pairtools
$ wget https://github.com/open2c/distiller-test-data/raw/master/bam/MATalpha_R1.bam
```
Additionally, we will need a .chromsizes file, a TAB-separated plain text table describing the names, sizes and the order of chromosomes in the genome assembly used during mapping:
```bash
$ wget https://raw.githubusercontent.com/open2c/distiller-test-data/master/genome/sacCer3.reduced.chrom.sizes
```
With `pairtools parse`, we can convert paired-end sequence alignments stored in .sam/.bam format into .pairs, a TAB-separated table of Hi-C ligation junctions:
```bash
$ pairtools parse -c sacCer3.reduced.chrom.sizes -o MATalpha_R1.pairs.gz --drop-sam MATalpha_R1.bam
```
Inspect the resulting table:
```bash
$ less MATalpha_R1.pairs.gz
```
## Pipelines
- We provide a simple working example of a mapping bash pipeline in /examples/.
- [distiller](https://github.com/open2c/distiller-nf) is a powerful
Hi-C data analysis workflow, based on `pairtools` and [nextflow](https://www.nextflow.io/).
## Tools
- `parse`: read .sam/.bam files produced by bwa and form Hi-C pairs
- form Hi-C pairs by reporting the outer-most mapped positions and the strand
on the either side of each molecule;
- report unmapped/multimapped (ambiguous alignments)/chimeric alignments as
chromosome "!", position 0, strand "-";
- perform upper-triangular flipping of the sides of Hi-C molecules
such that the first side has a lower sorting index than the second side;
- form hybrid pairsam output, where each line contains all available data
for one Hi-C molecule (outer-most mapped positions on the either side,
read ID, pair type, and .sam entries for each alignment);
- report .sam tags or mutations of the alignments;
- print the .sam header as #-comment lines at the start of the file.
- `parse2`: read .sam/.bam files with long paired-and or single-end reads and form Hi-C pairs from complex walks
- identify and rescue chrimeric alignments produced by singly-ligated Hi-C
molecules with a sequenced ligation junction on one of the sides;
- annotate chimeric alignments by restriction fragments and report true junctions and hops (One-Read-Based Interactions Annotation, ORBITA);
- perform intra-molecule deduplication of paired-end data when one side reads through the DNA on the other side of the read;
- report index of the pair in the complex walk;
- make combinatorial expansion of pairs produced from the same walk;
- `sort`: sort pairs files (the lexicographic order for chromosomes,
the numeric order for the positions, the lexicographic order for pair types).
- `merge`: merge sorted .pairs files
- merge sort .pairs;
- combine the .pairs headers from all input files;
- check that each .pairs file was mapped to the same reference genome index
(by checking the identity of the @SQ sam header lines).
- `select`: select pairs according to specified criteria
- select pairs entries according to the provided condition. A programmable
interface allows for arbitrarily complex queries on specific pair types,
chromosomes, positions, strands, read IDs (including matches to a
wildcard/regexp/list).
- optionally print the non-matching entries into a separate file.
- `dedup`: remove PCR duplicates from a sorted triu-flipped .pairs file
- remove PCR duplicates by finding pairs of entries with both sides mapped
to similar genomic locations (+/- N bp);
- optionally output the PCR duplicate entries into a separate file;
- detect optical duplicates from the original Illumina read ids;
- apply filtering by various properties of pairs (MAPQ; orientation; distance) together with deduplication;
- output yaml or convenient tsv deduplication stats into text file.
- NOTE: in order to remove all PCR duplicates, the input must contain \*all\*
mapped read pairs from a single experimental replicate;
- `maskasdup`: mark all pairs in a pairsam as Hi-C duplicates
- change the field pair_type to DD;
- change the pair_type tag (Yt:Z:) for all sam alignments;
- set the PCR duplicate binary flag for all sam alignments (0x400).
- `split`: split a .pairsam file into .pairs and .sam.
- `flip`: flip pairs to get an upper-triangular matrix
- `header`: manipulate the .pairs/.pairsam header
- generate new header for headerless .pairs file
- transfer header from one .pairs file to another
- set column names for the .pairs file
- validate that the header corresponds to the information stored in .pairs file
- `stats`: calculate various statistics of .pairs files
- `restrict`: identify the span of the restriction fragment forming a Hi-C junction
- `phase`: phase pairs mapped to a diploid genome
## Contributing
[Pull requests](https://akrabat.com/the-beginners-guide-to-contributing-to-a-github-project/) are welcome.
For development, clone and install in "editable" (i.e. development) mode with the `-e` option. This way you can also pull changes on the fly.
```sh
$ git clone https://github.com/open2c/pairtools.git
$ cd pairtools
$ pip install -e .
```
## Citing `pairtools`
Open2C*, Nezar Abdennur, Geoffrey Fudenberg, Ilya M. Flyamer, Aleksandra A. Galitsyna*, Anton Goloborodko*, Maxim Imakaev, Sergey V. Venev. "Pairtools: from sequencing data to chromosome contacts" bioRxiv, February 13, 2023. ; doi: https://doi.org/10.1101/2023.02.13.528389
## License
MIT
Raw data
{
"_id": null,
"home_page": null,
"name": "pairtools",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "genomics, bioinformatics, Hi-C, contact, chromosome",
"author": null,
"author_email": "Open2C <open.chromosome.collective@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/31/a9/5602ec186babe2702af93f4f7957cadd36945accb94315076105eb228ad1/pairtools-1.1.2.tar.gz",
"platform": null,
"description": "# pairtools\n\n[![Documentation Status](https://readthedocs.org/projects/pairtools/badge/?version=latest)](http://pairtools.readthedocs.org/en/latest/)\n[![Build Status](https://travis-ci.org/mirnylab/pairtools.svg?branch=master)](https://travis-ci.org/mirnylab/pairtools)\n[![Join the chat on Slack](https://img.shields.io/badge/chat-slack-%233F0F3F?logo=slack)](https://bit.ly/2UaOpAe)\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.1490831.svg)](https://doi.org/10.5281/zenodo.1490831)\n\n## Process Hi-C pairs with pairtools\n\n`pairtools` is a simple and fast command-line framework to process sequencing\ndata from a Hi-C experiment.\n\n`pairtools` process pair-end sequence alignments and perform the following\noperations:\n\n- detect ligation junctions (a.k.a. Hi-C pairs) in aligned paired-end sequences of Hi-C DNA molecules\n- sort .pairs files for downstream analyses\n- detect, tag and remove PCR/optical duplicates \n- generate extensive statistics of Hi-C datasets\n- select Hi-C pairs given flexibly defined criteria\n- restore .sam alignments from Hi-C pairs\n- annotate restriction digestion sites\n- get the mutated positions in Hi-C pairs\n\nTo get started:\n- Visit [pairtools tutorials](https://pairtools.readthedocs.io/en/latest/examples/pairtools_walkthrough.html),\n- Take a look at a [quick example](https://github.com/open2c/pairtools#quick-example),\n- Check out the detailed [documentation](http://pairtools.readthedocs.io).\n\n## Data formats\n\n`pairtools` produce and operate on tab-separated files compliant with the\n[.pairs](https://github.com/4dn-dcic/pairix/blob/master/pairs_format_specification.md) \nformat defined by the [4D Nucleome Consortium](https://www.4dnucleome.org/). All\npairtools properly manage file headers and keep track of the data\nprocessing history.\n\nAdditionally, `pairtools` define the [.pairsam format](https://pairtools.readthedocs.io/en/latest/formats.html#pairsam), an extension of .pairs that includes the SAM alignments \nof a sequenced Hi-C molecule. .pairsam complies with the .pairs format, and can be processed by any tool that\noperates on .pairs files.\n\n`pairtools` produces a set of additional extra columns, which describe properties of alignments, phase, mutations, restriction and complex walks.\nThe full list of possible extra columns is provided in the [`pairtools` format specification](https://pairtools.readthedocs.io/en/latest/formats.html#extra-columns). \n\n## Installation\n\nRequirements:\n\n- Python 3.x\n- Python packages `cython`, `pysam`, `bioframe`, `pyyaml`, `numpy`, `scipy`, `pandas` and `click`.\n- Command-line utilities `sort` (the Unix version), `samtools` and `bgzip` (shipped with `samtools`). If available, `pairtools` can compress outputs with `pbgzip` and `lz4`.\n\nFor the full list of recommended versions, see [the requirements section in the pyproject.toml](https://github.com/open2c/pairtools/blob/main/pyproject.toml). \n\nThere are three options for installing pairtools:\n\n1. We highly recommend using the `conda` package manager to install `pairtools` together with all its dependencies. To get it, you can either install the full [Anaconda](https://www.continuum.io/downloads) Python distribution or just the standalone [conda](http://conda.pydata.org/miniconda.html) package manager.\n\nWith `conda`, you can install `pairtools` and all of its dependencies from the [bioconda](https://bioconda.github.io/index.html) channel:\n```sh\n$ conda install -c conda-forge -c bioconda pairtools\n```\n\n2. Alternatively, install non-Python dependencies (`sort`, `samtools`, `bgzip`, `pbgzip` and `lz4`) separately and download `pairtools` with Python dependencies from PyPI using pip:\n```sh\n$ pip install pairtools\n```\n\n3. Finally, when the two options above don't work or when you want to modify `pairtools`, build `pairtools` from source via pip's \"editable\" mode:\n```sh\n$ pip install numpy cython pysam \n$ git clone https://github.com/open2c/pairtools\n$ cd pairtools\n$ pip install -e ./ --no-build-isolation\n```\n\n\n## Quick example\n\nSetup a new test folder and download a small Hi-C dataset mapped to sacCer3 genome:\n```bash\n$ mkdir /tmp/test-pairtools\n$ cd /tmp/test-pairtools\n$ wget https://github.com/open2c/distiller-test-data/raw/master/bam/MATalpha_R1.bam\n```\n\nAdditionally, we will need a .chromsizes file, a TAB-separated plain text table describing the names, sizes and the order of chromosomes in the genome assembly used during mapping:\n```bash\n$ wget https://raw.githubusercontent.com/open2c/distiller-test-data/master/genome/sacCer3.reduced.chrom.sizes\n```\n\nWith `pairtools parse`, we can convert paired-end sequence alignments stored in .sam/.bam format into .pairs, a TAB-separated table of Hi-C ligation junctions:\n\n```bash\n$ pairtools parse -c sacCer3.reduced.chrom.sizes -o MATalpha_R1.pairs.gz --drop-sam MATalpha_R1.bam \n```\n\nInspect the resulting table:\n\n```bash\n$ less MATalpha_R1.pairs.gz\n```\n\n## Pipelines\n\n- We provide a simple working example of a mapping bash pipeline in /examples/.\n- [distiller](https://github.com/open2c/distiller-nf) is a powerful\nHi-C data analysis workflow, based on `pairtools` and [nextflow](https://www.nextflow.io/).\n\n\n## Tools\n\n- `parse`: read .sam/.bam files produced by bwa and form Hi-C pairs\n - form Hi-C pairs by reporting the outer-most mapped positions and the strand\n on the either side of each molecule;\n - report unmapped/multimapped (ambiguous alignments)/chimeric alignments as\n chromosome \"!\", position 0, strand \"-\";\n - perform upper-triangular flipping of the sides of Hi-C molecules \n such that the first side has a lower sorting index than the second side;\n - form hybrid pairsam output, where each line contains all available data \n for one Hi-C molecule (outer-most mapped positions on the either side, \n read ID, pair type, and .sam entries for each alignment);\n - report .sam tags or mutations of the alignments;\n - print the .sam header as #-comment lines at the start of the file.\n\n- `parse2`: read .sam/.bam files with long paired-and or single-end reads and form Hi-C pairs from complex walks \n - identify and rescue chrimeric alignments produced by singly-ligated Hi-C \n molecules with a sequenced ligation junction on one of the sides;\n - annotate chimeric alignments by restriction fragments and report true junctions and hops (One-Read-Based Interactions Annotation, ORBITA);\n - perform intra-molecule deduplication of paired-end data when one side reads through the DNA on the other side of the read;\n - report index of the pair in the complex walk;\n - make combinatorial expansion of pairs produced from the same walk; \n\n- `sort`: sort pairs files (the lexicographic order for chromosomes, \n the numeric order for the positions, the lexicographic order for pair types).\n\n- `merge`: merge sorted .pairs files\n - merge sort .pairs;\n - combine the .pairs headers from all input files;\n - check that each .pairs file was mapped to the same reference genome index \n (by checking the identity of the @SQ sam header lines).\n\n- `select`: select pairs according to specified criteria\n - select pairs entries according to the provided condition. A programmable\n interface allows for arbitrarily complex queries on specific pair types, \n chromosomes, positions, strands, read IDs (including matches to a\n wildcard/regexp/list).\n - optionally print the non-matching entries into a separate file.\n\n- `dedup`: remove PCR duplicates from a sorted triu-flipped .pairs file\n - remove PCR duplicates by finding pairs of entries with both sides mapped\n to similar genomic locations (+/- N bp);\n - optionally output the PCR duplicate entries into a separate file;\n - detect optical duplicates from the original Illumina read ids;\n - apply filtering by various properties of pairs (MAPQ; orientation; distance) together with deduplication; \n - output yaml or convenient tsv deduplication stats into text file.\n - NOTE: in order to remove all PCR duplicates, the input must contain \\*all\\* \n mapped read pairs from a single experimental replicate;\n\n- `maskasdup`: mark all pairs in a pairsam as Hi-C duplicates\n - change the field pair_type to DD;\n - change the pair_type tag (Yt:Z:) for all sam alignments;\n - set the PCR duplicate binary flag for all sam alignments (0x400).\n\n- `split`: split a .pairsam file into .pairs and .sam.\n\n- `flip`: flip pairs to get an upper-triangular matrix\n\n- `header`: manipulate the .pairs/.pairsam header\n - generate new header for headerless .pairs file\n - transfer header from one .pairs file to another\n - set column names for the .pairs file\n - validate that the header corresponds to the information stored in .pairs file\n\n- `stats`: calculate various statistics of .pairs files\n\n- `restrict`: identify the span of the restriction fragment forming a Hi-C junction\n\n- `phase`: phase pairs mapped to a diploid genome \n\n## Contributing\n\n[Pull requests](https://akrabat.com/the-beginners-guide-to-contributing-to-a-github-project/) are welcome.\n\nFor development, clone and install in \"editable\" (i.e. development) mode with the `-e` option. This way you can also pull changes on the fly.\n```sh\n$ git clone https://github.com/open2c/pairtools.git\n$ cd pairtools\n$ pip install -e .\n```\n\n## Citing `pairtools`\n\nOpen2C*, Nezar Abdennur, Geoffrey Fudenberg, Ilya M. Flyamer, Aleksandra A. Galitsyna*, Anton Goloborodko*, Maxim Imakaev, Sergey V. Venev. \"Pairtools: from sequencing data to chromosome contacts\" bioRxiv, February 13, 2023. ; doi: https://doi.org/10.1101/2023.02.13.528389\n\n## License\n\nMIT\n",
"bugtrack_url": null,
"license": "MIT License",
"summary": "CLI tools to process mapped Hi-C data",
"version": "1.1.2",
"project_urls": {
"Changelog": "https://github.com/open2c/pairtools/blob/master/CHANGES.md",
"Documentation": "https://pairtools.readthedocs.io/en/latest/",
"Homepage": "https://github.com/open2c/pairtools",
"Issues": "https://github.com/open2c/pairtools/issues",
"Repository": "https://github.com/open2c/pairtools.git"
},
"split_keywords": [
"genomics",
" bioinformatics",
" hi-c",
" contact",
" chromosome"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "6d2d440ae1686311dff1c172452d083d730b0a663395665052759787fe27f48c",
"md5": "2fa0959dab6cefffcd0fdb256b97599f",
"sha256": "d35c2cddb38055075d70bf87837ad5e1930573f1c0c97bb0f0bfc8341b6b0eca"
},
"downloads": -1,
"filename": "pairtools-1.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "2fa0959dab6cefffcd0fdb256b97599f",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 12907021,
"upload_time": "2024-12-11T08:29:06",
"upload_time_iso_8601": "2024-12-11T08:29:06.405006Z",
"url": "https://files.pythonhosted.org/packages/6d/2d/440ae1686311dff1c172452d083d730b0a663395665052759787fe27f48c/pairtools-1.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "96c2c582e569b292c76550dfdade2413f190cf52b6fe3cd44c0f57086dbafc5a",
"md5": "2cc9ade8ebcfe9d72df55dd424569175",
"sha256": "81824a3195fd531ac06872cf45af88adcdd5a7579580d48a87b7585d81ad14e2"
},
"downloads": -1,
"filename": "pairtools-1.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "2cc9ade8ebcfe9d72df55dd424569175",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 13505131,
"upload_time": "2024-12-11T08:29:11",
"upload_time_iso_8601": "2024-12-11T08:29:11.230225Z",
"url": "https://files.pythonhosted.org/packages/96/c2/c582e569b292c76550dfdade2413f190cf52b6fe3cd44c0f57086dbafc5a/pairtools-1.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f3963318ca5b1e45063558f658696644e2842aede5a3768a5bf6d45e87670628",
"md5": "663f5c53c54df7ace99b023ad134caf6",
"sha256": "0fbf68190e680829852e22d456c8807769f3855ec7e0da312a3cec6ab89d0332"
},
"downloads": -1,
"filename": "pairtools-1.1.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "663f5c53c54df7ace99b023ad134caf6",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 13563248,
"upload_time": "2024-12-11T08:29:15",
"upload_time_iso_8601": "2024-12-11T08:29:15.981870Z",
"url": "https://files.pythonhosted.org/packages/f3/96/3318ca5b1e45063558f658696644e2842aede5a3768a5bf6d45e87670628/pairtools-1.1.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1e294324528a3faf020400f09b1b1a9a941b301b900b25682abaa3d724f31de2",
"md5": "8734380179f588ce515be4a421b89b5b",
"sha256": "cf7651127c3884ece33ca6ec1379ef6c7a2a332330329126a474062139e6a1d7"
},
"downloads": -1,
"filename": "pairtools-1.1.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "8734380179f588ce515be4a421b89b5b",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.9",
"size": 13528893,
"upload_time": "2024-12-11T08:29:20",
"upload_time_iso_8601": "2024-12-11T08:29:20.176354Z",
"url": "https://files.pythonhosted.org/packages/1e/29/4324528a3faf020400f09b1b1a9a941b301b900b25682abaa3d724f31de2/pairtools-1.1.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "efb363ac0d89d01ae2cbf7c7a296289d9dbdfaf105e03107c5bf0fa118bc4298",
"md5": "3ec4f4dacc4af6348407585fb4acbf70",
"sha256": "55f1f855105ce5fb7f92f4f267a06af00cea3766fd8670d1fd0d3f46f1c8b33f"
},
"downloads": -1,
"filename": "pairtools-1.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "3ec4f4dacc4af6348407585fb4acbf70",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 12934197,
"upload_time": "2024-12-11T08:29:23",
"upload_time_iso_8601": "2024-12-11T08:29:23.439949Z",
"url": "https://files.pythonhosted.org/packages/ef/b3/63ac0d89d01ae2cbf7c7a296289d9dbdfaf105e03107c5bf0fa118bc4298/pairtools-1.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "31a95602ec186babe2702af93f4f7957cadd36945accb94315076105eb228ad1",
"md5": "7d372447f6954f141acf188eb3538760",
"sha256": "c6da509072fb88f82af38e2ddbc5edf17f71f19df54330e7c5f83883732206dd"
},
"downloads": -1,
"filename": "pairtools-1.1.2.tar.gz",
"has_sig": false,
"md5_digest": "7d372447f6954f141acf188eb3538760",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 1425951,
"upload_time": "2024-12-11T08:28:56",
"upload_time_iso_8601": "2024-12-11T08:28:56.096617Z",
"url": "https://files.pythonhosted.org/packages/31/a9/5602ec186babe2702af93f4f7957cadd36945accb94315076105eb228ad1/pairtools-1.1.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-11 08:28:56",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "open2c",
"github_project": "pairtools",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "pairtools"
}