{"id":19863889,"url":"https://github.com/sandialabs/juxtaposer","last_synced_at":"2025-07-11T08:05:26.532Z","repository":{"id":83092201,"uuid":"56626898","full_name":"sandialabs/Juxtaposer","owner":"sandialabs","description":"Juxtaposer is software used to identify actively mobile genomic elements using high throughput sequencing data.","archived":false,"fork":false,"pushed_at":"2025-03-20T21:38:36.000Z","size":27536,"stargazers_count":4,"open_issues_count":0,"forks_count":3,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-05-02T05:46:10.624Z","etag":null,"topics":["applications","bioinformatics","scr-2081","snl-applications"],"latest_commit_sha":null,"homepage":"","language":"Perl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sandialabs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2016-04-19T19:46:45.000Z","updated_at":"2025-04-08T21:09:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"67e05b9f-cf40-401c-b372-d849e504a4ff","html_url":"https://github.com/sandialabs/Juxtaposer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sandialabs/Juxtaposer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandialabs%2FJuxtaposer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandialabs%2FJuxtaposer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandialabs%2FJuxtaposer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandialabs%2FJuxtaposer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sandialabs","download_url":"https://codeload.github.com/sandialabs/Juxtaposer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandialabs%2FJuxtaposer/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264763130,"owners_count":23660303,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["applications","bioinformatics","scr-2081","snl-applications"],"created_at":"2024-11-12T15:16:26.140Z","updated_at":"2025-07-11T08:05:26.520Z","avatar_url":"https://github.com/sandialabs.png","language":"Perl","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Juxtaposer\n\n## INTRO\nJuxtaposer looks for NGS reads that may have resulted from genomic recombination, and tests them for the\npossibility of being: circles/scars from mobile elements, transpositions of transposons, or a palindrome artifact.\n\n## AUTHORS\nKelly Williams, kpwilli@sandia.gov\nCorey Hudson\n\nRepo maintained by: Ellis Torrance, eltorra@sandia.gov\n\n## CITATIONS\nIf using Juxtaposer in your research please cite:\n\n[Schoeniger JS, Hudson CM, Bent ZW, Sinha A, Williams KP. Experimental single-strain mobilomics reveals events that shape pathogen emergence. Nucleic Acids Res. 2016 Aug 19;44(14):6830-9. doi: 10.1093/nar/gkw601. Epub 2016 Jul 4. PMID: 27378783; PMCID: PMC5001619.](https://academic.oup.com/nar/article/44/14/6830/2468219)\n\nPlease also cite the associate publications of the Juxtaposer dependencies.\n\n## SOFTWARE DEPENDENCIES\n - bowtie2 and bowtie2-build in path\n - blastn and makeblastdb in path\n - hmmscan in path\n - prodigal: binary is included, but if the binary fails on your machine, replace with fresh install\n\nInstutions for installing these dependencies in a conda environment is available in INSTALLATION below. \n\n## INSTALLATION\n\n1. Download the github repo from https://github.com/sandialabs/Juxtaposer or clone it with git:\n```\ngit clone https://github.com/sandialabs/Juxtaposer.git\n```\n2. Make Juxtaposer files callable system wide by adding the following to your bash profile. Then, restart the terminal session or use source to reload your bash profile \n```\nexport PATH=\u003cabsolute path to juxtaposer folder\u003e:$PATH\n```\n3. Install Juxtaposer dependencies. See below for instructions on installation of these dependencies using conda.\n\n### (OPTIONAL) Creating a Juxtaposer [Conda](https://www.anaconda.com/docs/getting-started/miniconda/install) environment\n1. Create the Conda environment\n```\nconda create --name Juxtaposer -y\n```\n2. activate the Conda environment (Note, you will need to activate the conda environment every time before you run Juxtaposer)\n```\nconda activate Juxtaposer\n```\n3. install juxtaposer dependencies\n```\nconda config --add channels bioconda \u0026\u0026 conda install -y bowtie2 \u0026\u0026 conda install -y blast \u0026\u0026 conda install -y hmmer \u0026\u0026 conda install -y pftools \u0026\u0026 conda install -y bedtools\n```\n\n## INPUT DIRECTORIES AND FILES\n\nJuxtaposer requires an initial directory containing a single fastq file named \u003cins\u003eqf.fq\u003c/ins\u003e (or qf.fq.gz if gunzipped) and the corresponding assembled genome in fasta format named \u003cins\u003egenome.fa\u003c/ins\u003e where all output files will be written. For the purpose of the readme, this folder will be called \u003cins\u003e\"ngsdir\"\u003c/ins\u003e.\nWe recommend using a different ngsdir directory for each experimental sample.\n\n### PREPARING READS\n\nJuxtaposer requires an input file qf.fq, that contains NGS data from which low quality terminal regions and library\nprimer sequences have been trimmed. Primer trimming allows the standard-read filter's global search to correctly\nidentify standard genomic reads. We supply the quality filter qfilter.pl that we use. To use qfilter.pl properly,\nyou must supply it the primer sequences used for library preparation. Qfilter.pl reads a file called primers.txt,\nthat already contains some commonly used primer sets. To see those:\n$ qfilter.pl -primersets_available\nIf your library used a primer set already in primers.txt simply supply that primerset name with the -primers\noption. If your library used different primers, you can write the set into the primers.txt file, or specify them\ndirectly with the -primers option.\nWe have been using SE reads, but if you have PE reads, we recommend the following: merge pairs using a tool like\nbbduk or PEAR, aiming to remove primer sequences and low quality regions, and combine all merged read pairs and\nunmerged reads into the qf.fq input file.\n\n## RUNNING JUXTAPOSER\nJuxtaposer must be run from the ngsdir. We also recomend sending print statements to a log file you can send to us in case troubleshooting is needed.\n```\ncd \u003cpath to ngsdir\u003e; perl \u003cpath to juxtaposer\u003ejuxtaposer.pl genome \u0026\u003e log.txt\n```\n\n## OUTPUTS\nAn example of the files that are created by Juxtaposer are in the directory Test. You can also test run juxtaposer is installed correctly with all necessary dependencies by running it on this folder.\n\nHere is a description of files and folders created by juxtaposer:\nrefdir: Directory containing information about the reference genome, to which Juxtaposer will write some files.\nrefPfx: refDir/prefix, where prefix is the part of the reference genome file preceding the .fa suffix\nrefPfx.fa: Multi-fasta file with all replicons (dnas) in the genome\n[refPfx.tn.bed]: Recommended but optional transposon annotation file. Precise coordinates of genome's\n transposons/ISs, used to annotate reads from potential transposition junctions. An initial run of Juxtaposer may\n help discover circularizing transposons to add to this list. The user can also add other mobile elements, such as\n genomic islands, self-splicing introns, integron cassettes, etc., that may generate circular DNAs or deletion scars.\n Format, tab-delimited columns: [1] replicon; [2] left coordinate minus one; [3] right coordinate; [4] element\n  name; [5] 1 if transposable, otherwise 0; [6] orientation (+ or -)\n\nrefPfx.lens: Two tab-delimited columns: dnaName, Length (basepairs).\nrefPfx_clos_n.fa: The input ref.fa to which has been added closure sequences for each circular replicon, based\n on n, the length of the longest read in qf.fq\nrefPfx: bowtie2 index and blast library for refPfx_clos_n.fa, many mobility gene outputs\nrefPfx.mobile.bed: List of mobility enzyme genes (integrases, transposases, etc.)\njuxtas.txt: see below for field descriptions\n\nJUXTAS.TXT FIELDS\ndnaLo: replicon containing the lower-position hit\nCoordLo: junction coordinate for the lower-position hit\ndnaHi: replicon containing the higher-position hit\nCoordHi: junction coordinate for the higher-position hit\nconfig: orientations of Lo and Hi hits\ncall: possibility of circularJunction, scar, palindrome or transposition end\noverlap: length of overlap (negative if unmatched spacer)\norigin: 0 if different DNAs, 1 if shortest distance around DNA not spanning origin, -1 if spanning origin\nidLo: percent identity of Lo hit\nidHi: percent identity of Hi hit\ntnLo: transposon end in Lo hit\ntnOffsetLo: distance from transposon end to Lo hit end\ntnHi: transposon end in Lo hit\ntnOffsetHi: distance from transposon end to Lo hit end\nsampleRead: read ID\noverlapSeq: sequence of slash-marked overlap, with 5 bp flanks. Uppercase, hit Lo (on left)\nreadseq: sequence of read. Uppercase, hit Lo (on left). Slash-marked, hit Hi\nseqLo: Mismatch-marked hit Lo\nseqHi: Mismatch-marked hit Hi\ncount: Number of similar reads\nsites: Number of additional identical-scoring hit pairs for same read\nMob: mobility gene spanned by hitpair\npctMob: percentage of the mobility gene spanned\nshortDistMob: closest distance between mobility gene and hitpair span end\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsandialabs%2Fjuxtaposer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsandialabs%2Fjuxtaposer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsandialabs%2Fjuxtaposer/lists"}