| Name | pyjacker JSON |
| Version |
1.0.0
JSON |
| download |
| home_page | None |
| Summary | Enhancer hijacking detection from WGS and RNAseq. |
| upload_time | 2024-08-02 10:28:44 |
| maintainer | None |
| docs_url | None |
| author | None |
| requires_python | >=3.7 |
| license | None |
| keywords |
|
| VCS |
 |
| bugtrack_url |
|
| requirements |
No requirements were recorded.
|
| Travis-CI |
No Travis.
|
| coveralls test coverage |
No coveralls.
|
# pyjacker
This is a tool to detect enhancer hijacking events in a cohort profiled with WGS and RNA-seq. It does not require matched normals and can detect enhancer hijacking events occurring in a single sample. Briefly, it looks for outlier high and monoallelic expression of a gene in a sample which has a breakpoint close to the gene.
## Usage
In an environment with python>=3.7:
```
pip install pyjacker
python pyjacker.py config.yaml
```
The config file indicates all the parameters, including paths to the input files (see config_AML.yaml as an example). Alternatively, we provide a nextflow workflow that generates pyjacker's inputs from bam files, and run pyjacker: https://github.com/CompEpigen/wf_WGS.
## Inputs
### Gene expression table (required)
Rows are genes (ensembl IDs) and columns are samples. The expression data must be provided in TPM. See data/TPM_ckAML.tsv for an example.
### Breakpoints (required)
tsv file with columns: sample, chr1, pos1, chr2, pos2.
The fields chr2 and pos2 are optional (for example if you only have copy number data). See data/breakpoints.tsv for an example.
### TADs (optional)
A bed file of topologically-associating domains can be used, in which case only the breakpoints in the same TAD as a gene are considered in the search for enhancer hijacking events. One TAD file is provided in the data directory. If not TAD file is provided, pyjacker will instead look for breakpoints within a fixed distance to the gene (1.5Mb by default). See data/HSPC_TADs.bed for an example.
### Allelic read counts at SNPs in RNAseq (optional)
This is used to detect monoallelic expression. This requires files generated by GATK ASEReadCounter.
### Copy number alterations (optional)
tsv file with the following columns: sample, chr, start, end, cn. See data/CNAs.tsv for an example.
If provided, this will be used to:
- correct gene expression based on copy number (so high expression because of amplification will not be reported)
- filter out SNPs within deletions from the monoallelic expression detection
### Fusion transcripts
Fusion transcripts can also lead to aberrant high and monoallelic expression of a gene. If a list of fusion transcripts detected from RNAseq is provided, they will be used to annotate candidate enhancer hijacking events which are actually due to a fusion. See data/fusions.tsv for an example file.
### Enhancers
A file of scored enhancers, generated by ROSE. See data/enhancers_myeloid.tsv for an example.
Raw data
{
"_id": null,
"home_page": null,
"name": "pyjacker",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": null,
"author": null,
"author_email": "Etienne Sollier <etienne.sollier@dkfz.de>",
"download_url": "https://files.pythonhosted.org/packages/9d/56/688286f2be801deb91838c487171ea48c1133fe1230004a9064b44ddc0fb/pyjacker-1.0.0.tar.gz",
"platform": null,
"description": "# pyjacker\n\nThis is a tool to detect enhancer hijacking events in a cohort profiled with WGS and RNA-seq. It does not require matched normals and can detect enhancer hijacking events occurring in a single sample. Briefly, it looks for outlier high and monoallelic expression of a gene in a sample which has a breakpoint close to the gene.\n\n## Usage\nIn an environment with python>=3.7: \n```\npip install pyjacker\npython pyjacker.py config.yaml\n```\nThe config file indicates all the parameters, including paths to the input files (see config_AML.yaml as an example). Alternatively, we provide a nextflow workflow that generates pyjacker's inputs from bam files, and run pyjacker: https://github.com/CompEpigen/wf_WGS.\n\n## Inputs\n### Gene expression table (required)\nRows are genes (ensembl IDs) and columns are samples. The expression data must be provided in TPM. See data/TPM_ckAML.tsv for an example.\n\n### Breakpoints (required)\ntsv file with columns: sample, chr1, pos1, chr2, pos2. \nThe fields chr2 and pos2 are optional (for example if you only have copy number data). See data/breakpoints.tsv for an example.\n\n### TADs (optional)\nA bed file of topologically-associating domains can be used, in which case only the breakpoints in the same TAD as a gene are considered in the search for enhancer hijacking events. One TAD file is provided in the data directory. If not TAD file is provided, pyjacker will instead look for breakpoints within a fixed distance to the gene (1.5Mb by default). See data/HSPC_TADs.bed for an example.\n\n### Allelic read counts at SNPs in RNAseq (optional)\nThis is used to detect monoallelic expression. This requires files generated by GATK ASEReadCounter.\n\n### Copy number alterations (optional)\ntsv file with the following columns: sample, chr, start, end, cn. See data/CNAs.tsv for an example.\nIf provided, this will be used to:\n- correct gene expression based on copy number (so high expression because of amplification will not be reported)\n- filter out SNPs within deletions from the monoallelic expression detection\n\n\n### Fusion transcripts\nFusion transcripts can also lead to aberrant high and monoallelic expression of a gene. If a list of fusion transcripts detected from RNAseq is provided, they will be used to annotate candidate enhancer hijacking events which are actually due to a fusion. See data/fusions.tsv for an example file.\n\n### Enhancers\nA file of scored enhancers, generated by ROSE. See data/enhancers_myeloid.tsv for an example.\n",
"bugtrack_url": null,
"license": null,
"summary": "Enhancer hijacking detection from WGS and RNAseq.",
"version": "1.0.0",
"project_urls": {
"Homepage": "https://github.com/CompEpigen/pyjacker"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "34afc3e215e595963393216cd3f919e788220d7fe0c3832f9a2886d9f7d9d6d0",
"md5": "67073096293d700d57d3346d23f03095",
"sha256": "652dd41d0e68e994b170bc65f605fa9c67ccd3d002079398cd3468ac9fd909c2"
},
"downloads": -1,
"filename": "pyjacker-1.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "67073096293d700d57d3346d23f03095",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 22397,
"upload_time": "2024-08-02T10:28:43",
"upload_time_iso_8601": "2024-08-02T10:28:43.052885Z",
"url": "https://files.pythonhosted.org/packages/34/af/c3e215e595963393216cd3f919e788220d7fe0c3832f9a2886d9f7d9d6d0/pyjacker-1.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9d56688286f2be801deb91838c487171ea48c1133fe1230004a9064b44ddc0fb",
"md5": "28b523b771748ce018fe956ffe9d513b",
"sha256": "419513cf2d0d306fc7630f3cc1e20de32b27908083b64966701b39fa621254e4"
},
"downloads": -1,
"filename": "pyjacker-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "28b523b771748ce018fe956ffe9d513b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 20714,
"upload_time": "2024-08-02T10:28:44",
"upload_time_iso_8601": "2024-08-02T10:28:44.713352Z",
"url": "https://files.pythonhosted.org/packages/9d/56/688286f2be801deb91838c487171ea48c1133fe1230004a9064b44ddc0fb/pyjacker-1.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-08-02 10:28:44",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "CompEpigen",
"github_project": "pyjacker",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "pyjacker"
}