diff --git a/.github/prehooks/pre-commit b/.github/prehooks/pre-commit index c95c4156b..6b23238c3 100755 --- a/.github/prehooks/pre-commit +++ b/.github/prehooks/pre-commit @@ -113,9 +113,6 @@ echo "${currentversion}" > .git/commit_version.tmp # Generate GPT knowledge info for our Assistant (https://chatgpt.com/g/g-M4UNLwFi5-amr-for-r-assistant) bash data-raw/_generate_GPT_knowledge_input.sh "${currentversion}" -cd data-raw -bash _generate_python_wrapper.sh -cd .. git add data-raw/* git add PythonPackage/* git add -u diff --git a/.github/workflows/check-current-testthat.yaml b/.github/workflows/check-current-testthat.yaml index a33ddb311..0b0dde3ea 100644 --- a/.github/workflows/check-current-testthat.yaml +++ b/.github/workflows/check-current-testthat.yaml @@ -94,3 +94,15 @@ jobs: with: upload-snapshots: true build_args: 'c("--no-manual","--compact-vignettes=gs+qpdf")' + + - name: Show files + if: matrix.config.os == 'ubuntu-latest' + run: | + ls /home/runner/work/AMR/AMR/ + ls /home/runner/work/AMR/AMR/check + ls /home/runner/work/AMR/AMR/check/** + ls /home/runner/work/AMR/AMR/check/**/tests* + ls /home/runner/work/AMR/AMR/check/**/tests*/testthat/ + ls /home/runner/work/AMR/AMR/check/**/tests*/testthat/_snaps + shell: Rscript {0} + /home/runner/work/AMR/AMR/check/**/tests*/testthat/_snaps diff --git a/.github/workflows/publish-to-pypi.yml b/.github/workflows/publish-to-pypi.yml index ad12e8421..43ef09553 100644 --- a/.github/workflows/publish-to-pypi.yml +++ b/.github/workflows/publish-to-pypi.yml @@ -73,3 +73,26 @@ jobs: run: | cd PythonPackage/AMR python -m twine upload --repository-url https://test.pypi.org/legacy/ dist/* + + - name: Git push to python-wrapper branch + run: | + git config user.name "GitHub Actions" + git config user.email "<>" + + # Create and switch to python-wrapper branch (orphan if it doesn't exist) + git fetch origin python-wrapper || true + git checkout python-wrapper || git checkout --orphan python-wrapper + + # Delete all existing files from the working tree (safely) + git rm -rf . || true + rm -rf * || true + + # Copy over only PythonPackage/AMR contents from main + git checkout main -- PythonPackage/AMR + mv PythonPackage/AMR/* . + rm -rf PythonPackage + + # Commit and push if changes exist + git add . + git commit -m "Python wrapper update" || echo "No changes to commit" + git push origin python-wrapper --force diff --git a/DESCRIPTION b/DESCRIPTION index ea0b25052..4e5882a93 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,5 +1,5 @@ Package: AMR -Version: 2.1.1.9203 +Version: 2.1.1.9204 Date: 2025-03-15 Title: Antimicrobial Resistance Data Analysis Description: Functions to simplify and standardise antimicrobial resistance (AMR) diff --git a/NEWS.md b/NEWS.md index 9f8c73ae0..0bd207a7f 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,4 +1,4 @@ -# AMR 2.1.1.9203 +# AMR 2.1.1.9204 *(this beta version will eventually become v3.0. We're happy to reach a new major milestone soon, which will be all about the new One Health support! Install this beta using [the instructions here](https://msberends.github.io/AMR/#latest-development-version).)* diff --git a/PythonPackage/AMR/AMR.egg-info/PKG-INFO b/PythonPackage/AMR/AMR.egg-info/PKG-INFO deleted file mode 100644 index 8efa895dc..000000000 --- a/PythonPackage/AMR/AMR.egg-info/PKG-INFO +++ /dev/null @@ -1,223 +0,0 @@ -Metadata-Version: 2.2 -Name: AMR -Version: 2.1.1.9203 -Summary: A Python wrapper for the AMR R package -Home-page: https://github.com/msberends/AMR -Author: Matthijs Berends -Author-email: m.s.berends@umcg.nl -License: GPL 2 -Project-URL: Bug Tracker, https://github.com/msberends/AMR/issues -Classifier: Programming Language :: Python :: 3 -Classifier: Operating System :: OS Independent -Requires-Python: >=3.6 -Description-Content-Type: text/markdown -Requires-Dist: rpy2 -Requires-Dist: numpy -Requires-Dist: pandas -Dynamic: author -Dynamic: author-email -Dynamic: classifier -Dynamic: description -Dynamic: description-content-type -Dynamic: home-page -Dynamic: license -Dynamic: project-url -Dynamic: requires-dist -Dynamic: requires-python -Dynamic: summary - ---- -title: "AMR for Python" -output: - rmarkdown::html_vignette: - toc: true - toc_depth: 3 -vignette: > - %\VignetteIndexEntry{AMR for Python} - %\VignetteEncoding{UTF-8} - %\VignetteEngine{knitr::rmarkdown} -editor_options: - chunk_output_type: console ---- - -```{r setup, include = FALSE, results = 'markup'} -knitr::opts_chunk$set( - warning = FALSE, - collapse = TRUE, - comment = "#>", - fig.width = 7.5, - fig.height = 5 -) -``` - -# Introduction - -The `AMR` package for R is a powerful tool for antimicrobial resistance (AMR) analysis. It provides extensive features for handling microbial and antimicrobial data. However, for those who work primarily in Python, we now have a more intuitive option available: the [`AMR` Python Package Index](https://pypi.org/project/AMR/). - -This Python package is a wrapper round the `AMR` R package. It uses the `rpy2` package internally. Despite the need to have R installed, Python users can now easily work with AMR data directly through Python code. - -# Install - -1. Since the Python package is available on the official [Python Package Index](https://pypi.org/project/AMR/), you can just run: - - ```bash - pip install AMR - ``` - -2. Make sure you have R installed. There is **no need to install the `AMR` R package**, as it will be installed automatically. - - For Linux: - - ```bash - # Ubuntu / Debian - sudo apt install r-base - # Fedora: - sudo dnf install R - # CentOS/RHEL - sudo yum install R - ``` - - For macOS (using [Homebrew](https://brew.sh)): - - ```bash - brew install r - ``` - - For Windows, visit the [CRAN download page](https://cran.r-project.org) to download and install R. - -# Examples of Usage - -## Cleaning Taxonomy - -Here’s an example that demonstrates how to clean microorganism and drug names using the `AMR` Python package: - -```python -import pandas as pd -import AMR - -# Sample data -data = { - "MOs": ['E. coli', 'ESCCOL', 'esco', 'Esche coli'], - "Drug": ['Cipro', 'CIP', 'J01MA02', 'Ciproxin'] -} -df = pd.DataFrame(data) - -# Use AMR functions to clean microorganism and drug names -df['MO_clean'] = AMR.mo_name(df['MOs']) -df['Drug_clean'] = AMR.ab_name(df['Drug']) - -# Display the results -print(df) -``` - -| MOs | Drug | MO_clean | Drug_clean | -|-------------|-----------|--------------------|---------------| -| E. coli | Cipro | Escherichia coli | Ciprofloxacin | -| ESCCOL | CIP | Escherichia coli | Ciprofloxacin | -| esco | J01MA02 | Escherichia coli | Ciprofloxacin | -| Esche coli | Ciproxin | Escherichia coli | Ciprofloxacin | - -### Explanation - -* **mo_name:** This function standardises microorganism names. Here, different variations of *Escherichia coli* (such as "E. coli", "ESCCOL", "esco", and "Esche coli") are all converted into the correct, standardised form, "Escherichia coli". - -* **ab_name**: Similarly, this function standardises antimicrobial names. The different representations of ciprofloxacin (e.g., "Cipro", "CIP", "J01MA02", and "Ciproxin") are all converted to the standard name, "Ciprofloxacin". - -## Calculating AMR - -```python -import AMR -import pandas as pd - -df = AMR.example_isolates -result = AMR.resistance(df["AMX"]) -print(result) -``` - -``` -[0.59555556] -``` - -## Generating Antibiograms - -One of the core functions of the `AMR` package is generating an antibiogram, a table that summarises the antimicrobial susceptibility of bacterial isolates. Here’s how you can generate an antibiogram from Python: - -```python -result2a = AMR.antibiogram(df[["mo", "AMX", "CIP", "TZP"]]) -print(result2a) -``` - -| Pathogen | Amoxicillin | Ciprofloxacin | Piperacillin/tazobactam | -|-----------------|-----------------|-----------------|--------------------------| -| CoNS | 7% (10/142) | 73% (183/252) | 30% (10/33) | -| E. coli | 50% (196/392) | 88% (399/456) | 94% (393/416) | -| K. pneumoniae | 0% (0/58) | 96% (53/55) | 89% (47/53) | -| P. aeruginosa | 0% (0/30) | 100% (30/30) | None | -| P. mirabilis | None | 94% (34/36) | None | -| S. aureus | 6% (8/131) | 90% (171/191) | None | -| S. epidermidis | 1% (1/91) | 64% (87/136) | None | -| S. hominis | None | 80% (56/70) | None | -| S. pneumoniae | 100% (112/112) | None | 100% (112/112) | - - -```python -result2b = AMR.antibiogram(df[["mo", "AMX", "CIP", "TZP"]], mo_transform = "gramstain") -print(result2b) -``` - -| Pathogen | Amoxicillin | Ciprofloxacin | Piperacillin/tazobactam | -|----------------|-----------------|------------------|--------------------------| -| Gram-negative | 36% (226/631) | 91% (621/684) | 88% (565/641) | -| Gram-positive | 43% (305/703) | 77% (560/724) | 86% (296/345) | - - -In this example, we generate an antibiogram by selecting various antibiotics. - -## Taxonomic Data Sets Now in Python! - -As a Python user, you might like that the most important data sets of the `AMR` R package, `microorganisms`, `antimicrobials`, `clinical_breakpoints`, and `example_isolates`, are now available as regular Python data frames: - -```python -AMR.microorganisms -``` - -| mo | fullname | status | kingdom | gbif | gbif_parent | gbif_renamed_to | prevalence | -|--------------|------------------------------------|----------|----------|-----------|-------------|-----------------|------------| -| B_GRAMN | (unknown Gram-negatives) | unknown | Bacteria | None | None | None | 2.0 | -| B_GRAMP | (unknown Gram-positives) | unknown | Bacteria | None | None | None | 2.0 | -| B_ANAER-NEG | (unknown anaerobic Gram-negatives) | unknown | Bacteria | None | None | None | 2.0 | -| B_ANAER-POS | (unknown anaerobic Gram-positives) | unknown | Bacteria | None | None | None | 2.0 | -| B_ANAER | (unknown anaerobic bacteria) | unknown | Bacteria | None | None | None | 2.0 | -| ... | ... | ... | ... | ... | ... | ... | ... | -| B_ZYMMN_POMC | Zymomonas pomaceae | accepted | Bacteria | 10744418 | 3221412 | None | 2.0 | -| B_ZYMPH | Zymophilus | synonym | Bacteria | None | 9475166 | None | 2.0 | -| B_ZYMPH_PCVR | Zymophilus paucivorans | synonym | Bacteria | None | None | None | 2.0 | -| B_ZYMPH_RFFN | Zymophilus raffinosivorans | synonym | Bacteria | None | None | None | 2.0 | -| F_ZYZYG | Zyzygomyces | unknown | Fungi | None | 7581 | None | 2.0 | - -```python -AMR.antimicrobials -``` - -| ab | cid | name | group | oral_ddd | oral_units | iv_ddd | iv_units | -|-----|-------------|----------------------|----------------------------|----------|------------|--------|----------| -| AMA | 4649.0 | 4-aminosalicylic acid| Antimycobacterials | 12.00 | g | NaN | None | -| ACM | 6450012.0 | Acetylmidecamycin | Macrolides/lincosamides | NaN | None | NaN | None | -| ASP | 49787020.0 | Acetylspiramycin | Macrolides/lincosamides | NaN | None | NaN | None | -| ALS | 8954.0 | Aldesulfone sodium | Other antibacterials | 0.33 | g | NaN | None | -| AMK | 37768.0 | Amikacin | Aminoglycosides | NaN | None | 1.0 | g | -| ... | ... | ... | ... | ... | ... | ... | ... | -| VIR | 11979535.0 | Virginiamycine | Other antibacterials | NaN | None | NaN | None | -| VOR | 71616.0 | Voriconazole | Antifungals/antimycotics | 0.40 | g | 0.4 | g | -| XBR | 72144.0 | Xibornol | Other antibacterials | NaN | None | NaN | None | -| ZID | 77846445.0 | Zidebactam | Other antibacterials | NaN | None | NaN | None | -| ZFD | NaN | Zoliflodacin | None | NaN | None | NaN | None | - - -# Conclusion - -With the `AMR` Python package, Python users can now effortlessly call R functions from the `AMR` R package. This eliminates the need for complex `rpy2` configurations and provides a clean, easy-to-use interface for antimicrobial resistance analysis. The examples provided above demonstrate how this can be applied to typical workflows, such as standardising microorganism and antimicrobial names or calculating resistance. - -By just running `import AMR`, users can seamlessly integrate the robust features of the R `AMR` package into Python workflows. - -Whether you're cleaning data or analysing resistance patterns, the `AMR` Python package makes it easy to work with AMR data in Python. diff --git a/PythonPackage/AMR/AMR.egg-info/SOURCES.txt b/PythonPackage/AMR/AMR.egg-info/SOURCES.txt deleted file mode 100644 index f37c14848..000000000 --- a/PythonPackage/AMR/AMR.egg-info/SOURCES.txt +++ /dev/null @@ -1,10 +0,0 @@ -README.md -setup.py -AMR/__init__.py -AMR/datasets.py -AMR/functions.py -AMR.egg-info/PKG-INFO -AMR.egg-info/SOURCES.txt -AMR.egg-info/dependency_links.txt -AMR.egg-info/requires.txt -AMR.egg-info/top_level.txt \ No newline at end of file diff --git a/PythonPackage/AMR/AMR.egg-info/dependency_links.txt b/PythonPackage/AMR/AMR.egg-info/dependency_links.txt deleted file mode 100644 index 8b1378917..000000000 --- a/PythonPackage/AMR/AMR.egg-info/dependency_links.txt +++ /dev/null @@ -1 +0,0 @@ - diff --git a/PythonPackage/AMR/AMR.egg-info/requires.txt b/PythonPackage/AMR/AMR.egg-info/requires.txt deleted file mode 100644 index fb2bcf682..000000000 --- a/PythonPackage/AMR/AMR.egg-info/requires.txt +++ /dev/null @@ -1,3 +0,0 @@ -rpy2 -numpy -pandas diff --git a/PythonPackage/AMR/AMR.egg-info/top_level.txt b/PythonPackage/AMR/AMR.egg-info/top_level.txt deleted file mode 100644 index 18f3926f7..000000000 --- a/PythonPackage/AMR/AMR.egg-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -AMR diff --git a/PythonPackage/AMR/AMR/__init__.py b/PythonPackage/AMR/AMR/__init__.py deleted file mode 100644 index ddc4a41a3..000000000 --- a/PythonPackage/AMR/AMR/__init__.py +++ /dev/null @@ -1,212 +0,0 @@ -from .datasets import example_isolates -from .datasets import microorganisms -from .datasets import antimicrobials -from .datasets import clinical_breakpoints -from .functions import ab_class -from .functions import ab_selector -from .functions import ab_from_text -from .functions import ab_name -from .functions import ab_cid -from .functions import ab_synonyms -from .functions import ab_tradenames -from .functions import ab_group -from .functions import ab_atc -from .functions import ab_atc_group1 -from .functions import ab_atc_group2 -from .functions import ab_loinc -from .functions import ab_ddd -from .functions import ab_ddd_units -from .functions import ab_info -from .functions import ab_url -from .functions import ab_property -from .functions import add_custom_antimicrobials -from .functions import clear_custom_antimicrobials -from .functions import add_custom_microorganisms -from .functions import clear_custom_microorganisms -from .functions import age -from .functions import age_groups -from .functions import antibiogram -from .functions import wisca -from .functions import retrieve_wisca_parameters -from .functions import aminoglycosides -from .functions import aminopenicillins -from .functions import antifungals -from .functions import antimycobacterials -from .functions import betalactams -from .functions import betalactams_with_inhibitor -from .functions import carbapenems -from .functions import cephalosporins -from .functions import cephalosporins_1st -from .functions import cephalosporins_2nd -from .functions import cephalosporins_3rd -from .functions import cephalosporins_4th -from .functions import cephalosporins_5th -from .functions import fluoroquinolones -from .functions import glycopeptides -from .functions import isoxazolylpenicillins -from .functions import lincosamides -from .functions import lipoglycopeptides -from .functions import macrolides -from .functions import monobactams -from .functions import nitrofurans -from .functions import oxazolidinones -from .functions import penicillins -from .functions import phenicols -from .functions import polymyxins -from .functions import quinolones -from .functions import rifamycins -from .functions import streptogramins -from .functions import tetracyclines -from .functions import trimethoprims -from .functions import ureidopenicillins -from .functions import amr_class -from .functions import amr_selector -from .functions import administrable_per_os -from .functions import administrable_iv -from .functions import not_intrinsic_resistant -from .functions import as_ab -from .functions import is_ab -from .functions import ab_reset_session -from .functions import as_av -from .functions import is_av -from .functions import as_disk -from .functions import is_disk -from .functions import as_mic -from .functions import is_mic -from .functions import rescale_mic -from .functions import mic_p50 -from .functions import mic_p90 -from .functions import as_mo -from .functions import is_mo -from .functions import mo_uncertainties -from .functions import mo_renamed -from .functions import mo_failures -from .functions import mo_reset_session -from .functions import mo_cleaning_regex -from .functions import as_sir -from .functions import is_sir -from .functions import is_sir_eligible -from .functions import sir_interpretation_history -from .functions import atc_online_property -from .functions import atc_online_groups -from .functions import atc_online_ddd -from .functions import atc_online_ddd_units -from .functions import av_from_text -from .functions import av_name -from .functions import av_cid -from .functions import av_synonyms -from .functions import av_tradenames -from .functions import av_group -from .functions import av_atc -from .functions import av_loinc -from .functions import av_ddd -from .functions import av_ddd_units -from .functions import av_info -from .functions import av_url -from .functions import av_property -from .functions import availability -from .functions import bug_drug_combinations -from .functions import count_resistant -from .functions import count_susceptible -from .functions import count_S -from .functions import count_SI -from .functions import count_I -from .functions import count_IR -from .functions import count_R -from .functions import count_all -from .functions import n_sir -from .functions import count_df -from .functions import custom_eucast_rules -from .functions import eucast_rules -from .functions import eucast_dosage -from .functions import export_ncbi_biosample -from .functions import first_isolate -from .functions import filter_first_isolate -from .functions import g_test -from .functions import is_new_episode -from .functions import ggplot_pca -from .functions import ggplot_sir -from .functions import geom_sir -from .functions import guess_ab_col -from .functions import italicise_taxonomy -from .functions import italicize_taxonomy -from .functions import inner_join_microorganisms -from .functions import left_join_microorganisms -from .functions import right_join_microorganisms -from .functions import full_join_microorganisms -from .functions import semi_join_microorganisms -from .functions import anti_join_microorganisms -from .functions import key_antimicrobials -from .functions import all_antimicrobials -from .functions import kurtosis -from .functions import like -from .functions import mdro -from .functions import custom_mdro_guideline -from .functions import brmo -from .functions import mrgn -from .functions import mdr_tb -from .functions import mdr_cmi2012 -from .functions import eucast_exceptional_phenotypes -from .functions import mean_amr_distance -from .functions import amr_distance_from_row -from .functions import mo_matching_score -from .functions import mo_name -from .functions import mo_fullname -from .functions import mo_shortname -from .functions import mo_subspecies -from .functions import mo_species -from .functions import mo_genus -from .functions import mo_family -from .functions import mo_order -from .functions import mo_class -from .functions import mo_phylum -from .functions import mo_kingdom -from .functions import mo_domain -from .functions import mo_type -from .functions import mo_status -from .functions import mo_pathogenicity -from .functions import mo_gramstain -from .functions import mo_is_gram_negative -from .functions import mo_is_gram_positive -from .functions import mo_is_yeast -from .functions import mo_is_intrinsic_resistant -from .functions import mo_oxygen_tolerance -from .functions import mo_is_anaerobic -from .functions import mo_snomed -from .functions import mo_ref -from .functions import mo_authors -from .functions import mo_year -from .functions import mo_lpsn -from .functions import mo_mycobank -from .functions import mo_gbif -from .functions import mo_rank -from .functions import mo_taxonomy -from .functions import mo_synonyms -from .functions import mo_current -from .functions import mo_group_members -from .functions import mo_info -from .functions import mo_url -from .functions import mo_property -from .functions import pca -from .functions import theme_sir -from .functions import labels_sir_count -from .functions import resistance -from .functions import susceptibility -from .functions import sir_confidence_interval -from .functions import proportion_R -from .functions import proportion_IR -from .functions import proportion_I -from .functions import proportion_SI -from .functions import proportion_S -from .functions import proportion_df -from .functions import sir_df -from .functions import random_mic -from .functions import random_disk -from .functions import random_sir -from .functions import resistance_predict -from .functions import sir_predict -from .functions import ggplot_sir_predict -from .functions import skewness -from .functions import top_n_microorganisms -from .functions import reset_AMR_locale -from .functions import translate_AMR diff --git a/PythonPackage/AMR/AMR/datasets.py b/PythonPackage/AMR/AMR/datasets.py deleted file mode 100644 index 79d691ade..000000000 --- a/PythonPackage/AMR/AMR/datasets.py +++ /dev/null @@ -1,79 +0,0 @@ -import os -import sys -from rpy2 import robjects -from rpy2.robjects import pandas2ri -from rpy2.robjects.packages import importr, isinstalled -import pandas as pd -import importlib.metadata as metadata - -# Get the path to the virtual environment -venv_path = sys.prefix - -# Define R library path within the venv -r_lib_path = os.path.join(venv_path, "R_libs") -# Ensure the R library path exists -os.makedirs(r_lib_path, exist_ok=True) - -# Import base and utils -base = importr('base') -utils = importr('utils') - -base.options(warn = -1) - -# Override R library paths globally for the session -robjects.r(f'.Library.site <- "{r_lib_path}"') # Replace site-specific library -base._libPaths(r_lib_path) # Override .libPaths() as well - -# Get the effective library path -r_amr_lib_path = base._libPaths()[0] - -# Check if the AMR package is installed in R -if not isinstalled('AMR', lib_loc=r_amr_lib_path): - print(f"AMR: Installing latest AMR R package to {r_amr_lib_path}...", flush=True) - utils.install_packages('AMR', repos='https://msberends.r-universe.dev', quiet=True) - -# Python package version of AMR -try: - python_amr_version = metadata.version('AMR') -except metadata.PackageNotFoundError: - python_amr_version = '' - -# R package version of AMR -r_amr_version = robjects.r(f'as.character(packageVersion("AMR", lib.loc = "{r_lib_path}"))')[0] - -# Compare R and Python package versions -if r_amr_version != python_amr_version: - try: - print(f"AMR: Updating AMR package in {r_amr_lib_path}...", flush=True) - utils.install_packages('AMR', repos='https://msberends.r-universe.dev', quiet=True) - except Exception as e: - print(f"AMR: Could not update: {e}", flush=True) - -print(f"AMR: Setting up R environment and AMR datasets...", flush=True) - -# Activate the automatic conversion between R and pandas DataFrames -pandas2ri.activate() - -# example_isolates -example_isolates = pandas2ri.rpy2py(robjects.r(''' -df <- AMR::example_isolates -df[] <- lapply(df, function(x) { - if (inherits(x, c("Date", "POSIXt", "factor"))) { - as.character(x) - } else { - x - } -}) -df <- df[, !sapply(df, is.list)] -df -''')) -example_isolates['date'] = pd.to_datetime(example_isolates['date']) - -# microorganisms -microorganisms = pandas2ri.rpy2py(robjects.r('AMR::microorganisms[, !sapply(AMR::microorganisms, is.list)]')) -antimicrobials = pandas2ri.rpy2py(robjects.r('AMR::antimicrobials[, !sapply(AMR::antimicrobials, is.list)]')) -clinical_breakpoints = pandas2ri.rpy2py(robjects.r('AMR::clinical_breakpoints[, !sapply(AMR::clinical_breakpoints, is.list)]')) - -base.options(warn = 0) - -print(f"AMR: Done.", flush=True) diff --git a/PythonPackage/AMR/AMR/functions.py b/PythonPackage/AMR/AMR/functions.py deleted file mode 100644 index 05f53a448..000000000 --- a/PythonPackage/AMR/AMR/functions.py +++ /dev/null @@ -1,662 +0,0 @@ -import rpy2.robjects as robjects -from rpy2.robjects.packages import importr -from rpy2.robjects.vectors import StrVector, FactorVector, IntVector, FloatVector, DataFrame -from rpy2.robjects import pandas2ri -import pandas as pd -import numpy as np - -# Activate automatic conversion between R data frames and pandas data frames -pandas2ri.activate() - -# Import the AMR R package -amr_r = importr('AMR') - -def convert_to_python(r_output): - # Check if it's a StrVector (R character vector) - if isinstance(r_output, StrVector): - return list(r_output) # Convert to a Python list of strings - - # Check if it's a FactorVector (R factor) - elif isinstance(r_output, FactorVector): - return list(r_output) # Convert to a list of integers (factor levels) - - # Check if it's an IntVector or FloatVector (numeric R vectors) - elif isinstance(r_output, (IntVector, FloatVector)): - return list(r_output) # Convert to a Python list of integers or floats - - # Check if it's a pandas-compatible R data frame - elif isinstance(r_output, pd.DataFrame): - return r_output # Return as pandas DataFrame (already converted by pandas2ri) - elif isinstance(r_output, DataFrame): - return pandas2ri.rpy2py(r_output) # Return as pandas DataFrame - - # Check if the input is a NumPy array and has a string data type - if isinstance(r_output, np.ndarray) and np.issubdtype(r_output.dtype, np.str_): - return r_output.tolist() # Convert to a regular Python list - - # Fall-back - return r_output -def ab_class(*args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.ab_class(*args, **kwargs)) -def ab_selector(*args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.ab_selector(*args, **kwargs)) -def ab_from_text(text, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.ab_from_text(text, *args, **kwargs)) -def ab_name(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.ab_name(x, *args, **kwargs)) -def ab_cid(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.ab_cid(x, *args, **kwargs)) -def ab_synonyms(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.ab_synonyms(x, *args, **kwargs)) -def ab_tradenames(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.ab_tradenames(x, *args, **kwargs)) -def ab_group(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.ab_group(x, *args, **kwargs)) -def ab_atc(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.ab_atc(x, *args, **kwargs)) -def ab_atc_group1(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.ab_atc_group1(x, *args, **kwargs)) -def ab_atc_group2(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.ab_atc_group2(x, *args, **kwargs)) -def ab_loinc(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.ab_loinc(x, *args, **kwargs)) -def ab_ddd(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.ab_ddd(x, *args, **kwargs)) -def ab_ddd_units(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.ab_ddd_units(x, *args, **kwargs)) -def ab_info(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.ab_info(x, *args, **kwargs)) -def ab_url(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.ab_url(x, *args, **kwargs)) -def ab_property(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.ab_property(x, *args, **kwargs)) -def add_custom_antimicrobials(x): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.add_custom_antimicrobials(x)) -def clear_custom_antimicrobials(*args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.clear_custom_antimicrobials(*args, **kwargs)) -def add_custom_microorganisms(x): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.add_custom_microorganisms(x)) -def clear_custom_microorganisms(*args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.clear_custom_microorganisms(*args, **kwargs)) -def age(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.age(x, *args, **kwargs)) -def age_groups(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.age_groups(x, *args, **kwargs)) -def antibiogram(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.antibiogram(x, *args, **kwargs)) -def wisca(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.wisca(x, *args, **kwargs)) -def retrieve_wisca_parameters(wisca_model, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.retrieve_wisca_parameters(wisca_model, *args, **kwargs)) -def aminoglycosides(only_sir_columns = False, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.aminoglycosides(only_sir_columns = False, *args, **kwargs)) -def aminopenicillins(only_sir_columns = False, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.aminopenicillins(only_sir_columns = False, *args, **kwargs)) -def antifungals(only_sir_columns = False, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.antifungals(only_sir_columns = False, *args, **kwargs)) -def antimycobacterials(only_sir_columns = False, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.antimycobacterials(only_sir_columns = False, *args, **kwargs)) -def betalactams(only_sir_columns = False, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.betalactams(only_sir_columns = False, *args, **kwargs)) -def betalactams_with_inhibitor(only_sir_columns = False, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.betalactams_with_inhibitor(only_sir_columns = False, *args, **kwargs)) -def carbapenems(only_sir_columns = False, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.carbapenems(only_sir_columns = False, *args, **kwargs)) -def cephalosporins(only_sir_columns = False, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.cephalosporins(only_sir_columns = False, *args, **kwargs)) -def cephalosporins_1st(only_sir_columns = False, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.cephalosporins_1st(only_sir_columns = False, *args, **kwargs)) -def cephalosporins_2nd(only_sir_columns = False, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.cephalosporins_2nd(only_sir_columns = False, *args, **kwargs)) -def cephalosporins_3rd(only_sir_columns = False, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.cephalosporins_3rd(only_sir_columns = False, *args, **kwargs)) -def cephalosporins_4th(only_sir_columns = False, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.cephalosporins_4th(only_sir_columns = False, *args, **kwargs)) -def cephalosporins_5th(only_sir_columns = False, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.cephalosporins_5th(only_sir_columns = False, *args, **kwargs)) -def fluoroquinolones(only_sir_columns = False, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.fluoroquinolones(only_sir_columns = False, *args, **kwargs)) -def glycopeptides(only_sir_columns = False, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.glycopeptides(only_sir_columns = False, *args, **kwargs)) -def isoxazolylpenicillins(only_sir_columns = False, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.isoxazolylpenicillins(only_sir_columns = False, *args, **kwargs)) -def lincosamides(only_sir_columns = False, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.lincosamides(only_sir_columns = False, *args, **kwargs)) -def lipoglycopeptides(only_sir_columns = False, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.lipoglycopeptides(only_sir_columns = False, *args, **kwargs)) -def macrolides(only_sir_columns = False, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.macrolides(only_sir_columns = False, *args, **kwargs)) -def monobactams(only_sir_columns = False, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.monobactams(only_sir_columns = False, *args, **kwargs)) -def nitrofurans(only_sir_columns = False, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.nitrofurans(only_sir_columns = False, *args, **kwargs)) -def oxazolidinones(only_sir_columns = False, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.oxazolidinones(only_sir_columns = False, *args, **kwargs)) -def penicillins(only_sir_columns = False, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.penicillins(only_sir_columns = False, *args, **kwargs)) -def phenicols(only_sir_columns = False, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.phenicols(only_sir_columns = False, *args, **kwargs)) -def polymyxins(only_sir_columns = False, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.polymyxins(only_sir_columns = False, *args, **kwargs)) -def quinolones(only_sir_columns = False, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.quinolones(only_sir_columns = False, *args, **kwargs)) -def rifamycins(only_sir_columns = False, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.rifamycins(only_sir_columns = False, *args, **kwargs)) -def streptogramins(only_sir_columns = False, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.streptogramins(only_sir_columns = False, *args, **kwargs)) -def tetracyclines(only_sir_columns = False, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.tetracyclines(only_sir_columns = False, *args, **kwargs)) -def trimethoprims(only_sir_columns = False, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.trimethoprims(only_sir_columns = False, *args, **kwargs)) -def ureidopenicillins(only_sir_columns = False, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.ureidopenicillins(only_sir_columns = False, *args, **kwargs)) -def amr_class(amr_class, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.amr_class(amr_class, *args, **kwargs)) -def amr_selector(filter, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.amr_selector(filter, *args, **kwargs)) -def administrable_per_os(only_sir_columns = False, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.administrable_per_os(only_sir_columns = False, *args, **kwargs)) -def administrable_iv(only_sir_columns = False, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.administrable_iv(only_sir_columns = False, *args, **kwargs)) -def not_intrinsic_resistant(only_sir_columns = False, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.not_intrinsic_resistant(only_sir_columns = False, *args, **kwargs)) -def as_ab(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.as_ab(x, *args, **kwargs)) -def is_ab(x): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.is_ab(x)) -def ab_reset_session(*args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.ab_reset_session(*args, **kwargs)) -def as_av(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.as_av(x, *args, **kwargs)) -def is_av(x): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.is_av(x)) -def as_disk(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.as_disk(x, *args, **kwargs)) -def is_disk(x): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.is_disk(x)) -def as_mic(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.as_mic(x, *args, **kwargs)) -def is_mic(x): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.is_mic(x)) -def rescale_mic(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.rescale_mic(x, *args, **kwargs)) -def mic_p50(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.mic_p50(x, *args, **kwargs)) -def mic_p90(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.mic_p90(x, *args, **kwargs)) -def as_mo(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.as_mo(x, *args, **kwargs)) -def is_mo(x): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.is_mo(x)) -def mo_uncertainties(*args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.mo_uncertainties(*args, **kwargs)) -def mo_renamed(*args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.mo_renamed(*args, **kwargs)) -def mo_failures(*args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.mo_failures(*args, **kwargs)) -def mo_reset_session(*args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.mo_reset_session(*args, **kwargs)) -def mo_cleaning_regex(*args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.mo_cleaning_regex(*args, **kwargs)) -def as_sir(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.as_sir(x, *args, **kwargs)) -def is_sir(x): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.is_sir(x)) -def is_sir_eligible(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.is_sir_eligible(x, *args, **kwargs)) -def sir_interpretation_history(clean): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.sir_interpretation_history(clean)) -def atc_online_property(atc_code, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.atc_online_property(atc_code, *args, **kwargs)) -def atc_online_groups(atc_code, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.atc_online_groups(atc_code, *args, **kwargs)) -def atc_online_ddd(atc_code, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.atc_online_ddd(atc_code, *args, **kwargs)) -def atc_online_ddd_units(atc_code, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.atc_online_ddd_units(atc_code, *args, **kwargs)) -def av_from_text(text, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.av_from_text(text, *args, **kwargs)) -def av_name(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.av_name(x, *args, **kwargs)) -def av_cid(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.av_cid(x, *args, **kwargs)) -def av_synonyms(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.av_synonyms(x, *args, **kwargs)) -def av_tradenames(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.av_tradenames(x, *args, **kwargs)) -def av_group(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.av_group(x, *args, **kwargs)) -def av_atc(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.av_atc(x, *args, **kwargs)) -def av_loinc(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.av_loinc(x, *args, **kwargs)) -def av_ddd(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.av_ddd(x, *args, **kwargs)) -def av_ddd_units(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.av_ddd_units(x, *args, **kwargs)) -def av_info(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.av_info(x, *args, **kwargs)) -def av_url(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.av_url(x, *args, **kwargs)) -def av_property(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.av_property(x, *args, **kwargs)) -def availability(tbl, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.availability(tbl, *args, **kwargs)) -def bug_drug_combinations(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.bug_drug_combinations(x, *args, **kwargs)) -def count_resistant(*args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.count_resistant(*args, **kwargs)) -def count_susceptible(*args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.count_susceptible(*args, **kwargs)) -def count_S(*args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.count_S(*args, **kwargs)) -def count_SI(*args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.count_SI(*args, **kwargs)) -def count_I(*args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.count_I(*args, **kwargs)) -def count_IR(*args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.count_IR(*args, **kwargs)) -def count_R(*args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.count_R(*args, **kwargs)) -def count_all(*args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.count_all(*args, **kwargs)) -def n_sir(*args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.n_sir(*args, **kwargs)) -def count_df(data, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.count_df(data, *args, **kwargs)) -def custom_eucast_rules(*args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.custom_eucast_rules(*args, **kwargs)) -def eucast_rules(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.eucast_rules(x, *args, **kwargs)) -def eucast_dosage(ab, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.eucast_dosage(ab, *args, **kwargs)) -def export_ncbi_biosample(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.export_ncbi_biosample(x, *args, **kwargs)) -def first_isolate(x = None, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.first_isolate(x = None, *args, **kwargs)) -def filter_first_isolate(x = None, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.filter_first_isolate(x = None, *args, **kwargs)) -def g_test(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.g_test(x, *args, **kwargs)) -def is_new_episode(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.is_new_episode(x, *args, **kwargs)) -def ggplot_pca(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.ggplot_pca(x, *args, **kwargs)) -def ggplot_sir(data, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.ggplot_sir(data, *args, **kwargs)) -def geom_sir(position = None, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.geom_sir(position = None, *args, **kwargs)) -def guess_ab_col(x = None, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.guess_ab_col(x = None, *args, **kwargs)) -def italicise_taxonomy(string, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.italicise_taxonomy(string, *args, **kwargs)) -def italicize_taxonomy(string, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.italicize_taxonomy(string, *args, **kwargs)) -def inner_join_microorganisms(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.inner_join_microorganisms(x, *args, **kwargs)) -def left_join_microorganisms(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.left_join_microorganisms(x, *args, **kwargs)) -def right_join_microorganisms(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.right_join_microorganisms(x, *args, **kwargs)) -def full_join_microorganisms(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.full_join_microorganisms(x, *args, **kwargs)) -def semi_join_microorganisms(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.semi_join_microorganisms(x, *args, **kwargs)) -def anti_join_microorganisms(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.anti_join_microorganisms(x, *args, **kwargs)) -def key_antimicrobials(x = None, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.key_antimicrobials(x = None, *args, **kwargs)) -def all_antimicrobials(x = None, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.all_antimicrobials(x = None, *args, **kwargs)) -def kurtosis(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.kurtosis(x, *args, **kwargs)) -def like(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.like(x, *args, **kwargs)) -def mdro(x = None, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.mdro(x = None, *args, **kwargs)) -def custom_mdro_guideline(*args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.custom_mdro_guideline(*args, **kwargs)) -def brmo(x = None, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.brmo(x = None, *args, **kwargs)) -def mrgn(x = None, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.mrgn(x = None, *args, **kwargs)) -def mdr_tb(x = None, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.mdr_tb(x = None, *args, **kwargs)) -def mdr_cmi2012(x = None, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.mdr_cmi2012(x = None, *args, **kwargs)) -def eucast_exceptional_phenotypes(x = None, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.eucast_exceptional_phenotypes(x = None, *args, **kwargs)) -def mean_amr_distance(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.mean_amr_distance(x, *args, **kwargs)) -def amr_distance_from_row(amr_distance, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.amr_distance_from_row(amr_distance, *args, **kwargs)) -def mo_matching_score(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.mo_matching_score(x, *args, **kwargs)) -def mo_name(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.mo_name(x, *args, **kwargs)) -def mo_fullname(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.mo_fullname(x, *args, **kwargs)) -def mo_shortname(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.mo_shortname(x, *args, **kwargs)) -def mo_subspecies(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.mo_subspecies(x, *args, **kwargs)) -def mo_species(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.mo_species(x, *args, **kwargs)) -def mo_genus(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.mo_genus(x, *args, **kwargs)) -def mo_family(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.mo_family(x, *args, **kwargs)) -def mo_order(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.mo_order(x, *args, **kwargs)) -def mo_class(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.mo_class(x, *args, **kwargs)) -def mo_phylum(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.mo_phylum(x, *args, **kwargs)) -def mo_kingdom(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.mo_kingdom(x, *args, **kwargs)) -def mo_domain(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.mo_domain(x, *args, **kwargs)) -def mo_type(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.mo_type(x, *args, **kwargs)) -def mo_status(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.mo_status(x, *args, **kwargs)) -def mo_pathogenicity(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.mo_pathogenicity(x, *args, **kwargs)) -def mo_gramstain(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.mo_gramstain(x, *args, **kwargs)) -def mo_is_gram_negative(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.mo_is_gram_negative(x, *args, **kwargs)) -def mo_is_gram_positive(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.mo_is_gram_positive(x, *args, **kwargs)) -def mo_is_yeast(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.mo_is_yeast(x, *args, **kwargs)) -def mo_is_intrinsic_resistant(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.mo_is_intrinsic_resistant(x, *args, **kwargs)) -def mo_oxygen_tolerance(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.mo_oxygen_tolerance(x, *args, **kwargs)) -def mo_is_anaerobic(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.mo_is_anaerobic(x, *args, **kwargs)) -def mo_snomed(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.mo_snomed(x, *args, **kwargs)) -def mo_ref(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.mo_ref(x, *args, **kwargs)) -def mo_authors(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.mo_authors(x, *args, **kwargs)) -def mo_year(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.mo_year(x, *args, **kwargs)) -def mo_lpsn(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.mo_lpsn(x, *args, **kwargs)) -def mo_mycobank(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.mo_mycobank(x, *args, **kwargs)) -def mo_gbif(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.mo_gbif(x, *args, **kwargs)) -def mo_rank(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.mo_rank(x, *args, **kwargs)) -def mo_taxonomy(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.mo_taxonomy(x, *args, **kwargs)) -def mo_synonyms(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.mo_synonyms(x, *args, **kwargs)) -def mo_current(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.mo_current(x, *args, **kwargs)) -def mo_group_members(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.mo_group_members(x, *args, **kwargs)) -def mo_info(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.mo_info(x, *args, **kwargs)) -def mo_url(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.mo_url(x, *args, **kwargs)) -def mo_property(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.mo_property(x, *args, **kwargs)) -def pca(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.pca(x, *args, **kwargs)) -def theme_sir(*args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.theme_sir(*args, **kwargs)) -def labels_sir_count(position = None, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.labels_sir_count(position = None, *args, **kwargs)) -def resistance(*args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.resistance(*args, **kwargs)) -def susceptibility(*args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.susceptibility(*args, **kwargs)) -def sir_confidence_interval(*args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.sir_confidence_interval(*args, **kwargs)) -def proportion_R(*args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.proportion_R(*args, **kwargs)) -def proportion_IR(*args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.proportion_IR(*args, **kwargs)) -def proportion_I(*args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.proportion_I(*args, **kwargs)) -def proportion_SI(*args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.proportion_SI(*args, **kwargs)) -def proportion_S(*args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.proportion_S(*args, **kwargs)) -def proportion_df(data, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.proportion_df(data, *args, **kwargs)) -def sir_df(data, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.sir_df(data, *args, **kwargs)) -def random_mic(size = None, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.random_mic(size = None, *args, **kwargs)) -def random_disk(size = None, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.random_disk(size = None, *args, **kwargs)) -def random_sir(size = None, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.random_sir(size = None, *args, **kwargs)) -def resistance_predict(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.resistance_predict(x, *args, **kwargs)) -def sir_predict(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.sir_predict(x, *args, **kwargs)) -def ggplot_sir_predict(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.ggplot_sir_predict(x, *args, **kwargs)) -def skewness(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.skewness(x, *args, **kwargs)) -def top_n_microorganisms(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.top_n_microorganisms(x, *args, **kwargs)) -def reset_AMR_locale(*args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.reset_AMR_locale(*args, **kwargs)) -def translate_AMR(x, *args, **kwargs): - """See our website of the R package for the manual: https://msberends.github.io/AMR/index.html""" - return convert_to_python(amr_r.translate_AMR(x, *args, **kwargs)) diff --git a/PythonPackage/AMR/README.md b/PythonPackage/AMR/README.md deleted file mode 100755 index ccb62fe0a..000000000 --- a/PythonPackage/AMR/README.md +++ /dev/null @@ -1,195 +0,0 @@ ---- -title: "AMR for Python" -output: - rmarkdown::html_vignette: - toc: true - toc_depth: 3 -vignette: > - %\VignetteIndexEntry{AMR for Python} - %\VignetteEncoding{UTF-8} - %\VignetteEngine{knitr::rmarkdown} -editor_options: - chunk_output_type: console ---- - -```{r setup, include = FALSE, results = 'markup'} -knitr::opts_chunk$set( - warning = FALSE, - collapse = TRUE, - comment = "#>", - fig.width = 7.5, - fig.height = 5 -) -``` - -# Introduction - -The `AMR` package for R is a powerful tool for antimicrobial resistance (AMR) analysis. It provides extensive features for handling microbial and antimicrobial data. However, for those who work primarily in Python, we now have a more intuitive option available: the [`AMR` Python Package Index](https://pypi.org/project/AMR/). - -This Python package is a wrapper round the `AMR` R package. It uses the `rpy2` package internally. Despite the need to have R installed, Python users can now easily work with AMR data directly through Python code. - -# Install - -1. Since the Python package is available on the official [Python Package Index](https://pypi.org/project/AMR/), you can just run: - - ```bash - pip install AMR - ``` - -2. Make sure you have R installed. There is **no need to install the `AMR` R package**, as it will be installed automatically. - - For Linux: - - ```bash - # Ubuntu / Debian - sudo apt install r-base - # Fedora: - sudo dnf install R - # CentOS/RHEL - sudo yum install R - ``` - - For macOS (using [Homebrew](https://brew.sh)): - - ```bash - brew install r - ``` - - For Windows, visit the [CRAN download page](https://cran.r-project.org) to download and install R. - -# Examples of Usage - -## Cleaning Taxonomy - -Here’s an example that demonstrates how to clean microorganism and drug names using the `AMR` Python package: - -```python -import pandas as pd -import AMR - -# Sample data -data = { - "MOs": ['E. coli', 'ESCCOL', 'esco', 'Esche coli'], - "Drug": ['Cipro', 'CIP', 'J01MA02', 'Ciproxin'] -} -df = pd.DataFrame(data) - -# Use AMR functions to clean microorganism and drug names -df['MO_clean'] = AMR.mo_name(df['MOs']) -df['Drug_clean'] = AMR.ab_name(df['Drug']) - -# Display the results -print(df) -``` - -| MOs | Drug | MO_clean | Drug_clean | -|-------------|-----------|--------------------|---------------| -| E. coli | Cipro | Escherichia coli | Ciprofloxacin | -| ESCCOL | CIP | Escherichia coli | Ciprofloxacin | -| esco | J01MA02 | Escherichia coli | Ciprofloxacin | -| Esche coli | Ciproxin | Escherichia coli | Ciprofloxacin | - -### Explanation - -* **mo_name:** This function standardises microorganism names. Here, different variations of *Escherichia coli* (such as "E. coli", "ESCCOL", "esco", and "Esche coli") are all converted into the correct, standardised form, "Escherichia coli". - -* **ab_name**: Similarly, this function standardises antimicrobial names. The different representations of ciprofloxacin (e.g., "Cipro", "CIP", "J01MA02", and "Ciproxin") are all converted to the standard name, "Ciprofloxacin". - -## Calculating AMR - -```python -import AMR -import pandas as pd - -df = AMR.example_isolates -result = AMR.resistance(df["AMX"]) -print(result) -``` - -``` -[0.59555556] -``` - -## Generating Antibiograms - -One of the core functions of the `AMR` package is generating an antibiogram, a table that summarises the antimicrobial susceptibility of bacterial isolates. Here’s how you can generate an antibiogram from Python: - -```python -result2a = AMR.antibiogram(df[["mo", "AMX", "CIP", "TZP"]]) -print(result2a) -``` - -| Pathogen | Amoxicillin | Ciprofloxacin | Piperacillin/tazobactam | -|-----------------|-----------------|-----------------|--------------------------| -| CoNS | 7% (10/142) | 73% (183/252) | 30% (10/33) | -| E. coli | 50% (196/392) | 88% (399/456) | 94% (393/416) | -| K. pneumoniae | 0% (0/58) | 96% (53/55) | 89% (47/53) | -| P. aeruginosa | 0% (0/30) | 100% (30/30) | None | -| P. mirabilis | None | 94% (34/36) | None | -| S. aureus | 6% (8/131) | 90% (171/191) | None | -| S. epidermidis | 1% (1/91) | 64% (87/136) | None | -| S. hominis | None | 80% (56/70) | None | -| S. pneumoniae | 100% (112/112) | None | 100% (112/112) | - - -```python -result2b = AMR.antibiogram(df[["mo", "AMX", "CIP", "TZP"]], mo_transform = "gramstain") -print(result2b) -``` - -| Pathogen | Amoxicillin | Ciprofloxacin | Piperacillin/tazobactam | -|----------------|-----------------|------------------|--------------------------| -| Gram-negative | 36% (226/631) | 91% (621/684) | 88% (565/641) | -| Gram-positive | 43% (305/703) | 77% (560/724) | 86% (296/345) | - - -In this example, we generate an antibiogram by selecting various antibiotics. - -## Taxonomic Data Sets Now in Python! - -As a Python user, you might like that the most important data sets of the `AMR` R package, `microorganisms`, `antimicrobials`, `clinical_breakpoints`, and `example_isolates`, are now available as regular Python data frames: - -```python -AMR.microorganisms -``` - -| mo | fullname | status | kingdom | gbif | gbif_parent | gbif_renamed_to | prevalence | -|--------------|------------------------------------|----------|----------|-----------|-------------|-----------------|------------| -| B_GRAMN | (unknown Gram-negatives) | unknown | Bacteria | None | None | None | 2.0 | -| B_GRAMP | (unknown Gram-positives) | unknown | Bacteria | None | None | None | 2.0 | -| B_ANAER-NEG | (unknown anaerobic Gram-negatives) | unknown | Bacteria | None | None | None | 2.0 | -| B_ANAER-POS | (unknown anaerobic Gram-positives) | unknown | Bacteria | None | None | None | 2.0 | -| B_ANAER | (unknown anaerobic bacteria) | unknown | Bacteria | None | None | None | 2.0 | -| ... | ... | ... | ... | ... | ... | ... | ... | -| B_ZYMMN_POMC | Zymomonas pomaceae | accepted | Bacteria | 10744418 | 3221412 | None | 2.0 | -| B_ZYMPH | Zymophilus | synonym | Bacteria | None | 9475166 | None | 2.0 | -| B_ZYMPH_PCVR | Zymophilus paucivorans | synonym | Bacteria | None | None | None | 2.0 | -| B_ZYMPH_RFFN | Zymophilus raffinosivorans | synonym | Bacteria | None | None | None | 2.0 | -| F_ZYZYG | Zyzygomyces | unknown | Fungi | None | 7581 | None | 2.0 | - -```python -AMR.antimicrobials -``` - -| ab | cid | name | group | oral_ddd | oral_units | iv_ddd | iv_units | -|-----|-------------|----------------------|----------------------------|----------|------------|--------|----------| -| AMA | 4649.0 | 4-aminosalicylic acid| Antimycobacterials | 12.00 | g | NaN | None | -| ACM | 6450012.0 | Acetylmidecamycin | Macrolides/lincosamides | NaN | None | NaN | None | -| ASP | 49787020.0 | Acetylspiramycin | Macrolides/lincosamides | NaN | None | NaN | None | -| ALS | 8954.0 | Aldesulfone sodium | Other antibacterials | 0.33 | g | NaN | None | -| AMK | 37768.0 | Amikacin | Aminoglycosides | NaN | None | 1.0 | g | -| ... | ... | ... | ... | ... | ... | ... | ... | -| VIR | 11979535.0 | Virginiamycine | Other antibacterials | NaN | None | NaN | None | -| VOR | 71616.0 | Voriconazole | Antifungals/antimycotics | 0.40 | g | 0.4 | g | -| XBR | 72144.0 | Xibornol | Other antibacterials | NaN | None | NaN | None | -| ZID | 77846445.0 | Zidebactam | Other antibacterials | NaN | None | NaN | None | -| ZFD | NaN | Zoliflodacin | None | NaN | None | NaN | None | - - -# Conclusion - -With the `AMR` Python package, Python users can now effortlessly call R functions from the `AMR` R package. This eliminates the need for complex `rpy2` configurations and provides a clean, easy-to-use interface for antimicrobial resistance analysis. The examples provided above demonstrate how this can be applied to typical workflows, such as standardising microorganism and antimicrobial names or calculating resistance. - -By just running `import AMR`, users can seamlessly integrate the robust features of the R `AMR` package into Python workflows. - -Whether you're cleaning data or analysing resistance patterns, the `AMR` Python package makes it easy to work with AMR data in Python. diff --git a/PythonPackage/AMR/dist/amr-2.1.1.9203-py3-none-any.whl b/PythonPackage/AMR/dist/amr-2.1.1.9203-py3-none-any.whl deleted file mode 100644 index 8aa80b1c4..000000000 Binary files a/PythonPackage/AMR/dist/amr-2.1.1.9203-py3-none-any.whl and /dev/null differ diff --git a/PythonPackage/AMR/dist/amr-2.1.1.9203.tar.gz b/PythonPackage/AMR/dist/amr-2.1.1.9203.tar.gz deleted file mode 100644 index 18c463234..000000000 Binary files a/PythonPackage/AMR/dist/amr-2.1.1.9203.tar.gz and /dev/null differ diff --git a/PythonPackage/AMR/setup.py b/PythonPackage/AMR/setup.py deleted file mode 100644 index 08cc14990..000000000 --- a/PythonPackage/AMR/setup.py +++ /dev/null @@ -1,27 +0,0 @@ -from setuptools import setup, find_packages - -setup( - name='AMR', - version='2.1.1.9203', - packages=find_packages(), - install_requires=[ - 'rpy2', - 'numpy', - 'pandas', - ], - author='Matthijs Berends', - author_email='m.s.berends@umcg.nl', - description='A Python wrapper for the AMR R package', - long_description=open('README.md').read(), - long_description_content_type='text/markdown', - url='https://github.com/msberends/AMR', - project_urls={ - 'Bug Tracker': 'https://github.com/msberends/AMR/issues', - }, - license='GPL 2', - classifiers=[ - 'Programming Language :: Python :: 3', - 'Operating System :: OS Independent', - ], - python_requires='>=3.6', -) diff --git a/data-raw/gpt_training_text_v2.1.1.9203.txt b/data-raw/gpt_training_text_v2.1.1.9204.txt similarity index 99% rename from data-raw/gpt_training_text_v2.1.1.9203.txt rename to data-raw/gpt_training_text_v2.1.1.9204.txt index 7f6a28c46..42fb10780 100644 --- a/data-raw/gpt_training_text_v2.1.1.9203.txt +++ b/data-raw/gpt_training_text_v2.1.1.9204.txt @@ -1,6 +1,6 @@ This knowledge base contains all context you must know about the AMR package for R. You are a GPT trained to be an assistant for the AMR package in R. You are an incredible R specialist, especially trained in this package and in the tidyverse. -First and foremost, you are trained on version 2.1.1.9203. Remember this whenever someone asks which AMR package version you’re at. +First and foremost, you are trained on version 2.1.1.9204. Remember this whenever someone asks which AMR package version you’re at. Below are the contents of the file, the file, and all the files (documentation) in the package. Every file content is split using 100 hypens. ----------------------------------------------------------------------------------------------------