diff --git a/tools/fairy/.shed.yml b/tools/fairy/.shed.yml
new file mode 100644
index 00000000000..aecbb1e2251
--- /dev/null
+++ b/tools/fairy/.shed.yml
@@ -0,0 +1,12 @@
+name: Fairy
+owner: iuc
+description: Fast approximate contig coverage for metagenomic binning
+homepage_url: https://github.com/bluenote-1577/fairy
+long_description: |
+ Fairy is a software package, written in Rust, which create coverage file
+ for metagenomic binning. This tool can create coverage files 100x-1000x
+ faster than read alignment.
+remote_repository_url: https://github.com/bluenote-1577/fairy
+type: unrestricted
+categories:
+- Metagenomics
\ No newline at end of file
diff --git a/tools/fairy/fairy_cov.xml b/tools/fairy/fairy_cov.xml
new file mode 100644
index 00000000000..68af75ed6bf
--- /dev/null
+++ b/tools/fairy/fairy_cov.xml
@@ -0,0 +1,112 @@
+
+ Create coverage file for specific binners
+
+ macros.xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ `_.,
+
+ .. class:: infomark
+
+ Fairy usage for SemiBin2 is different than other tools: SemiBin2 requires separate coverage files for each read sample -- other tools require a single coverage matrix.
+
+ .. class:: infomark
+
+ The default output format from Fairy is the MetaBAT2 format. Any tool using this or the format from the other 2 binners work also with Fairys coverage files!
+ ]]>
+
+
+
diff --git a/tools/fairy/fairy_sketch.xml b/tools/fairy/fairy_sketch.xml
new file mode 100644
index 00000000000..bfaa0908b97
--- /dev/null
+++ b/tools/fairy/fairy_sketch.xml
@@ -0,0 +1,119 @@
+
+ sketching of k-mers for coverage into a hashtable
+
+ macros.xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tools/fairy/macros.xml b/tools/fairy/macros.xml
new file mode 100644
index 00000000000..3f223a9ed14
--- /dev/null
+++ b/tools/fairy/macros.xml
@@ -0,0 +1,17 @@
+
+
+
+ fairy
+
+
+
+ 0.5.7
+ 0
+ 24.1
+
+
+ 10.1101/2024.04.23.590803
+
+
+
+
\ No newline at end of file
diff --git a/tools/fairy/test-data/forward.paired.bcsp b/tools/fairy/test-data/forward.paired.bcsp
new file mode 100644
index 00000000000..2b70f26e04d
Binary files /dev/null and b/tools/fairy/test-data/forward.paired.bcsp differ
diff --git a/tools/fairy/test-data/normal_test.tsv b/tools/fairy/test-data/normal_test.tsv
new file mode 100644
index 00000000000..3360b1dbad3
--- /dev/null
+++ b/tools/fairy/test-data/normal_test.tsv
@@ -0,0 +1,2 @@
+contigName contigLen totalAvgDepth single_test.fasta.gz single_test.fasta.gz-var
+NZ_CP017438.1 3123040 0.05509718146076748 0.05509718146076748 0.014618167653679848
diff --git a/tools/fairy/test-data/single_test.fasta.gz b/tools/fairy/test-data/single_test.fasta.gz
new file mode 100644
index 00000000000..a98266b8211
Binary files /dev/null and b/tools/fairy/test-data/single_test.fasta.gz differ
diff --git a/tools/fairy/test-data/single_test.fasta.gz.bcsp b/tools/fairy/test-data/single_test.fasta.gz.bcsp
new file mode 100644
index 00000000000..3f78cae7272
Binary files /dev/null and b/tools/fairy/test-data/single_test.fasta.gz.bcsp differ
diff --git a/tools/fairy/test-data/test_2.tsv b/tools/fairy/test-data/test_2.tsv
new file mode 100644
index 00000000000..ec3fe885359
--- /dev/null
+++ b/tools/fairy/test-data/test_2.tsv
@@ -0,0 +1 @@
+NZ_CP017438.1 0.05509718146076748
diff --git a/tools/fairy/test-data/test_3.tsv b/tools/fairy/test-data/test_3.tsv
new file mode 100644
index 00000000000..a2f23a3be98
--- /dev/null
+++ b/tools/fairy/test-data/test_3.tsv
@@ -0,0 +1,2 @@
+contigName
+NZ_CP017438.1
diff --git a/tools/fairy/test-data/test_paired_1.fq.gz b/tools/fairy/test-data/test_paired_1.fq.gz
new file mode 100644
index 00000000000..9bdd407bc1a
Binary files /dev/null and b/tools/fairy/test-data/test_paired_1.fq.gz differ
diff --git a/tools/fairy/test-data/test_paired_1.fq.gz.paired.bcsp b/tools/fairy/test-data/test_paired_1.fq.gz.paired.bcsp
new file mode 100644
index 00000000000..576d023a967
Binary files /dev/null and b/tools/fairy/test-data/test_paired_1.fq.gz.paired.bcsp differ
diff --git a/tools/fairy/test-data/test_paired_2.fq.gz b/tools/fairy/test-data/test_paired_2.fq.gz
new file mode 100644
index 00000000000..e7572c9bce0
Binary files /dev/null and b/tools/fairy/test-data/test_paired_2.fq.gz differ