diff --git a/tools/cpc2/.shed.yml b/tools/cpc2/.shed.yml
new file mode 100644
index 00000000..3bd578a9
--- /dev/null
+++ b/tools/cpc2/.shed.yml
@@ -0,0 +1,10 @@
+name: cpc2
+owner: galaxy-australia
+description: Coding Potential Calculator.
+homepage_url: http://cpc2.gao-lab.org/index.php
+long_description: |
+ A fast and accurate coding potential calculator based on sequence intrinsic features..
+remote_repository_url: https://github.com/mthang/galaxy-local-tools/tree/cpc2/tools/cpc2
+type: unrestricted
+categories:
+- Assembly
diff --git a/tools/cpc2/cpc2.xml b/tools/cpc2/cpc2.xml
new file mode 100644
index 00000000..ee534b50
--- /dev/null
+++ b/tools/cpc2/cpc2.xml
@@ -0,0 +1,60 @@
+
+ Fast and accurate coding potential calculator based on sequence intrinsic features
+
+ macros.xml
+
+
+
+
+ &1
+
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DOI: 10.1093/nar/gkx428
+
+
diff --git a/tools/cpc2/macros.xml b/tools/cpc2/macros.xml
new file mode 100644
index 00000000..609b2245
--- /dev/null
+++ b/tools/cpc2/macros.xml
@@ -0,0 +1,21 @@
+
+ 1.0.1
+ 0
+ 20.09
+
+
+ cpc2
+
+
+
+
+
+
+
+
+
+
+ cpc2
+
+
+
diff --git a/tools/cpc2/test-data/example.fa b/tools/cpc2/test-data/example.fa
new file mode 100644
index 00000000..fa4e7574
--- /dev/null
+++ b/tools/cpc2/test-data/example.fa
@@ -0,0 +1,73 @@
+>AF282387 Filobasidiella neoformans calcineurin B regulatory subunit (CNB1) mRNA, complete cds
+ATGGGTGCCGCTGAATCCTCCATGTTCAACTCTCTGGAGAAGAACTCCAACTTCTCAGGACCGGAGCTTA
+TGAGGTTGAAGAAGAGGTTCATGAAGCTTGACAAGGACGGTTCCGGATCGATTGACAAAGACGAGTTTCT
+TCAGATCCCTCAAATCGCGAATAACCCTTTGGCGCATCGAATGATAGCAATCTTTGATGAAGATGGAAGT
+GGAACGGTTGACTTCCAAGAATTTGTCGGAGGTTTGAGCGCTTTCAGTAGTAAAGGAGGTCGTGATGAGA
+AGCTGAGATTCGCTTTCAAGGTGTACGACATGGATCGAGACGGCTACATCTCTAACGGTGAACTGTATCT
+TGTGTTGAAGCAAATGGTCGGAAATAACCTTAAAGACCAACAATTGCAACAAATTGTAGACAAAACCATC
+ATGGAGGCTGACAAGGACGGGGATGGAAAGCTCTCTTTTGAGGAGTTCACACAAATGGTCGCCAGCACAG
+ATATTGTGAAGCAAATGACCCTTGAAGATCTTTTCTAA
+
+>Tsix_mus NR_002844.1 Mus musculus X (inactive)-specific transcript, antisense (Tsix) on chromosome X
+GTGTGTTCATGCGTGCGCACGTGTACCCGTGCGTCCACACTCCGCCAGCACGTGTGCTAGCTTGCAAGTT
+TTCAGTTTGAGTACAGACACCAGGCCATAGCCCAATGGCAGCAGTGACAGGGAGGACCGTGGCAGCATGT
+TACAATCAGAAGACAACTTCCGGATTTTCACTCTGTCCTAAAAAGGTGGTCAAGTGTGCTAACCACACCC
+TCTCAGCAGGATCCCGCGCCTCAAGAGCCTTAGGTCCCGCCCCACACTCCCTCAAACCCTCAGTGCAGCG
+CTTGTGTCAGGCGCAATCTCGCAAGATCCGGTGAGGCGCTACGTCGTGCTCCACTCGGTCCCAAAAGTAC
+CTGCAAGCGCTACACACTTGCGCTCGGCGCCCTTGCTCTGTTCTCACTTTCCGAGATATCCACGCATCTT
+GAGTCCTGCATCCACTCCCGGGAGGCGGCTGCGGCAAGCGCGTGATGGAAGAAGAGCGTGATAGCCAGCT
+AGACAGGTGGCCAGAGCGGAGCGGACAGTGGAGCGATGGCTACGTGCTTGCGGGACAGCGGAAGAGATGG
+TTAAAGTGATTGCCAAGCAGCAGAAAGATTCCTAAAATGCTTGCCAGCTATGCGGAGATGAAGGTGAGGT
+TTCAATGATTTACATCGACCAAGAACCCGCAGCCTCGGTCTCTCGAATCGGATCCGACATCATCCAACAC
+TTCAGTGTTAGAATTGCAAGCATGCGCTCTCCCGACCTGGGCAGGCACTTCGAAAAAATGATGACTAAAG
+ACACACGTGAAGTACCAAGCGAAACTCACGTCCTTATGGGACAGTGACTCATCACAGTCTAATTCCATCC
+TGGCCACCAAGCAATAATGCACATTTCTAACTGGAAGTCAAGCAAACACCAACACTTTCACACTTGTGCC
+CATTTCTGACGAGTTACGTCAAGTGGCAACCAACACTTCCACTTAGCCTTGCCTCAGCTTCGAGTGGCAC
+AAGGTAGGACCAACCACACCCTACCATAATGCACCAAGTGTACCCTCGGGCAAAGCCCGCCAAGTAGCTA
+AAGCCCGCCAAAAAAAAAATCACTGAAAGAAACCACTAGAGGGCAGGTCACATGACTTCCGCCATCTTAG
+ACACATTCAAGAGCATGTGCCACCTCTCCAGGCTAACTCAGACATGAAGCTGACATGTGACACACAAAGC
+CCTTTGCGTTATACCGCACCAAGAACTTGAGCCGCCATCTTTTCCTGTACGACCTAAATGTCCTATAATC
+CATTGCTACACACCAGAACAAAGATTGGGCTGTCGAGCCTCGGGTGGAGCCCCCGAGCCGCCATTTTATA
+GACTTCTGAGCAGCCCTTAAAGCCACGGGGGACCGCGCCAGGGGTCCATATGCACACACACCCTGCCCAA
+TCCCCACACCCACGCTGAGCCCTATCCCCTAGTCCTCTGCGGCTTCCGCGCAACACCGCACACTAATACG
+AGCACTCCTTGGCTTTCTCTTCCGGCTAGCACAACCCCGCAAATGCTACCACAAATCAAGGCGAATCCCG
+CAACCCCGCACATATAAAGAAAGCCTTTAGCTAGCGCAGCGCAATTGGTTGCTTTTATCCAGTCCGCTGT
+GCTCCTCGGTGTCCTAATTCTTGGCGTAACTGGCTCGAGAATAGCCGTATCACGCAGAAGCCATAATGGC
+GGACGCGGGCTCTCCACGCCCTGAACACCCACTCAGTTTAAGAGCAAAGTCGTTTTTCTAAGCCATAGGT
+TCACTCACACAGCACCAAACGATCAGCAGCAACAGTACACGCAAATAAGAGGCATAGATATTCCAGGTAG
+TGCAATAACTCACAAAACCATATTTCCATCCACCAAGCCCCGTTGGGCCTGTAAAAAAAAAATTTAAAGC
+AGGTATCCACAGCCCCGATGGGCAAAAGAAAAAGAAAAAAAAATAATAACAGCAGGTATCCGAGGCCCCG
+TTGGGCATGGGAAAAAAAGACTAAACGCAGGTATCCGAGGTCCCGATGGACCGAGAAAGGTTTTTTTTTT
+TTTTTTTTTTTTTACAAAAAGCAGGTATCCATGGCCCCGATGGGCTAAGGAGAAGAAAAAAAGAATAAAA
+GCAGGTATCCACAGCCCAGATGGGCAAGTTTAGAAAAAAAAATAATAAGAAAAAAAAAGAATGAAAAGGC
+AGGTAAGTATCCAAAACCCCGTTGGGCATGGAATGGCGGGGAGGACACACAGGTATCCGTGGCCCCGATG
+GGCAAGATTATATAAACAATGAAAGAAAGGTAAGTCCACCATACACACACAAGTATCAACCAAAAGGCAC
+AACAAAGAAATATTCCTTAAAAATGAAAAATTGACTGAAAATATTACAAATATCAAAAAGTATGGAGGAC
+ATGTCAAAAAAAAAATCTTACCAGAACATATCAAAACGTCAAAAATCTCGTGGAATTTTGATATGTTTTC
+TTAAATAAGCCATAAGGCTTGGTGGTAGGGGAACTAAAAATGTTCCCCCAAAGCTCCTTAGATGGAGAGA
+AACCACGGAAGAACCGCACATCCACGGGAAACGAGCAAACATGGCTGGAGCAAGCCGTTGCACGCCTTTA
+ACTGATCCGCGGCGCTGAAGGCGGAGAGACCAGAAGAGGAGTGGCCACAAAGATTGCAATTCTGACATCT
+TATTGGACCTTTAGGTCTAACTATATTATAAAAAAATTAAAATGAATAAAGATGGAGGTACGTAAGCTCA
+GTGACATGACGCGTGAATTTCATTATTTTGCGCGATAATGAAGGATTATCCTATTTTACAGCTAAAAACG
+TTTATGTAGAACTTCACATAAACATTTGGGTGTGTACATTTAGCACACACCTGTCTATGCAAAATTTCAA
+TATATCTTCTACTTGGACAAACCATGTGTCGCTCCGGTCTTGGACACTAGAAGTTCTTCTGCATTAGTTG
+GCGACCTCAGATGAGGAGAGGAAAGGGTAGAAATGCCTCACAAAATGGCTCCTTGGTTCCTAAATTATCA
+GAGTATTAGTTGTGACCGATTTGGAGGGCTTACGCTCATAGTTTTGGGTCATTGGCATCTTAGTCTTTCT
+CTGGGAACCTGGTGACTCCATACCTTGGGACAAAAACGCACTGAAGACGTTACTAGCTAGCAGTAATGAA
+AAATAATTCCTAAATGCCAAAGCAAAGCCTTAGGGAATAATAGCTCATTGGTATCTTACTCGCCCCAGAG
+ACACTGCTAACTTAAAAGAACTGTCAAATTTTGTTAACTGTCAAACTATGAATATCCACATGAAAGAGAT
+CAGACACCCTGGGTATTAGAAAATCAAAGGATATGTTGTCTCGTTGATCACGCTGACAAATAATTCACAG
+TCTGTTCTAAGTTCCCTTTAGGCGTCCCATGAATAATAAAGGACACAAAATTGGTTTGCTTATGGACGAT
+CAAAGTGCCAGCAATTCAGTAATCTTACTATTGAGGTGGTTCAGGTAGGGATGGAAAAATATCTGCTACA
+AAATAAACAGTTTCAACCAAAAGAAAAACAAATTAACAAGGTAAATAAATGATGCACACAGACTGAATAA
+ACCAGCAGGTGGCAGCATGAATCTTTCCAAGGCATCTGAAGCCAAACTTGGAGTGCAAAAGGATTCCTAT
+CTGAATTGAGAAGTAAAGGTTACTTTGTCTAACTTTAGTTGACAGAGCGATCAGGATCAGAGTAACAAGC
+ACACCAAAAGCATCACCAGTGAGAAGTCACATAGGACATATTAGGGAAAAAAGACCCAAGGAAGGGCTCT
+TCACAGCTAAGAGCACCTGGCTCCACGATGGATATGGCTTTGTATAAACGAGAACTTCTAAATGAGCTGT
+ACAAAGAGAATTTAGAACTTGCGAGGTACTGGTCACAGATTATGCAAGCCAGTGTATCATTTTTGTGGGG
+ATGCTAGAGAGAATCATCAAATTAAAGAGTTAAATTTAGTCTCTGTGTTTTACTTAGTCCCAATTCTTGC
+AAAGGTCATCATTCTTTCTCACACCGTGTACATCAAGGTATGTCAGGTTTCGGGGACACTTTTTAGTCTT
+ATCACAAGAAAGCATGAAGGGATATGTGCTAAAACTCAGTTCCTGGGCTGGAGAGATAGCTCAGTGGTTA
+GGAGTGCTGACTGCTCTTCCAGAGGGCCTGAGTTCAATTCTCAACAACTTCGTTGTGGCTCACAGTCATC
+TGTAGTGGGGGATCCGATATCTAACCTTCTTCTGATGTATCTGAACAGTGACCGACAGTGTACTCACATT
+AAATAAATATTTTTCTAAAAAACACCTCCA
diff --git a/tools/cpc2/test-data/forward_only.tsv b/tools/cpc2/test-data/forward_only.tsv
new file mode 100644
index 00000000..a4597e76
--- /dev/null
+++ b/tools/cpc2/test-data/forward_only.tsv
@@ -0,0 +1,3 @@
+#ID transcript_length peptide_length Fickett_score pI ORF_integrity coding_probability label
+AF282387 528 176 0.47841 4.67108154297 1 0.997542 coding
+Tsix_mus 4300 70 0.28464 11.0512084961 1 0.0447346 noncoding
diff --git a/tools/cpc2/test-data/forward_reverse.tsv b/tools/cpc2/test-data/forward_reverse.tsv
new file mode 100644
index 00000000..1112602d
--- /dev/null
+++ b/tools/cpc2/test-data/forward_reverse.tsv
@@ -0,0 +1,3 @@
+#ID transcript_length peptide_length Fickett_score pI ORF_integrity coding_probability label
+AF282387 528 176 0.47841 4.67108154297 1 0.997542 coding
+Tsix_mus 4300 80 0.28464 11.7931518555 1 0.0521955 noncoding