'Feral' yeasts keep fine wine companies on the wild side

yeast View larger image

According to new research from the VIB in Belgium, it's all about natural selection - or in the case of brewing, unnatural selection, as the 'best' yeast cultures have been handed down from generation to generation.

Why are the yeasts used by fine wine companies more like cats, whereas those used in brewing beer are more like dogs?

According to new research from the Flanders Institute for Biotechnology (VIB) in Belgium, it's all about natural selection - or in the case of brewing, unnatural selection, as the 'best' yeast cultures have been handed down from generation to generation since the 1500s.

Brewing yeasts were domesticated back in the 16th century, even though microbes were not discovered scientifically until a century later.

This means there has been half a millennium of brewing with domesticated yeasts, with a tendency to retain the most successful batches and use those yeasts again in future.

Over the generations, this has led to the evolution of yeasts preferable for certain conditions - to create certain beer or wine flavours, or to withstand higher levels of alcohol for bottle conditioning.

But while beer is brewed all year round, with wine there is of course only one vintage per year, particularly among fine wine companies rather than the mass-market brands that use industrial processes.

This means only one chance each year to domesticate wine yeasts further - and what's more, during the rest of the year, there is more chance of other 'feral' yeasts getting into the batch.

As a result of this, the researchers say beer yeasts have become highly domesticated, like dogs, whereas wine yeasts retain some of their feral nature - like cats.

"Without realising what they were doing exactly, these ancient craftsmen were effectively selecting and transferring yeast cultures from one batch to the next, allowing the microbes to continuously grow and adapt to man-made industrial environments," said Kevin Verstrepen of VIB.

And for modern fine wine companies and their customers, this contributes in part to the diversity of wine depending on the yeast used, and the unique taste of different vintages brewed under the same conditions.

