diff --git a/lib/galaxy/config/sample/datatypes_conf.xml.sample b/lib/galaxy/config/sample/datatypes_conf.xml.sample
index c8880f52994..798cd70976f 100644
--- a/lib/galaxy/config/sample/datatypes_conf.xml.sample
+++ b/lib/galaxy/config/sample/datatypes_conf.xml.sample
@@ -733,6 +733,7 @@
+
diff --git a/lib/galaxy/datatypes/test/test.prm b/lib/galaxy/datatypes/test/test.prm
new file mode 100644
index 00000000000..b7c2114e148
--- /dev/null
+++ b/lib/galaxy/datatypes/test/test.prm
@@ -0,0 +1,26 @@
+RBT_PARAMETER_FILE_V1.00
+TITLE R_1YET
+RECEPTOR_FILE R_1YET_protein.mol2
+RECEPTOR_FLEX 3.0
+
+##################################################################
+### CAVITY DEFINITION: REFERENCE LIGAND METHOD
+##################################################################
+SECTION MAPPER
+ SITE_MAPPER RbtLigandSiteMapper
+ REF_MOL 1YET_c.sd
+ RADIUS 6.0
+ SMALL_SPHERE 1.0
+ MIN_VOLUME 100
+ MAX_CAVITIES 1
+ VOL_INCR 0.0
+ GRIDSTEP 0.5
+END_SECTION
+
+#################################
+#CAVITY RESTRAINT PENALTY
+#################################
+SECTION CAVITY
+ SCORING_FUNCTION RbtCavityGridSF
+ WEIGHT 1.0
+END_SECTION
diff --git a/lib/galaxy/datatypes/text.py b/lib/galaxy/datatypes/text.py
index 8a87cf1166f..7a77d774a88 100644
--- a/lib/galaxy/datatypes/text.py
+++ b/lib/galaxy/datatypes/text.py
@@ -1421,3 +1421,29 @@ class FormattedDensity(Text):
(lines[9].strip() == end_header and lines[10].strip() == grid_points)
or (lines[9].strip() == end_header_spin and lines[10].strip() == grid_points_spin)
)
+
+
+@build_sniff_from_prefix
+class Prm(Text):
+ """rDock prm format
+
+ For system definition files, scoring function definition files and search
+ protocol definition files.
+ """
+
+ file_ext = "prm"
+
+ def sniff_prefix(self, file_prefix: FilePrefix) -> bool:
+ """
+ Determines whether the file is in prm format, according to
+ https://rdock.github.io/documentation/html_docs/reference-guide/file-formats.html
+
+ >>> from galaxy.datatypes.sniff import get_test_fname
+ >>> fname = get_test_fname("test.prm")
+ >>> Prm().sniff(fname)
+ True
+ >>> fname = get_test_fname("larch_potentials.inp")
+ >>> Prm().sniff(fname)
+ False
+ """
+ return file_prefix.startswith("RBT_PARAMETER_FILE_V1.00")