diff --git a/modules/t/test-genome-DBs/circ/core/meta.txt b/modules/t/test-genome-DBs/circ/core/meta.txt
index 5b7ce87a02d91da67d4077391bc9147cd9a79221..84328847b20a995875014ca02000383beb04bac5 100644
--- a/modules/t/test-genome-DBs/circ/core/meta.txt
+++ b/modules/t/test-genome-DBs/circ/core/meta.txt
@@ -20,8 +20,10 @@
 76	\N	patch	patch_75_76_b.sql|allow_null_karyotype
 77	\N	patch	patch_75_76_c.sql|remove_alternative_splicing
 78	\N	patch	patch_76_77_a.sql|schema_version
+79	\N	patch	patch_77_78_a.sql|schema_version
+80	\N	patch	patch_77_78_b.sql|source_column_increase
 1	\N	schema_type	core
-2	\N	schema_version	77
+2	\N	schema_version	78
 8	1	assembly.accession	GCA_000292705.1
 10	1	assembly.date	2012-08
 7	1	assembly.default	GCA_000292705.1
diff --git a/modules/t/test-genome-DBs/circ/core/table.sql b/modules/t/test-genome-DBs/circ/core/table.sql
index 035f7ea8c137a66e42061a8e8774558456eee41d..5fc7c587414cec500064ced0bb7c89be82c4948a 100644
--- a/modules/t/test-genome-DBs/circ/core/table.sql
+++ b/modules/t/test-genome-DBs/circ/core/table.sql
@@ -284,7 +284,7 @@ CREATE TABLE `gene` (
   `seq_region_end` int(10) unsigned NOT NULL,
   `seq_region_strand` tinyint(2) NOT NULL,
   `display_xref_id` int(10) unsigned DEFAULT NULL,
-  `source` varchar(20) NOT NULL,
+  `source` varchar(40) NOT NULL,
   `status` enum('KNOWN','NOVEL','PUTATIVE','PREDICTED','KNOWN_BY_PROJECTION','UNKNOWN','ANNOTATED') DEFAULT NULL,
   `description` text,
   `is_current` tinyint(1) NOT NULL DEFAULT '1',
@@ -469,7 +469,7 @@ CREATE TABLE `meta` (
   PRIMARY KEY (`meta_id`),
   UNIQUE KEY `species_key_value_idx` (`species_id`,`meta_key`,`meta_value`),
   KEY `species_value_idx` (`species_id`,`meta_value`)
-) ENGINE=InnoDB AUTO_INCREMENT=78 DEFAULT CHARSET=latin1;
+) ENGINE=InnoDB AUTO_INCREMENT=81 DEFAULT CHARSET=latin1;
 
 CREATE TABLE `meta_coord` (
   `table_name` varchar(40) NOT NULL,
@@ -773,7 +773,7 @@ CREATE TABLE `transcript` (
   `seq_region_end` int(10) unsigned NOT NULL,
   `seq_region_strand` tinyint(2) NOT NULL,
   `display_xref_id` int(10) unsigned DEFAULT NULL,
-  `source` varchar(20) NOT NULL DEFAULT 'ensembl',
+  `source` varchar(40) NOT NULL DEFAULT 'ensembl',
   `biotype` varchar(40) NOT NULL,
   `status` enum('KNOWN','NOVEL','PUTATIVE','PREDICTED','KNOWN_BY_PROJECTION','UNKNOWN','ANNOTATED') DEFAULT NULL,
   `description` text,
diff --git a/modules/t/test-genome-DBs/homo_sapiens/core/meta.txt b/modules/t/test-genome-DBs/homo_sapiens/core/meta.txt
index a348648820badaee07293338a1cb7a7bfbb37ebe..392ef729334ae56fb35048ee0005e481ca865b10 100644
--- a/modules/t/test-genome-DBs/homo_sapiens/core/meta.txt
+++ b/modules/t/test-genome-DBs/homo_sapiens/core/meta.txt
@@ -1,4 +1,4 @@
-1	\N	schema_version	77
+1	\N	schema_version	78
 2	1	assembly.default	NCBI34
 3	1	species.taxonomy_id	9606
 26	1	species.classification	Homo sapiens
@@ -55,3 +55,5 @@
 115	\N	patch	patch_75_76_b.sql|allow_null_karyotype
 116	\N	patch	patch_75_76_c.sql|remove_alternative_splicing
 117	\N	patch	patch_76_77_a.sql|schema_version
+118	\N	patch	patch_77_78_a.sql|schema_version
+119	\N	patch	patch_77_78_b.sql|source_column_increase
diff --git a/modules/t/test-genome-DBs/homo_sapiens/core/table.sql b/modules/t/test-genome-DBs/homo_sapiens/core/table.sql
index c76eac48a8e0e43170f4662384a025c43a886688..2e58dc2c5ba4de9be3d9b4f1376fcb5929f6d18e 100644
--- a/modules/t/test-genome-DBs/homo_sapiens/core/table.sql
+++ b/modules/t/test-genome-DBs/homo_sapiens/core/table.sql
@@ -284,7 +284,7 @@ CREATE TABLE `gene` (
   `seq_region_end` int(10) unsigned NOT NULL,
   `seq_region_strand` tinyint(2) NOT NULL,
   `display_xref_id` int(10) unsigned DEFAULT NULL,
-  `source` varchar(20) NOT NULL,
+  `source` varchar(40) NOT NULL,
   `status` enum('KNOWN','NOVEL','PUTATIVE','PREDICTED','KNOWN_BY_PROJECTION','UNKNOWN','ANNOTATED') DEFAULT NULL,
   `description` text,
   `is_current` tinyint(1) NOT NULL DEFAULT '1',
@@ -468,7 +468,7 @@ CREATE TABLE `meta` (
   PRIMARY KEY (`meta_id`),
   UNIQUE KEY `species_key_value_idx` (`species_id`,`meta_key`,`meta_value`),
   KEY `species_value_idx` (`species_id`,`meta_value`)
-) ENGINE=MyISAM AUTO_INCREMENT=117 DEFAULT CHARSET=latin1;
+) ENGINE=MyISAM AUTO_INCREMENT=120 DEFAULT CHARSET=latin1;
 
 CREATE TABLE `meta_coord` (
   `table_name` varchar(40) NOT NULL,
@@ -772,7 +772,7 @@ CREATE TABLE `transcript` (
   `seq_region_end` int(10) unsigned NOT NULL,
   `seq_region_strand` tinyint(2) NOT NULL,
   `display_xref_id` int(10) unsigned DEFAULT NULL,
-  `source` varchar(20) NOT NULL DEFAULT 'ensembl',
+  `source` varchar(40) NOT NULL DEFAULT 'ensembl',
   `biotype` varchar(40) NOT NULL,
   `status` enum('KNOWN','NOVEL','PUTATIVE','PREDICTED','KNOWN_BY_PROJECTION','UNKNOWN','ANNOTATED') DEFAULT NULL,
   `description` text,
diff --git a/modules/t/test-genome-DBs/homo_sapiens/empty/meta.txt b/modules/t/test-genome-DBs/homo_sapiens/empty/meta.txt
index 84d7f1f493ec4926b2553923e4ae1a1067607fc4..910038c64362b4ab9762c5d5a32493205e3a6dca 100644
--- a/modules/t/test-genome-DBs/homo_sapiens/empty/meta.txt
+++ b/modules/t/test-genome-DBs/homo_sapiens/empty/meta.txt
@@ -1,4 +1,4 @@
-1	\N	schema_version	77
+1	\N	schema_version	78
 2	1	assembly.default	NCBI34
 33	1	species.classification	Chordata
 32	1	species.classification	Vertebrata
@@ -55,3 +55,5 @@
 104	\N	patch	patch_75_76_b.sql|allow_null_karyotype
 105	\N	patch	patch_75_76_c.sql|remove_alternative_splicing
 106	\N	patch	patch_76_77_a.sql|schema_version
+107	\N	patch	patch_77_78_a.sql|schema_version
+108	\N	patch	patch_77_78_b.sql|source_column_increase
diff --git a/modules/t/test-genome-DBs/homo_sapiens/empty/table.sql b/modules/t/test-genome-DBs/homo_sapiens/empty/table.sql
index ca03938564c32e6b5a8d57e2ed98dc5af505a070..9223b130d8752116660d85e3e9af10f1b85a8e28 100644
--- a/modules/t/test-genome-DBs/homo_sapiens/empty/table.sql
+++ b/modules/t/test-genome-DBs/homo_sapiens/empty/table.sql
@@ -283,7 +283,7 @@ CREATE TABLE `gene` (
   `seq_region_end` int(10) unsigned NOT NULL,
   `seq_region_strand` tinyint(2) NOT NULL,
   `display_xref_id` int(10) unsigned DEFAULT NULL,
-  `source` varchar(20) NOT NULL,
+  `source` varchar(40) NOT NULL,
   `status` enum('KNOWN','NOVEL','PUTATIVE','PREDICTED','KNOWN_BY_PROJECTION','UNKNOWN') DEFAULT NULL,
   `description` text,
   `is_current` tinyint(1) NOT NULL DEFAULT '1',
@@ -463,7 +463,7 @@ CREATE TABLE `meta` (
   PRIMARY KEY (`meta_id`),
   UNIQUE KEY `species_key_value_idx` (`species_id`,`meta_key`,`meta_value`),
   KEY `species_value_idx` (`species_id`,`meta_value`)
-) ENGINE=MyISAM AUTO_INCREMENT=105 DEFAULT CHARSET=latin1;
+) ENGINE=MyISAM AUTO_INCREMENT=109 DEFAULT CHARSET=latin1;
 
 CREATE TABLE `meta_coord` (
   `table_name` varchar(40) NOT NULL DEFAULT '',
@@ -765,7 +765,7 @@ CREATE TABLE `transcript` (
   `seq_region_end` int(10) unsigned NOT NULL,
   `seq_region_strand` tinyint(2) NOT NULL,
   `display_xref_id` int(10) unsigned DEFAULT NULL,
-  `source` varchar(20) NOT NULL DEFAULT 'ensembl',
+  `source` varchar(40) NOT NULL DEFAULT 'ensembl',
   `biotype` varchar(40) NOT NULL,
   `status` enum('KNOWN','NOVEL','PUTATIVE','PREDICTED','KNOWN_BY_PROJECTION','UNKNOWN') DEFAULT NULL,
   `description` text,
diff --git a/modules/t/test-genome-DBs/homo_sapiens/patch/meta.txt b/modules/t/test-genome-DBs/homo_sapiens/patch/meta.txt
index ac8135a1d7c398d6cf01eb2979b31de9ff13b4af..a9970bba4d64deda67ad06384802a07bad92d048 100644
--- a/modules/t/test-genome-DBs/homo_sapiens/patch/meta.txt
+++ b/modules/t/test-genome-DBs/homo_sapiens/patch/meta.txt
@@ -1,4 +1,4 @@
-1	\N	schema_version	77
+1	\N	schema_version	78
 2014	1	species.classification	Haplorrhini
 40	1	assembly.default	GRCh37
 41	1	assembly.date	2009-02
@@ -59,3 +59,5 @@
 2066	\N	patch	patch_75_76_b.sql|allow_null_karyotype
 2067	\N	patch	patch_75_76_c.sql|remove_alternative_splicing
 2068	\N	patch	patch_76_77_a.sql|schema_version
+2069	\N	patch	patch_77_78_a.sql|schema_version
+2070	\N	patch	patch_77_78_b.sql|source_column_increase
diff --git a/modules/t/test-genome-DBs/homo_sapiens/patch/table.sql b/modules/t/test-genome-DBs/homo_sapiens/patch/table.sql
index 306a0ade7dfb2ffa889cae8c106acad3ec29ad59..219a845172841e4ce782528e6af436c458ff7510 100644
--- a/modules/t/test-genome-DBs/homo_sapiens/patch/table.sql
+++ b/modules/t/test-genome-DBs/homo_sapiens/patch/table.sql
@@ -282,7 +282,7 @@ CREATE TABLE `gene` (
   `seq_region_end` int(10) unsigned NOT NULL,
   `seq_region_strand` tinyint(2) NOT NULL,
   `display_xref_id` int(10) unsigned DEFAULT NULL,
-  `source` varchar(20) NOT NULL,
+  `source` varchar(40) NOT NULL,
   `status` enum('KNOWN','NOVEL','PUTATIVE','PREDICTED','KNOWN_BY_PROJECTION','UNKNOWN') DEFAULT NULL,
   `description` text,
   `is_current` tinyint(1) NOT NULL DEFAULT '1',
@@ -462,7 +462,7 @@ CREATE TABLE `meta` (
   PRIMARY KEY (`meta_id`),
   UNIQUE KEY `species_key_value_idx` (`species_id`,`meta_key`,`meta_value`),
   KEY `species_value_idx` (`species_id`,`meta_value`)
-) ENGINE=MyISAM AUTO_INCREMENT=2067 DEFAULT CHARSET=latin1;
+) ENGINE=MyISAM AUTO_INCREMENT=2071 DEFAULT CHARSET=latin1;
 
 CREATE TABLE `meta_coord` (
   `table_name` varchar(40) COLLATE latin1_bin NOT NULL DEFAULT '',
@@ -762,7 +762,7 @@ CREATE TABLE `transcript` (
   `seq_region_end` int(10) unsigned NOT NULL,
   `seq_region_strand` tinyint(2) NOT NULL,
   `display_xref_id` int(10) unsigned DEFAULT NULL,
-  `source` varchar(20) NOT NULL DEFAULT 'ensembl',
+  `source` varchar(40) NOT NULL DEFAULT 'ensembl',
   `biotype` varchar(40) NOT NULL,
   `status` enum('KNOWN','NOVEL','PUTATIVE','PREDICTED','KNOWN_BY_PROJECTION','UNKNOWN') DEFAULT NULL,
   `description` text,
diff --git a/modules/t/test-genome-DBs/nameless/core/meta.txt b/modules/t/test-genome-DBs/nameless/core/meta.txt
index 6507d92bbd17e5de529c2112634f5bddc7951c3f..e34798c78fee5305f6afae998f84ac51cea62a3c 100644
--- a/modules/t/test-genome-DBs/nameless/core/meta.txt
+++ b/modules/t/test-genome-DBs/nameless/core/meta.txt
@@ -1,4 +1,4 @@
-1	\N	schema_version	77
+1	\N	schema_version	78
 2	1	assembly.default	NCBI34
 3	1	species.taxonomy_id	9606
 26	1	species.classification	Homo sapiens
@@ -54,3 +54,5 @@
 108	\N	patch	patch_75_76_b.sql|allow_null_karyotype
 109	\N	patch	patch_75_76_c.sql|remove_alternative_splicing
 110	\N	patch	patch_76_77_a.sql|schema_version
+111	\N	patch	patch_77_78_a.sql|schema_version
+112	\N	patch	patch_77_78_b.sql|source_column_increase
diff --git a/modules/t/test-genome-DBs/nameless/core/table.sql b/modules/t/test-genome-DBs/nameless/core/table.sql
index 93963122e6f72329838eba93a51fccca76ad73dc..14e213cb9230f70284667d7a61e039b626bfaa1d 100644
--- a/modules/t/test-genome-DBs/nameless/core/table.sql
+++ b/modules/t/test-genome-DBs/nameless/core/table.sql
@@ -284,7 +284,7 @@ CREATE TABLE `gene` (
   `seq_region_end` int(10) unsigned NOT NULL,
   `seq_region_strand` tinyint(2) NOT NULL,
   `display_xref_id` int(10) unsigned DEFAULT NULL,
-  `source` varchar(20) NOT NULL,
+  `source` varchar(40) NOT NULL,
   `status` enum('KNOWN','NOVEL','PUTATIVE','PREDICTED','KNOWN_BY_PROJECTION','UNKNOWN','ANNOTATED') DEFAULT NULL,
   `description` text,
   `is_current` tinyint(1) NOT NULL DEFAULT '1',
@@ -468,7 +468,7 @@ CREATE TABLE `meta` (
   PRIMARY KEY (`meta_id`),
   UNIQUE KEY `species_key_value_idx` (`species_id`,`meta_key`,`meta_value`),
   KEY `species_value_idx` (`species_id`,`meta_value`)
-) ENGINE=MyISAM AUTO_INCREMENT=109 DEFAULT CHARSET=latin1;
+) ENGINE=MyISAM AUTO_INCREMENT=113 DEFAULT CHARSET=latin1;
 
 CREATE TABLE `meta_coord` (
   `table_name` varchar(40) NOT NULL,
@@ -772,7 +772,7 @@ CREATE TABLE `transcript` (
   `seq_region_end` int(10) unsigned NOT NULL,
   `seq_region_strand` tinyint(2) NOT NULL,
   `display_xref_id` int(10) unsigned DEFAULT NULL,
-  `source` varchar(20) NOT NULL DEFAULT 'ensembl',
+  `source` varchar(40) NOT NULL DEFAULT 'ensembl',
   `biotype` varchar(40) NOT NULL,
   `status` enum('KNOWN','NOVEL','PUTATIVE','PREDICTED','KNOWN_BY_PROJECTION','UNKNOWN','ANNOTATED') DEFAULT NULL,
   `description` text,
diff --git a/modules/t/test-genome-DBs/ontology/ontology/meta.txt b/modules/t/test-genome-DBs/ontology/ontology/meta.txt
index e490a99bdc05bc74f2a8fe80af6b9114bd1cbbf1..775e4f2d543ce9a890cfdc4989b151c565fb760e 100644
--- a/modules/t/test-genome-DBs/ontology/ontology/meta.txt
+++ b/modules/t/test-genome-DBs/ontology/ontology/meta.txt
@@ -9,6 +9,7 @@
 10	patch	patch_72_73_b.sql|meta	\N
 12	patch	patch_73_74_a.sql|schema_version	\N
 14	patch	patch_74_75_a.sql|schema_version	\N
-15	schema_version	77	\N
+15	schema_version	78	\N
 16	patch	patch_75_76_a.sql|schema_version	\N
 17	patch	patch_76_77_a.sql|schema_version	\N
+18	patch	patch_77_78_a.sql|schema_version	\N
diff --git a/modules/t/test-genome-DBs/ontology/ontology/table.sql b/modules/t/test-genome-DBs/ontology/ontology/table.sql
index 53d84bd54f9ca09919f436a52b157058cc52d087..714550abb85bd04c4fabf7af8f3214fda31df04e 100644
--- a/modules/t/test-genome-DBs/ontology/ontology/table.sql
+++ b/modules/t/test-genome-DBs/ontology/ontology/table.sql
@@ -138,7 +138,7 @@ CREATE TABLE `meta` (
   `species_id` int(1) unsigned DEFAULT NULL,
   PRIMARY KEY (`meta_id`),
   UNIQUE KEY `key_value_idx` (`meta_key`,`meta_value`)
-) ENGINE=MyISAM AUTO_INCREMENT=17 DEFAULT CHARSET=latin1;
+) ENGINE=MyISAM AUTO_INCREMENT=19 DEFAULT CHARSET=latin1;
 
 CREATE TABLE `ontology` (
   `ontology_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
diff --git a/modules/t/test-genome-DBs/test_collection/core/meta.txt b/modules/t/test-genome-DBs/test_collection/core/meta.txt
index c1ee0b324f68e8b9125d38059b71abba87026c2a..7ff56bcee1151d0fd49852b293e24df30bf0f68e 100644
--- a/modules/t/test-genome-DBs/test_collection/core/meta.txt
+++ b/modules/t/test-genome-DBs/test_collection/core/meta.txt
@@ -20,8 +20,10 @@
 171	\N	patch	patch_75_76_b.sql|allow_null_karyotype
 172	\N	patch	patch_75_76_c.sql|remove_alternative_splicing
 173	\N	patch	patch_76_77_a.sql|schema_version
+174	\N	patch	patch_77_78_a.sql|schema_version
+175	\N	patch	patch_77_78_b.sql|source_column_increase
 1	\N	schema_type	core
-2	\N	schema_version	77
+2	\N	schema_version	78
 8	1	assembly.accession	GCA_000292705.1
 10	1	assembly.date	2012-08
 7	1	assembly.default	GCA_000292705.1
diff --git a/modules/t/test-genome-DBs/test_collection/core/table.sql b/modules/t/test-genome-DBs/test_collection/core/table.sql
index 8e21851d83bfaf4c1b73a81ac146377f2f10157f..e1ff9e44596f2b237a9e0da5e8c2b41ec052f2b9 100644
--- a/modules/t/test-genome-DBs/test_collection/core/table.sql
+++ b/modules/t/test-genome-DBs/test_collection/core/table.sql
@@ -284,7 +284,7 @@ CREATE TABLE `gene` (
   `seq_region_end` int(10) unsigned NOT NULL,
   `seq_region_strand` tinyint(2) NOT NULL,
   `display_xref_id` int(10) unsigned DEFAULT NULL,
-  `source` varchar(20) NOT NULL,
+  `source` varchar(40) NOT NULL,
   `status` enum('KNOWN','NOVEL','PUTATIVE','PREDICTED','KNOWN_BY_PROJECTION','UNKNOWN','ANNOTATED') DEFAULT NULL,
   `description` text,
   `is_current` tinyint(1) NOT NULL DEFAULT '1',
@@ -469,7 +469,7 @@ CREATE TABLE `meta` (
   PRIMARY KEY (`meta_id`),
   UNIQUE KEY `species_key_value_idx` (`species_id`,`meta_key`,`meta_value`),
   KEY `species_value_idx` (`species_id`,`meta_value`)
-) ENGINE=InnoDB AUTO_INCREMENT=173 DEFAULT CHARSET=latin1;
+) ENGINE=InnoDB AUTO_INCREMENT=176 DEFAULT CHARSET=latin1;
 
 CREATE TABLE `meta_coord` (
   `table_name` varchar(40) NOT NULL,
@@ -773,7 +773,7 @@ CREATE TABLE `transcript` (
   `seq_region_end` int(10) unsigned NOT NULL,
   `seq_region_strand` tinyint(2) NOT NULL,
   `display_xref_id` int(10) unsigned DEFAULT NULL,
-  `source` varchar(20) NOT NULL DEFAULT 'ensembl',
+  `source` varchar(40) NOT NULL DEFAULT 'ensembl',
   `biotype` varchar(40) NOT NULL,
   `status` enum('KNOWN','NOVEL','PUTATIVE','PREDICTED','KNOWN_BY_PROJECTION','UNKNOWN','ANNOTATED') DEFAULT NULL,
   `description` text,
diff --git a/sql/patch_77_78_b.sql b/sql/patch_77_78_b.sql
new file mode 100644
index 0000000000000000000000000000000000000000..89b9d0b30fdf9830e3e44f77b24b44776dd69b0c
--- /dev/null
+++ b/sql/patch_77_78_b.sql
@@ -0,0 +1,27 @@
+-- Copyright [1999-2014] Wellcome Trust Sanger Institute and the EMBL-European Bioinformatics Institute
+-- 
+-- Licensed under the Apache License, Version 2.0 (the "License");
+-- you may not use this file except in compliance with the License.
+-- You may obtain a copy of the License at
+-- 
+--      http://www.apache.org/licenses/LICENSE-2.0
+-- 
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+
+# patch_77_78_b.sql
+#
+# Title: Increase source column size
+#
+# Description:
+#   RefSeq data requires more characters in the gene and transcript source column.
+
+ALTER TABLE gene MODIFY COLUMN source VARCHAR(40) NOT NULL;
+ALTER TABLE transcript MODIFY COLUMN source VARCHAR(40) NOT NULL default 'ensembl';
+
+# Patch identifier
+INSERT INTO meta (species_id, meta_key, meta_value)
+  VALUES (NULL, 'patch', 'patch_77_78_b.sql|source_column_increase');