{"id":20893189,"url":"https://github.com/keiserlab/trans-channel-paper","last_synced_at":"2026-04-27T14:02:29.275Z","repository":{"id":84845374,"uuid":"285693256","full_name":"keiserlab/trans-channel-paper","owner":"keiserlab","description":null,"archived":false,"fork":false,"pushed_at":"2022-03-07T20:47:09.000Z","size":206041,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-12-28T01:50:24.455Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/keiserlab.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-08-06T23:40:40.000Z","updated_at":"2024-02-23T22:35:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"06082a3c-afbc-4e60-a577-da30cf519cab","html_url":"https://github.com/keiserlab/trans-channel-paper","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/keiserlab/trans-channel-paper","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keiserlab%2Ftrans-channel-paper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keiserlab%2Ftrans-channel-paper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keiserlab%2Ftrans-channel-paper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keiserlab%2Ftrans-channel-paper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/keiserlab","download_url":"https://codeload.github.com/keiserlab/trans-channel-paper/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keiserlab%2Ftrans-channel-paper/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32339290,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T23:26:28.701Z","status":"online","status_checked_at":"2026-04-27T02:00:06.769Z","response_time":128,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2024-11-18T10:14:55.619Z","updated_at":"2026-04-27T14:02:29.270Z","avatar_url":"https://github.com/keiserlab.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# trans-channel-paper\nauthor: Daniel Wong (wongdanr@gmail.com)\n\n## Open access image data\nhttps://osf.io/xntd6/ \u003cbr /\u003e\nIdentifier: DOI 10.17605/OSF.IO/XNTD6\n\n## The following python packages are required: \ntorch 1.2.0 \u003cbr /\u003e\ntorchvision 0.4.0 \u003cbr /\u003e\npandas 0.24.2 \u003cbr /\u003e\ncv2 4.1.1.26 \u003cbr /\u003e\nnumpy 1.16.4 \u003cbr /\u003e\nsklearn 0.21.2 \u003cbr /\u003e\n\n## Installation Instructions:\nWe've included an example conda environment in this repository called transchtranschannel_conda_env.yml. To install the necessary packages, simply install conda first (https://conda.io/projects/conda/en/latest/user-guide/install/index.html), and then\n'conda env create -f transchannel_env.yml -n transchannel_env'\nto create a new conda environment from the .yml file. Install time should take just a few minutes. \n\n## Hardware and Software Specifications:\nAll deep learning models were trained using Nvidia Geforce GTX 1080 GPUs with a 64 CPU machine.\nWe used a CentOS Linux operating system (version 7).\n\n## Content:\n\n**transchannel.py** contains the majority of the necessary code to reproduce the main results of the paper. See the docstrings for specifics. \n\n**transchannel_runner.py** This script pertains to the model training, evaluation, and supplemental analyses of the tauopathy sections of the paper. It can be run with the command \"python transchannel_runner.py {FOLD NUMBER}\". When specifying a 70/30 split, set FOLD NUMBER to be NOT in {1,2,3}.\n\n**transchannel_tests.py** This script contains unit tests and integration tests for key functions in transchannel.py.\n\n**osteosarcoma.py** This script pertains to the osteosarcoma sections of the paper. It is the runner code for training and evaluation on the functional genomics dataset. \n\n**figure_generator.py** contains code to reproduce the figures.\n\n**bash_script.sh** convenient bash script to run all of the code, from model training to model evaluation and figure generation\n\n**models:**\u003cbr /\u003e\nThis folder contains the fully trained models, including: \u003cbr /\u003e\nThe tauopathy model applied to the archival HCS\u003cbr /\u003e\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;(\"raw_1_thru_6_full_Unet_mod_continue_training_2.pt\")  \u003cbr /\u003e\nThe 3 models trained with threefold cross-validation on the ablated (95th percentile) osteosarcoma dataset  \u003cbr /\u003e\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;d0_to_d1_ablation_cyclin_only_dataset_fold1_continue_training.pt \u003cbr /\u003e\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;d0_to_d1_ablation_cyclin_only_dataset_fold2_continue_training.pt \u003cbr /\u003e\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;d0_to_d1_ablation_cyclin_only_dataset_fold3_continue_training.pt \u003cbr /\u003e\nThe 3 models trained with threefold cross-validation on the raw, unablated osteosarcoma dataset\u003cbr /\u003e\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;d0_to_d1_cyclin_only_dataset_fold1.pt  \u003cbr /\u003e\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;d0_to_d1_cyclin_only_dataset_fold2.pt \u003cbr /\u003e\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;d0_to_d1_cyclin_only_dataset_fold3.pt \u003cbr /\u003e\nThe two single channel models (i.e. one channel input to one channel output) for the supplemental tauopathy analysis\u003cbr /\u003e\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;DAPI_only_to_AT8.pt\u003cbr /\u003e\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;YFP_only_to_AT8.pt\u003cbr /\u003e\n\n**csvs:**\u003cbr /\u003e\nThis folder contains the CSVs with matching string pointers for the image datasets \u003cbr /\u003e\n\n**stats:**\u003cbr /\u003e\nThis folder contains .npy files with stats used for normalization \u003cbr /\u003e\n\n**pickles:**\u003cbr /\u003e\nThis folder is used for saving different results as pickles \u003cbr /\u003e\n\n**matplotlib_figures:**\u003cbr /\u003e\nThis folder is where figure_generator.py saves its files \u003cbr /\u003e\n\n**outputs:**\u003cbr /\u003e\nThis folder is a temporary directory used for saving images \u003cbr /\u003e\n\n**Demo:**\u003cbr /\u003e\nTo demo the model, you can run all of the tests included in transchannel_tests.py. Computation for calculating ROC can be very intensive and takes multiple hours of compute. Tests can be run with a smaller sample size by modifying the variable 'sample_size' found in transchannel_tests.py, which determines the maximum number of images to pull from the test set. \n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkeiserlab%2Ftrans-channel-paper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkeiserlab%2Ftrans-channel-paper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkeiserlab%2Ftrans-channel-paper/lists"}