diff --git a/tools/sfold/.shed.yml b/tools/sfold/.shed.yml
new file mode 100644
index 00000000000..4f2c3dcee9b
--- /dev/null
+++ b/tools/sfold/.shed.yml
@@ -0,0 +1,11 @@
+name: sfold
+owner: iuc
+description: "Predict the probable RNA secondary structures through structure ensemble sampling"
+homepage_url: https://github.com/Ding-RNA-Lab/Sfold
+long_description: |
+ Sfold is a software package for statistical folding and rational design of nucleic acids. It provides tools for predicting
+ RNA secondary structures, designing antisense oligonucleotides,
+ and analyzing RNA folding patterns.
+remote_repository_url: https://github.com/galaxyproject/tools-iuc/tree/master/tools/sfold
+categories:
+- RNA
\ No newline at end of file
diff --git a/tools/sfold/macros.xml b/tools/sfold/macros.xml
new file mode 100644
index 00000000000..09f6ff24921
--- /dev/null
+++ b/tools/sfold/macros.xml
@@ -0,0 +1,13 @@
+
+ 2.2.0
+ 0
+ 23.0
+
+ sfold
+
+
+
+ 10.1093/nar/gkh449
+
+
+
diff --git a/tools/sfold/sfold.xml b/tools/sfold/sfold.xml
new file mode 100644
index 00000000000..814461b7a10
--- /dev/null
+++ b/tools/sfold/sfold.xml
@@ -0,0 +1,335 @@
+
+ Prediction of RNA secondary structures through structure ensemble sampling
+
+ macros.xml
+
+
+
+
+ &2 echo "this tool is only available for non commercial use";
+ exit 1;
+ #end if
+ mkdir -p 'output' &&
+ sfold '$fasta'
+ -a $a
+ #if $f:
+ -f '$f'
+ #end if
+ #if str($l) != '':
+ -l $l
+ #end if
+ #if $m:
+ -m '$m'
+ #end if
+ -w $w
+ -i $i
+ ]]>
+
+
+ value == True
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 'bp' in output_selector
+
+
+
+ 'ct' in output_selector
+
+
+
+
+ 'clusters' in output_selector
+
+
+
+ 'clusters' in output_selector and 'bp' in output_selector
+
+
+
+ 'clusters' in output_selector and 'ct' in output_selector
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tools/sfold/test-data/cons.ct b/tools/sfold/test-data/cons.ct
new file mode 100644
index 00000000000..c4b8d023566
--- /dev/null
+++ b/tools/sfold/test-data/cons.ct
@@ -0,0 +1,78 @@
+76 dG = -27.58 [Initially -28.90] test
+1 G 0 2 72 1
+2 G 1 3 71 2
+3 G 2 4 70 3
+4 G 3 5 69 4
+5 C 4 6 68 5
+6 U 5 7 67 6
+7 A 6 8 66 7
+8 U 7 9 0 8
+9 A 8 10 0 9
+10 G 9 11 25 10
+11 C 10 12 24 11
+12 U 11 13 23 12
+13 C 12 14 22 13
+14 A 13 15 0 14
+15 G 14 16 0 15
+16 C 15 17 0 16
+17 U 16 18 0 17
+18 G 17 19 0 18
+19 G 18 20 0 19
+20 G 19 21 0 20
+21 A 20 22 0 21
+22 G 21 23 13 22
+23 A 22 24 12 23
+24 G 23 25 11 24
+25 C 24 26 10 25
+26 G 25 27 0 26
+27 C 26 28 43 27
+28 U 27 29 42 28
+29 U 28 30 41 29
+30 G 29 31 40 30
+31 C 30 32 39 31
+32 A 31 33 38 32
+33 U 32 34 37 33
+34 G 33 35 0 34
+35 G 34 36 0 35
+36 C 35 37 0 36
+37 A 36 38 33 37
+38 U 37 39 32 38
+39 G 38 40 31 39
+40 C 39 41 30 40
+41 A 40 42 29 41
+42 A 41 43 28 42
+43 G 42 44 27 43
+44 A 43 45 0 44
+45 G 44 46 0 45
+46 G 45 47 0 46
+47 U 46 48 0 47
+48 C 47 49 0 48
+49 A 48 50 65 49
+50 G 49 51 64 50
+51 C 50 52 63 51
+52 G 51 53 62 52
+53 G 52 54 61 53
+54 U 53 55 0 54
+55 U 54 56 0 55
+56 C 55 57 0 56
+57 G 56 58 0 57
+58 A 57 59 0 58
+59 U 58 60 0 59
+60 C 59 61 0 60
+61 C 60 62 53 61
+62 C 61 63 52 62
+63 G 62 64 51 63
+64 C 63 65 50 64
+65 U 64 66 49 65
+66 U 65 67 7 66
+67 A 66 68 6 67
+68 G 67 69 5 68
+69 C 68 70 4 69
+70 U 69 71 3 70
+71 C 70 72 2 71
+72 C 71 73 1 72
+73 A 72 74 0 73
+74 C 73 75 0 74
+75 C 74 76 0 75
+76 A 75 0 0 76
+
diff --git a/tools/sfold/test-data/mfe.ct b/tools/sfold/test-data/mfe.ct
new file mode 100644
index 00000000000..c4b8d023566
--- /dev/null
+++ b/tools/sfold/test-data/mfe.ct
@@ -0,0 +1,78 @@
+76 dG = -27.58 [Initially -28.90] test
+1 G 0 2 72 1
+2 G 1 3 71 2
+3 G 2 4 70 3
+4 G 3 5 69 4
+5 C 4 6 68 5
+6 U 5 7 67 6
+7 A 6 8 66 7
+8 U 7 9 0 8
+9 A 8 10 0 9
+10 G 9 11 25 10
+11 C 10 12 24 11
+12 U 11 13 23 12
+13 C 12 14 22 13
+14 A 13 15 0 14
+15 G 14 16 0 15
+16 C 15 17 0 16
+17 U 16 18 0 17
+18 G 17 19 0 18
+19 G 18 20 0 19
+20 G 19 21 0 20
+21 A 20 22 0 21
+22 G 21 23 13 22
+23 A 22 24 12 23
+24 G 23 25 11 24
+25 C 24 26 10 25
+26 G 25 27 0 26
+27 C 26 28 43 27
+28 U 27 29 42 28
+29 U 28 30 41 29
+30 G 29 31 40 30
+31 C 30 32 39 31
+32 A 31 33 38 32
+33 U 32 34 37 33
+34 G 33 35 0 34
+35 G 34 36 0 35
+36 C 35 37 0 36
+37 A 36 38 33 37
+38 U 37 39 32 38
+39 G 38 40 31 39
+40 C 39 41 30 40
+41 A 40 42 29 41
+42 A 41 43 28 42
+43 G 42 44 27 43
+44 A 43 45 0 44
+45 G 44 46 0 45
+46 G 45 47 0 46
+47 U 46 48 0 47
+48 C 47 49 0 48
+49 A 48 50 65 49
+50 G 49 51 64 50
+51 C 50 52 63 51
+52 G 51 53 62 52
+53 G 52 54 61 53
+54 U 53 55 0 54
+55 U 54 56 0 55
+56 C 55 57 0 56
+57 G 56 58 0 57
+58 A 57 59 0 58
+59 U 58 60 0 59
+60 C 59 61 0 60
+61 C 60 62 53 61
+62 C 61 63 52 62
+63 G 62 64 51 63
+64 C 63 65 50 64
+65 U 64 66 49 65
+66 U 65 67 7 66
+67 A 66 68 6 67
+68 G 67 69 5 68
+69 C 68 70 4 69
+70 U 69 71 3 70
+71 C 70 72 2 71
+72 C 71 73 1 72
+73 A 72 74 0 73
+74 C 73 75 0 74
+75 C 74 76 0 75
+76 A 75 0 0 76
+
diff --git a/tools/sfold/test-data/seq.fasta b/tools/sfold/test-data/seq.fasta
new file mode 100644
index 00000000000..a55ab975d40
--- /dev/null
+++ b/tools/sfold/test-data/seq.fasta
@@ -0,0 +1,3 @@
+>gi|395400|emb|X66515|ECTRALA E.coli tRNA-Ala
+GGGGCTATAGCTCAGCTGGGAGAGCGCTTGCATGGCATGCAAGAGGTCAGCGGTTCGATC
+CCGCTTAGCTCCACCA
\ No newline at end of file