{"id":17358621,"url":"https://github.com/babak2/aa_od_analyzer","last_synced_at":"2025-06-13T21:03:06.518Z","repository":{"id":183290347,"uuid":"669888595","full_name":"babak2/AA_OD_Analyzer","owner":"babak2","description":null,"archived":false,"fork":false,"pushed_at":"2023-10-24T23:04:50.000Z","size":173,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-01T19:45:07.356Z","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":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/babak2.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}},"created_at":"2023-07-23T18:54:09.000Z","updated_at":"2024-07-22T22:06:01.000Z","dependencies_parsed_at":"2023-07-23T20:23:32.238Z","dependency_job_id":"a50c5f93-d448-472b-829e-a85294fc4e30","html_url":"https://github.com/babak2/AA_OD_Analyzer","commit_stats":null,"previous_names":["babak2/aa_od_analyzer"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/babak2%2FAA_OD_Analyzer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/babak2%2FAA_OD_Analyzer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/babak2%2FAA_OD_Analyzer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/babak2%2FAA_OD_Analyzer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/babak2","download_url":"https://codeload.github.com/babak2/AA_OD_Analyzer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245878924,"owners_count":20687297,"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":[],"created_at":"2024-10-15T19:06:13.842Z","updated_at":"2025-03-27T16:17:30.115Z","avatar_url":"https://github.com/babak2.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AA_OD_Analyzer\n\nAA_OD_Analyzer (Amino Acid, Optical Density Analyzer) is a Python program for analyzing optical density (OD) data and amino acid sequences. It calculates statistics on the OD values and performs analysis on amino acid sequences to generate valuable insights for biological research.\n\nThe AA_OD_Analyzer program takes an input CSV file containing optical density and amino acid sequence data. It performs the following tasks:\n\n- Reads the input CSV file and parses the data into a Pandas DataFrame.\n- Generates a histogram of optical density values and saves it as 'output_histogram.png'.\n- Calculates statistics on amino acid sequences, including mean, maximum, and minimum optical density values.\n- Writes the amino acid sequence statistics to a CSV file named 'output_data_stats.csv'.\n\nThis tool is designed to be flexible, allowing users to enable or disable logging based on their preferences.\n\n\n## Installation\n\nClone the repository to your local machine:\n\n`git clone https://github.com/babak2/AA_OD_Analyzer.git  `\n\nor if you have the program as a ZIP file, simply extract the zip file to a directory of your choice.\n\nChange your working directory to AA_OD_Analyzer:\n\n`cd AA_OD_Analyzer`\n\n\n## Program Requirements\n\nYou need Python 3 installed \n\nMoreover, install the required dependencies using pip:\n\n`pip install pandas matplotlib argparse`\n\n\n## Input File Format\n\nThe input file should have the following format:\n\nInput Data Format:\n\nThe input data should be provided in a CSV file with the following columns:\n- optical_density: The optical density values for each amino acid sequence.\n- amino_acid_sequence: The amino acid sequences being analyzed.\n\n\n### Input Data Format\n\nThe input data should be provided in a CSV file with the following columns:\n\n| index | optical_density | amino_acid_sequence |\n|-------|-----------------|--------------------|\n| A01   | 0.8             | GFTFSSYF           |\n| A02   | 1.3             | GFTFSNYA           |\n| A03   | 1.3             | GFTFSSYW           |\n| A04   | 0.9             | GFPFEMYD           |\n| ...   | ...             | ...                |\n\n\nAn example is located in the `example_data` directory.\n\n## Output Format\n\nOutput Files:\n- output_histogram.png: A histogram plot of optical densities.\n- output_data_stats.csv: A CSV file containing statistics for each amino acid sequence.\n\nAn example is located in the `example_data` directory.\n\n\n## Usage\n\nTo use AA_OD_Analyzer, run the aa_od_analyzer.py.py script with the following command:\n\n`python3 aa_od_analyzer.py [--log]`\n\nExample usage:\n\n`python3 aa_od_analyzer.py`\n\n## Command Line Arguments\n\nAA_OD_Analyzer supports the following command-line arguments\n\n`--log`     \n: Enables logging, displaying information messages to the console and writing them to the 'logfile.log' file.\n\nExample usage:\n\n`python3 aa_od_analyzer.py --log`\n\n## Unit Tests\n\nUnit tests ensure the correctness and reliability of the AA_OD_Analyzer program. To run the unit tests, you need to be in the `tests` directory (currently the location of the input file is hard-coded which needs to change later, to pass as an argument, for example): \n\n`cd tests`\n\nand then use the test_aa_od_analyzer.py script:\n\n`python3 test_aa_od_analyzer.py`\n\nThe unit tests cover various scenarios, including file reading, data analysis, and output generation.\n\n\n## Security Considerations\n\nAA_OD_Analyzer is designed with security in mind, especially when handling sensitive data. It uses Python's standard logging library to log important events, warnings, and errors. By default, logging is disabled, but users can enable it using the --log command-line argument.\n\nWhen working with sensitive data, make sure to follow best practices for data handling, storage, and access control. Avoid sharing sensitive data through insecure channels and implement appropriate security measures to protect against unauthorized access.\n\n\n## License\n\nAA_OD_Analyzer is licensed under the GNU GENERAL PUBLIC LICENSE. See LICENSE for more information.\n\n\n## Author \n\nBabak Mahdavi Aresetani\n\nbabak.m.ardestani@gmail.com\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbabak2%2Faa_od_analyzer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbabak2%2Faa_od_analyzer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbabak2%2Faa_od_analyzer/lists"}