{"id":32203051,"url":"https://github.com/jlmaier12/proactive","last_synced_at":"2026-02-22T19:04:49.749Z","repository":{"id":196713597,"uuid":"650331329","full_name":"jlmaier12/ProActive","owner":"jlmaier12","description":"Detect elevations and gaps in read coverage on metagenome contigs or assembled genomes","archived":false,"fork":false,"pushed_at":"2025-08-08T01:21:20.000Z","size":5964,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-13T10:25:05.738Z","etag":null,"topics":["bacteriophage","metagenomics","mobile-genetic-elements","pattern-matching","prophages","read-mapping","sequencing-coverage","structural-variants","transposable-elements"],"latest_commit_sha":null,"homepage":"https://jlmaier12.github.io/ProActive/","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jlmaier12.png","metadata":{"files":{"readme":"README.Rmd","changelog":"NEWS.html","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-06-06T21:01:35.000Z","updated_at":"2025-08-08T01:17:37.000Z","dependencies_parsed_at":"2023-09-27T03:44:29.879Z","dependency_job_id":"25e1ef0e-7b5b-4c20-82c9-b11a292af718","html_url":"https://github.com/jlmaier12/ProActive","commit_stats":null,"previous_names":["jlmaier12/proactive"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/jlmaier12/ProActive","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jlmaier12%2FProActive","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jlmaier12%2FProActive/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jlmaier12%2FProActive/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jlmaier12%2FProActive/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jlmaier12","download_url":"https://codeload.github.com/jlmaier12/ProActive/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jlmaier12%2FProActive/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29723574,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-22T15:10:41.462Z","status":"ssl_error","status_checked_at":"2026-02-22T15:10:04.636Z","response_time":110,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bacteriophage","metagenomics","mobile-genetic-elements","pattern-matching","prophages","read-mapping","sequencing-coverage","structural-variants","transposable-elements"],"created_at":"2025-10-22T04:29:03.372Z","updated_at":"2026-02-22T19:04:49.741Z","avatar_url":"https://github.com/jlmaier12.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"---\noutput: github_document\n---\n\n\u003c!-- README.md is generated from README.Rmd. Please edit that file --\u003e\n\n```{r, include = FALSE}\nknitr::opts_chunk$set(\n  collapse = TRUE,\n  comment = \"#\u003e\",\n  fig.path = \"man/figures/README-\",\n  out.width = \"100%\"\n)\n```\n\n# ProActive\n\n\u003c!-- badges: start --\u003e\n\u003c!-- badges: end --\u003e\n\n\n**`ProActive` automatically detects regions of gapped and elevated read coverage \nusing a 2D pattern-matching algorithm. `ProActive` detects, characterizes and \nvisualizes read coverage patterns in both genomes and metagenomes. Optionally, \nusers may provide gene annotations associated with their genome or metagenome \nin the form of a .gff file. In this case, `ProActive` will generate an additional \noutput table containing the gene annotations found within the detected regions of \ngapped and elevated read coverage. Additionally, users can search for gene \nannotations of interest in the output read coverage plots.** \n\nVisualizing read coverage data is important because gaps and elevations in coverage can \nbe indicators of a variety of biological and non-biological scenarios, for example-\n\n* Elevations and gaps in read coverage may be caused by some types of structural \nvariants. Deletions can cause gaps while duplications can cause elevations in read coverage [1]. \n* Highly active and/or abundant mobile genetic elements, like transposable \nelements [2] and prophage [3] for example, can create elevations in read coverage \nat their respective integration sites. \n* Genetic regions with high mutation rates and/or high variability within the population \ncan generate gaps in read coverage [4]. \n* Poor quality sequencing reads and chimeric reference sequences may cause gaps\nand elevations in read coverage.\n\n**Since the cause for gaps and elevations in read coverage can be ambiguous, \nProActive is best used as a screening method to identify genetic regions for further \ninvestigation with other tools!**\n\n**References:**\n\n1.  Tattini L., D'Aurizio R., \u0026 Magi A. (2015). Detection of Genomic Structural \nVariants from Next-Generation Sequencing Data. Frontiers in bioengineering and biotechnology, \n3, 92. https://doi.org/10.3389/fbioe.2015.00092 \n2.  Kleiner M., Bushnell B., Sanderson K.E. et al. (2020) Transductomics: sequencing-based \ndetection and analysis of transduced DNA in pure cultures and microbial communities. \nMicrobiome 8, 158. https://doi.org/10.1186/s40168-020-00935-5\n3.  Kieft K., Anantharaman K. (2022). Deciphering Active Prophages from Metagenomes. mSystems 7:e00084-22.\nhttps\\://doi.org/10.1128/msystems.00084-22 \n4. Fogarty E., Moore R. (2019). Visualizing contig coverages to better understand \nmicrobial population structure. https://merenlab.org/2019/11/25/visualizing-coverages/ \n\n### Input files\n\n#### Pileup file:\nProActive detects read coverage patterns using a pattern-matching algorithm that \noperates on pileup files. A pileup file is a file format where each row \nsummarizes the 'pileup' of reads at specific genomic locations. Pileup files \ncan be used to generate a rolling mean of read coverages and associated base \npair positions which reduces data size while \npreserving read coverage patterns. **ProActive requires that input pileups files** \n**be generated using a 100 bp window/bin size.**  \n\nPileup files can be generated by mapping sequencing reads to a \nmetagenome or genome fasta. **Read mapping should be performed using a high** \n**minimum identity (0.97 or higher) and random mapping of ambiguous reads.** The \npileup files needed for ProActive are generated using the .bam files produced \nduring read mapping. Some read mappers, like \n[BBMap](https://jgi.doe.gov/data-and-tools/software-tools/bbtools/bb-tools-user-guide/bbmap-guide/), \nallow for the generation of pileup files in the \n[`bbmap.sh`](https://github.com/BioInfoTools/BBMap/blob/master/sh/bbmap.sh) \ncommand with use of the `bincov` output with the `covbinsize=100` \nparameter/argument. **Otherwise, BBMap's** \n**[`pileup.sh`](https://github.com/BioInfoTools/BBMap/blob/master/sh/pileup.sh)** \n**can convert .bam files produced by any read mapper to pileup files** \n**compatible with ProActive using the `bincov` output with `binsize=100`.**\n\n**NOTE:** For detailed information on input file format, please see the vignette. Users may also use\nthe 'sampleMetagenomePileup' and 'sampleGenomePileup' files that come pre-loaded with \nProActive as a reference.\n\n#### gffTSV:\nProActive optionally accepts a .gff file as input. The .gff file must be \nassociated with the same metagenome or genome used to create your pileup file. \nThe .gff file should be a TSV and should follow the same general format described [here](https://en.wikipedia.org/wiki/General_feature_format#:~:text=In%20bioinformatics%2C%20the%20general%20feature,DNA%2C%20RNA%20and%20protein%20sequences.).\n\n## Installation\n\nInstall ProActive from CRAN with:\n``` r\ninstall.packages(\"ProActive\")\nlibrary(ProActive)\n```\n\nInstall the development version of ProActive from [GitHub](https://github.com/) with:\n``` r\nif (!require(\"devtools\", quietly = TRUE)) {\n  install.packages(\"devtools\")\n}\n\ndevtools::install_github(\"jlmaier12/ProActive\")\nlibrary(ProActive)\n```\n\n\n## Quick start\n\n```{r example}\nlibrary(ProActive)\n\n\n## Metagenome mode\n\nMetagenomeProActive \u003c- ProActiveDetect(\n  pileup = sampleMetagenomePileup,\n  mode = \"metagenome\",\n  gffTSV = sampleMetagenomegffTSV\n)\n\nMetagenomePlots \u003c- plotProActiveResults(pileup = sampleMetagenomePileup,\n                                        ProActiveResults = MetagenomeProActive)\n\nMetagenomeGeneMatches \u003c- geneAnnotationSearch(ProActiveResults = MetagenomeProActive, \n                                              pileup = sampleMetagenomePileup, \n                                              gffTSV = sampleMetagenomegffTSV,\n                                              geneOrProduct = \"product\",\n                                              keyWords = c(\"transport\", \"chemotaxis\"))\n\n\n## Genome mode\n\nGenomeProActive \u003c- ProActiveDetect(\n  pileup = sampleGenomePileup,\n  mode = \"genome\",\n  gffTSV = sampleGenomegffTSV\n)\n\nGenomePlots \u003c- plotProActiveResults(pileup = sampleGenomePileup,\n                                    ProActiveResults = GenomeProActive)\n\nGenomeGeneMatches \u003c- geneAnnotationSearch(ProActiveResults = GenomeProActive, \n                                          pileup = sampleGenomePileup, \n                                          gffTSV = sampleGenomegffTSV,\n                                          geneOrProduct = \"product\",\n                                          keyWords = c(\"ribosomal\"), \n                                          inGapOrElev = TRUE,\n                                          bpRange = 5000)\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjlmaier12%2Fproactive","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjlmaier12%2Fproactive","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjlmaier12%2Fproactive/lists"}