(default) 38 queries took 121 ms
NrQueryErrorAffectedNum. rowsTook (ms)
1SHOW FULL COLUMNS FROM `ck_posts`13133
2SELECT CHARACTER_SET_NAME FROM INFORMATION_SCHEMA.COLLATIONS WHERE COLLATION_NAME= 'utf8_general_ci';110
3SHOW FULL COLUMNS FROM `ck_images`994
4SHOW FULL COLUMNS FROM `ck_post_comments`993
5SHOW FULL COLUMNS FROM `ck_redirects`553
6SELECT `Redirect`.`id`, `Redirect`.`from`, `Redirect`.`to`, `Redirect`.`count`, `Redirect`.`created` FROM `ck_redirects` AS `Redirect` WHERE `Redirect`.`from` = '/news/feral-yeasts-keep-fine-wine-companies-on-the-wild-side' LIMIT 1000
7SELECT `Post`.`id`, `Post`.`title`, `Post`.`slug`, `Post`.`introduction`, `Post`.`body`, `Post`.`image_id`, `Post`.`post_date`, `Post`.`meta_title`, `Post`.`meta_description`, `Post`.`meta_keywords`, `Post`.`status`, `Post`.`created`, `Post`.`modified`, `Image`.`id`, `Image`.`gallery_order`, `Image`.`title`, `Image`.`file`, `Image`.`dir`, `Image`.`mimetype`, `Image`.`filesize`, `Image`.`created`, `Image`.`modified` FROM `ck_posts` AS `Post` LEFT JOIN `ck_images` AS `Image` ON (`Post`.`image_id` = `Image`.`id`) WHERE `Post`.`slug` = 'feral-yeasts-keep-fine-wine-companies-on-the-wild-side' AND `Post`.`status` = 'active' AND `Post`.`post_date` <= '2019-08-24 03:37:44' AND NOT (`Post`.`slug` = '') ORDER BY `Post`.`post_date` DESC, `Post`.`created` DESC LIMIT 1111
8SELECT `Image`.`id`, `Image`.`gallery_order`, `Image`.`title`, `Image`.`file`, `Image`.`dir`, `Image`.`mimetype`, `Image`.`filesize`, `Image`.`created`, `Image`.`modified` FROM `ck_images` AS `Image` WHERE `Image`.`id` = 2690 110
9SELECT `PostComment`.`id`, `PostComment`.`post_id`, `PostComment`.`author_id`, `PostComment`.`user_id`, `PostComment`.`comment`, `PostComment`.`status`, `PostComment`.`ip_address`, `PostComment`.`created`, `PostComment`.`modified` FROM `ck_post_comments` AS `PostComment` WHERE ((`PostComment`.`status` = 'approved') OR (((`PostComment`.`id` IS NULL) AND (`PostComment`.`status` = 'pending')))) AND `PostComment`.`post_id` = (278) 000
10SHOW FULL COLUMNS FROM `ck_baskets`773
11SHOW FULL COLUMNS FROM `ck_store_countries`11113
12SELECT CHARACTER_SET_NAME FROM INFORMATION_SCHEMA.COLLATIONS WHERE COLLATION_NAME= 'latin1_swedish_ci';110
13SHOW FULL COLUMNS FROM `ck_delivery_methods`11113
14SHOW FULL COLUMNS FROM `ck_store_countries_delivery_methods`333
15SHOW FULL COLUMNS FROM `ck_basket_products`884
16SHOW FULL COLUMNS FROM `ck_products`22223
17SHOW FULL COLUMNS FROM `ck_regions`13134
18SHOW FULL COLUMNS FROM `ck_producers`663
19SHOW FULL COLUMNS FROM `ck_styles`10103
20SHOW FULL COLUMNS FROM `ck_bottles`553
21SHOW FULL COLUMNS FROM `ck_product_ratings`994
22SHOW FULL COLUMNS FROM `ck_store_customers`773
23SHOW FULL COLUMNS FROM `ck_store_customer_addresses`20203
24SHOW FULL COLUMNS FROM `ck_grapes`994
25SHOW FULL COLUMNS FROM `ck_grapes_products`334
26SHOW FULL COLUMNS FROM `ck_product_types`775
27SHOW FULL COLUMNS FROM `ck_product_types_products`334
28SHOW FULL COLUMNS FROM `ck_offers`773
29SHOW FULL COLUMNS FROM `ck_offers_products`333
30SELECT `Basket`.`id`, `Basket`.`created`, `Basket`.`modified`, `Basket`.`delivery_method_id`, `Basket`.`delivery_country_id`, `Basket`.`delivery`, `Basket`.`subtotal`, (`Basket`.`delivery` + `Basket`.`subtotal`) AS `Basket__total`, `DeliveryCountry`.`id`, `DeliveryCountry`.`key`, `DeliveryCountry`.`iso`, `DeliveryCountry`.`iso3`, `DeliveryCountry`.`order`, `DeliveryCountry`.`country`, `DeliveryCountry`.`billing`, `DeliveryCountry`.`delivery`, `DeliveryCountry`.`status`, `DeliveryCountry`.`modified`, `DeliveryCountry`.`created`, `DeliveryMethod`.`id`, `DeliveryMethod`.`name`, `DeliveryMethod`.`price`, `DeliveryMethod`.`cap`, `DeliveryMethod`.`threshold`, `DeliveryMethod`.`threshold_price`, `DeliveryMethod`.`status`, `DeliveryMethod`.`modified`, `DeliveryMethod`.`created`, `DeliveryMethod`.`order`, `DeliveryMethod`.`code` FROM `ck_baskets` AS `Basket` LEFT JOIN `ck_store_countries` AS `DeliveryCountry` ON (`Basket`.`delivery_country_id` = `DeliveryCountry`.`id`) LEFT JOIN `ck_delivery_methods` AS `DeliveryMethod` ON (`Basket`.`delivery_method_id` = `DeliveryMethod`.`id`) WHERE `Basket`.`id` IS NULL LIMIT 1000
31SELECT `Region`.`name`, `Region`.`slug`, `Region`.`parent_id`, `Region`.`id`, `Region`.`modified`, `Region`.`created` FROM `ck_regions` AS `Region` WHERE `Region`.`status` = 'active' AND NOT (`Region`.`slug` = '') ORDER BY `Region`.`order` ASC 1211210
32SELECT `Product`.`id`, `Product`.`name`, `Product`.`description`, `Product`.`vintage`, `Product`.`region_id`, `Product`.`producer_id`, `Product`.`style_id`, `Product`.`bottle_id`, `Product`.`image_id`, `Product`.`bid`, `Product`.`best_seller`, `Product`.`created`, `Product`.`modified`, `Product`.`status`, `Product`.`slug`, `Product`.`meta_title`, `Product`.`meta_description`, `Product`.`meta_keywords`, `Product`.`stock`, `Product`.`stock_description`, `Product`.`original_id`, (`Product`.`price`) AS `Product__original_price`, (LEAST(IFNULL((select min(`ck_offers`.`price`) from (ck_offers join ck_offers_products) where ((`ck_offers_products`.`product_id` = `Product`.`id`) and (`ck_offers_products`.`offer_id` = `ck_offers`.`id`) and (`ck_offers`.`start_date` <= now()) and (`ck_offers`.`end_date` >= now()))),`Product`.`price`),`Product`.`price`)) AS `Product__price`, (CONCAT(`Product`.`name`, ' (£', `Product`.`price`,')')) AS `Product__detail_name` FROM `ck_products` AS `Product` WHERE `Product`.`region_id` IN (905, 899, 900, 904, 901, 902, 903, 42, 144, 86, 152, 56, 132, 134, 57, 81, 148, 1, 156, 90, 91, 4, 5, 6, 78, 7, 31, 93, 94, 32, 73, 63, 13, 37, 95, 96, 14, 70, 35, 21, 36, 24, 25, 26, 60, 98, 99, 100, 101, 102, 103, 104, 79, 43, 44, 67, 77, 84, 52, 53, 105, 135, 45, 106, 153, 47, 140, 68, 141, 111, 48, 65, 69, 113, 143, 145, 40, 83, 62, 41, 58, 114, 115, 59, 116, 49, 118, 119, 136, 120, 38, 64, 39, 121, 87, 50, 51, 71, 27, 28, 154, 150, 29, 129, 80, 155, 30, 151, 61, 122, 123, 138, 124, 125, 137, 126, 127, 85, 128, 139, 149) 1026102641
33SELECT `Region`.`id`, `Region`.`name`, `Region`.`parent_id`, `Region`.`lft`, `Region`.`rght`, `Region`.`order`, `Region`.`slug`, `Region`.`meta_title`, `Region`.`meta_description`, `Region`.`meta_keywords`, `Region`.`status`, `Region`.`created`, `Region`.`modified` FROM `ck_regions` AS `Region` WHERE `Region`.`status` = 'active' AND NOT (`Region`.`slug` = '') ORDER BY `Region`.`order` ASC 1211211
34SELECT `Style`.`slug`, `Style`.`name` FROM `ck_styles` AS `Style` WHERE 1 = 1 880
35SELECT `RightBanner`.`id`, `RightBanner`.`name`, `RightBanner`.`image_id`, `RightBanner`.`url`, `RightBanner`.`status`, `RightBanner`.`created`, `RightBanner`.`modified`, `Image`.`id`, `Image`.`gallery_order`, `Image`.`title`, `Image`.`file`, `Image`.`dir`, `Image`.`mimetype`, `Image`.`filesize`, `Image`.`created`, `Image`.`modified` FROM `ck_right_banners` AS `RightBanner` LEFT JOIN `ck_images` AS `Image` ON (`RightBanner`.`image_id` = `Image`.`id`) WHERE `RightBanner`.`status` = 'active' 440
36SELECT `RightLink`.`id`, `RightLink`.`name`, `RightLink`.`url`, `RightLink`.`status`, `RightLink`.`created`, `RightLink`.`modified` FROM `ck_right_links` AS `RightLink` WHERE `RightLink`.`status` = 'active' 220
37SELECT `User`.`id`, `User`.`role`, `User`.`contact_id`, `User`.`username`, `User`.`password`, `User`.`status`, `User`.`active`, `User`.`login_count`, `User`.`last_login`, `User`.`created`, `User`.`modified`, `Contact`.`id`, `Contact`.`first_name`, `Contact`.`surname`, `Contact`.`email`, `Contact`.`website`, `Contact`.`address_1`, `Contact`.`address_2`, `Contact`.`city`, `Contact`.`postcode`, `Contact`.`country_code`, `Contact`.`telephone`, `Contact`.`organisation`, `Contact`.`created`, `Contact`.`modified`, (CONCAT(`Contact`.`first_name`,' ',`Contact`.`surname`)) AS `Contact__name` FROM `ck_users` AS `User` LEFT JOIN `ck_contacts` AS `Contact` ON (`User`.`contact_id` = `Contact`.`id`) WHERE `User`.`id` IS NULL LIMIT 1000
38SELECT `Contact`.`id`, `Contact`.`first_name`, `Contact`.`surname`, `Contact`.`email`, `Contact`.`website`, `Contact`.`address_1`, `Contact`.`address_2`, `Contact`.`city`, `Contact`.`postcode`, `Contact`.`country_code`, `Contact`.`telephone`, `Contact`.`organisation`, `Contact`.`created`, `Contact`.`modified`, (CONCAT(`Contact`.`first_name`,' ',`Contact`.`surname`)) AS `Contact__name` FROM `ck_contacts` AS `Contact` WHERE `Contact`.`id` IS NULL LIMIT 1000