From 1eddf403172859ec90eded2de5d309d6468b46cf Mon Sep 17 00:00:00 2001 From: Anneliek ter Horst Date: Mon, 29 Apr 2024 14:45:51 +0200 Subject: [PATCH] adding plotting AMRs (#9) * Update amr.md * add script to plot amrfinder results * plot_amrfinder * Update amr.md * Update amr.md * Update docs/amr.md Co-authored-by: C. Titus Brown --------- Co-authored-by: C. Titus Brown --- docs/amr.md | 10 +++++++++- docs/images/CD136.amrfinder.png | Bin 0 -> 95323 bytes scripts/plot_amr.py | 24 ++++++++++++++++++++++++ 3 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 docs/images/CD136.amrfinder.png create mode 100644 scripts/plot_amr.py diff --git a/docs/amr.md b/docs/amr.md index a9e563d..c3da738 100644 --- a/docs/amr.md +++ b/docs/amr.md @@ -16,7 +16,7 @@ of the metagenome. First, install the software. Run: ``` -mamba create -n amrfinder -y ncbi-amrfinderplus megahit prodigal csvtk +mamba create -n amrfinder -y ncbi-amrfinderplus megahit prodigal csvtk matplotlib seaborn pandas conda activate amrfinder ``` @@ -102,3 +102,11 @@ reads to it to get the abundance. This is because assembly collapses the abundance of the output contigs, and you have to recover it through other means. + +Now we can plot the abundances of the AMRs we found: +``` +../scripts/plot_amr.py CD136.amrfinder.tsv -o CD136.amrfinder.pdf +``` +![CD136 amrfinder](https://github.com/AnneliektH/2024-pig-paradigm-workshop/blob/main/docs/images/CD136.amrfinder.png) + + diff --git a/docs/images/CD136.amrfinder.png b/docs/images/CD136.amrfinder.png new file mode 100644 index 0000000000000000000000000000000000000000..6880371a60e86d89bb917195c8e71e90d9043512 GIT binary patch literal 95323 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 literal 0 HcmV?d00001 diff --git a/scripts/plot_amr.py b/scripts/plot_amr.py new file mode 100644 index 0000000..9f8e67d --- /dev/null +++ b/scripts/plot_amr.py @@ -0,0 +1,24 @@ +#! /usr/bin/env python +import pandas as pd +import matplotlib.pyplot as plt +import seaborn as sns +import sys +import argparse + + +def main(): + p = argparse.ArgumentParser() + p.add_argument('df') + p.add_argument('-o', '--output-figure', required=True) + args = p.parse_args() + + df = pd.read_csv(args.df, sep = '\t') + df_all = df.Class.value_counts().to_frame().reset_index() + figure = sns.barplot(data=df_all, x="count", y="Class", hue="Class", legend=False) + figure.figure.set_size_inches(15,5) + figure.figure.savefig(args.output_figure) + + + +if __name__ == '__main__': + sys.exit(main()) \ No newline at end of file