{"id":19863905,"url":"https://github.com/sandialabs/operonseqer","last_synced_at":"2026-05-13T04:42:36.943Z","repository":{"id":46153964,"uuid":"390053229","full_name":"sandialabs/OperonSEQer","owner":"sandialabs","description":null,"archived":false,"fork":false,"pushed_at":"2022-08-01T15:05:05.000Z","size":36479,"stargazers_count":2,"open_issues_count":5,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-11T15:32:40.360Z","etag":null,"topics":["scr-2679","snl-data-analysis"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sandialabs.png","metadata":{"files":{"readme":"README.md","changelog":"Changelog.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-07-27T16:29:07.000Z","updated_at":"2024-09-04T15:56:04.000Z","dependencies_parsed_at":"2022-09-11T18:22:24.387Z","dependency_job_id":null,"html_url":"https://github.com/sandialabs/OperonSEQer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandialabs%2FOperonSEQer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandialabs%2FOperonSEQer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandialabs%2FOperonSEQer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandialabs%2FOperonSEQer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sandialabs","download_url":"https://codeload.github.com/sandialabs/OperonSEQer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241272628,"owners_count":19937092,"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":["scr-2679","snl-data-analysis"],"created_at":"2024-11-12T15:16:33.762Z","updated_at":"2026-05-13T04:42:31.923Z","avatar_url":"https://github.com/sandialabs.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"(c) 2021: National Technology \u0026 Engineering Solutions of Sandia, LLC (NTESS)\n# OperonSEQer\n\nOperonSEQer takes RNA-sequencing data and transforms to output a Kruskal-Wallis statistic and p-value for similarity in expression of contiguous gene pairs and the intergentic region. Following this, the data is run through a suite of 6 machine learning models which determine whether each gene pair is an operon pair or not. Finally, a voting system is implemented to establish confidence in the operon pair calls. \n\n\n## Requirements\n\nOperonSEQer is designed to be run on Linux or Mac platforms and requires Python 3.7 or greater. \nSee setup.py file for specific requirements (they will be automatically installed if the protocol below is followed, but can also be installed manually)\n\nNOTE: If the RF.p file from the repo isn't working, please download the RF.p file from the following location: \nhttps://drive.google.com/file/d/1FVCuHcQWX2pSnVBA-jfTwY2df3EuS1M2/view?usp=sharing\n\n## Install\n\nIt is highly recommended to install OperonSEQer in a virtual environment such as conda:\n\n**conda create -n OperonSEQer_env python=3.7**\n\n**conda activate OperonSEQer_env**\n\n**cd \\path\\to\\cloned\\repository**\n\n**pip install -r requirements.txt**\n\n**pip install .**\n\nNote: If you are having trouble downloading dependencies through pip install (due to firewall or proxy), manually download the modules listed in the requirements file\n\n## Quick Start\n\n**python OperonSEQer -h**\n\n~~~\nusage: OperonSEQer [-h] -c COVFILE -g GFF -o OUT [-p PREDS] [-k] [-t PATH] [-d DELIMITER]\n\nOperonSEQer\n\noptional arguments:\n  -h, --help                          show this help message and exit\n  -c COVFILE, --coverage COVFILE      scaled coverage file from RNA-seq\n  -g GFF, --gff GFF                   modified gff file for organism (chr archive type start stop . strand . geneName)\n  -o OUT, --output_name OUT           output prefix\n  -t THRESH, --threshold THRESH       threshold for number of calls to become an operon (default is 3)\n  -p PREDS, --preds PREDS             prediction file (optional)\n  -k, --pickleit                      if true, saves the processed data as a pickle file\n  -t PATH, --path PATH                optional folder path where input files are and output files go (if not specified, current directory is used)\n  -d DELIMITER, --delimiter DELIMITER optional delimiter for gff file (if not specified, tab is assumed)\n~~~\n\n## Example\n\nIn the folder ExampleFiles, the following input files are provided as an example:\n\n**SRR10775302_sort.cov** - Coverage file generated from SRR10775302 (Culviner et al, 2020, DOI: https://doi.org/10.1128/mBio.00010-20)\n\n**MicrobesOnline_Operon_Ecoli_MG1655.txt** - Operon prediciton downloaded from Microbes Online (http://www.microbesonline.org/, Dehal et al, 2009, DOI: 10.1093/nar/gkp919)\n\n**Escherichia_coli_mg1655_lite.txt** - GFF file modified from original downloaded at https://bacteria.ensembl.org/index.html\n\nUse the following to obtain output files from the example:\n\npython OperonSEQer -c SRR10775302_sort.cov -g Escherichia_coli_mg1655_lite.txt -p MicrobesOnline_Operon_Ecoli_MG1655.txt -k -d space [-t if you want to specify an output path please do so]\n\n## Expected output files\n\nData_CoverageExtracted.txt - intermediate file with extracted coverages\n\nData_predsMerged.txt - intermediate file with predictions merged if a prediction was provided\n\nData_Formatted.txt - intermediate file with data formatted (and a Data_Formatted.p pickle file if requested)\n\n[Model]_result.csv - specs for each of the six models (XGB, MLP, SVM, RF, LR and GNB) if a prediction was provided\n\n[Model]_predictions.csv - operon pair predictions for each of the six models\n\n[Model] ROC curve - ROC curve for each of the six models\n\nOperonSEQer_vote_result.csv - final vote tally of operon pair calls\n\n## For advanced users:\n\nA)\nIndividual scripts are provided for more advanced users that want to run individual parts of the pipeline. \n\n1) extractCoverageInts.py\n2) mergepreds.py\n3) formatData.py\n4) OperonSEQer.py\n5) voting.py\n\nB)\nA folder called TrainingModels contains the code to train all six ML models with new data\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsandialabs%2Foperonseqer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsandialabs%2Foperonseqer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsandialabs%2Foperonseqer/lists"}