Skip to main content

Why is this virus different?

A perfect storm of traits makes it very difficult to identify infected people before they’ve already transmitted the virus to many other people.

Photo by Nikolay Romensky

felicia keesing
Professor of Biology at Bard College, Cary Adjunct Scientist

Error message

  • Deprecated function: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in Drupal\Component\Utility\Unicode::validateUtf8() (line 395 of core/lib/Drupal/Component/Utility/Unicode.php).
    Drupal\Component\Utility\Unicode::validateUtf8() (Line: 65)
    Drupal\Component\Utility\Xss::filter() (Line: 351)
    _colorbox_formatter_get_caption() (Line: 140)
    template_preprocess_colorbox_formatter()
    call_user_func_array() (Line: 261)
    Drupal\Core\Theme\ThemeManager->render() (Line: 491)
    Drupal\Core\Render\Renderer->doRender() (Line: 248)
    Drupal\Core\Render\Renderer->render() (Line: 484)
    Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 254)
    __TwigTemplate_e65ca13bf6eca804de0e3b2c94cbf463->{closure}() (Line: 2061)
    Twig\Extension\CoreExtension::captureOutput() (Line: 44)
    __TwigTemplate_e65ca13bf6eca804de0e3b2c94cbf463->doDisplay() (Line: 387)
    Twig\Template->yield() (Line: 343)
    Twig\Template->display() (Line: 358)
    Twig\Template->render() (Line: 35)
    Twig\TemplateWrapper->render() (Line: 33)
    twig_render_template() (Line: 348)
    Drupal\Core\Theme\ThemeManager->render() (Line: 491)
    Drupal\Core\Render\Renderer->doRender() (Line: 504)
    Drupal\Core\Render\Renderer->doRender() (Line: 248)
    Drupal\Core\Render\Renderer->render() (Line: 484)
    Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 45)
    __TwigTemplate_29a6bd8ca064d68d79a709de008b1300->doDisplay() (Line: 387)
    Twig\Template->yield() (Line: 343)
    Twig\Template->display() (Line: 358)
    Twig\Template->render() (Line: 35)
    Twig\TemplateWrapper->render() (Line: 33)
    twig_render_template() (Line: 348)
    Drupal\Core\Theme\ThemeManager->render() (Line: 491)
    Drupal\Core\Render\Renderer->doRender() (Line: 504)
    Drupal\Core\Render\Renderer->doRender() (Line: 248)
    Drupal\Core\Render\Renderer->render() (Line: 224)
    Drupal\entity_embed\Plugin\Filter\EntityEmbedFilter->Drupal\entity_embed\Plugin\Filter\{closure}() (Line: 638)
    Drupal\Core\Render\Renderer->executeInRenderContext() (Line: 223)
    Drupal\entity_embed\Plugin\Filter\EntityEmbedFilter->process() (Line: 118)
    Drupal\filter\Element\ProcessedText::preRenderText()
    call_user_func_array() (Line: 113)
    Drupal\Core\Render\Renderer->doTrustedCallback() (Line: 870)
    Drupal\Core\Render\Renderer->doCallback() (Line: 432)
    Drupal\Core\Render\Renderer->doRender() (Line: 248)
    Drupal\Core\Render\Renderer->render() (Line: 484)
    Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 254)
    __TwigTemplate_e65ca13bf6eca804de0e3b2c94cbf463->{closure}() (Line: 2061)
    Twig\Extension\CoreExtension::captureOutput() (Line: 44)
    __TwigTemplate_e65ca13bf6eca804de0e3b2c94cbf463->doDisplay() (Line: 387)
    Twig\Template->yield() (Line: 343)
    Twig\Template->display() (Line: 358)
    Twig\Template->render() (Line: 35)
    Twig\TemplateWrapper->render() (Line: 33)
    twig_render_template() (Line: 348)
    Drupal\Core\Theme\ThemeManager->render() (Line: 491)
    Drupal\Core\Render\Renderer->doRender() (Line: 248)
    Drupal\Core\Render\Renderer->render() (Line: 484)
    Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 423)
    __TwigTemplate_bcdae20cc74e927d9ce983809150de87->doDisplay() (Line: 387)
    Twig\Template->yield() (Line: 343)
    Twig\Template->display() (Line: 358)
    Twig\Template->render() (Line: 35)
    Twig\TemplateWrapper->render() (Line: 33)
    twig_render_template() (Line: 348)
    Drupal\Core\Theme\ThemeManager->render() (Line: 491)
    Drupal\Core\Render\Renderer->doRender() (Line: 248)
    Drupal\Core\Render\Renderer->render() (Line: 238)
    Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() (Line: 638)
    Drupal\Core\Render\Renderer->executeInRenderContext() (Line: 231)
    Drupal\Core\Render\MainContent\HtmlRenderer->prepare() (Line: 128)
    Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse() (Line: 90)
    Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray()
    call_user_func() (Line: 111)
    Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch() (Line: 186)
    Symfony\Component\HttpKernel\HttpKernel->handleRaw() (Line: 76)
    Symfony\Component\HttpKernel\HttpKernel->handle() (Line: 53)
    Drupal\Core\StackMiddleware\Session->handle() (Line: 48)
    Drupal\Core\StackMiddleware\KernelPreHandle->handle() (Line: 28)
    Drupal\Core\StackMiddleware\ContentLength->handle() (Line: 32)
    Drupal\big_pipe\StackMiddleware\ContentLength->handle() (Line: 191)
    Drupal\page_cache\StackMiddleware\PageCache->fetch() (Line: 128)
    Drupal\page_cache\StackMiddleware\PageCache->lookup() (Line: 82)
    Drupal\page_cache\StackMiddleware\PageCache->handle() (Line: 50)
    Drupal\ban\BanMiddleware->handle() (Line: 48)
    Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle() (Line: 51)
    Drupal\Core\StackMiddleware\NegotiationMiddleware->handle() (Line: 36)
    Drupal\Core\StackMiddleware\AjaxPageState->handle() (Line: 51)
    Drupal\Core\StackMiddleware\StackedHttpKernel->handle() (Line: 741)
    Drupal\Core\DrupalKernel->handle() (Line: 19)
    
  • Deprecated function: str_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in Drupal\Component\Utility\Xss::filter() (line 69 of core/lib/Drupal/Component/Utility/Xss.php).
    Drupal\Component\Utility\Xss::filter() (Line: 351)
    _colorbox_formatter_get_caption() (Line: 140)
    template_preprocess_colorbox_formatter()
    call_user_func_array() (Line: 261)
    Drupal\Core\Theme\ThemeManager->render() (Line: 491)
    Drupal\Core\Render\Renderer->doRender() (Line: 248)
    Drupal\Core\Render\Renderer->render() (Line: 484)
    Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 254)
    __TwigTemplate_e65ca13bf6eca804de0e3b2c94cbf463->{closure}() (Line: 2061)
    Twig\Extension\CoreExtension::captureOutput() (Line: 44)
    __TwigTemplate_e65ca13bf6eca804de0e3b2c94cbf463->doDisplay() (Line: 387)
    Twig\Template->yield() (Line: 343)
    Twig\Template->display() (Line: 358)
    Twig\Template->render() (Line: 35)
    Twig\TemplateWrapper->render() (Line: 33)
    twig_render_template() (Line: 348)
    Drupal\Core\Theme\ThemeManager->render() (Line: 491)
    Drupal\Core\Render\Renderer->doRender() (Line: 504)
    Drupal\Core\Render\Renderer->doRender() (Line: 248)
    Drupal\Core\Render\Renderer->render() (Line: 484)
    Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 45)
    __TwigTemplate_29a6bd8ca064d68d79a709de008b1300->doDisplay() (Line: 387)
    Twig\Template->yield() (Line: 343)
    Twig\Template->display() (Line: 358)
    Twig\Template->render() (Line: 35)
    Twig\TemplateWrapper->render() (Line: 33)
    twig_render_template() (Line: 348)
    Drupal\Core\Theme\ThemeManager->render() (Line: 491)
    Drupal\Core\Render\Renderer->doRender() (Line: 504)
    Drupal\Core\Render\Renderer->doRender() (Line: 248)
    Drupal\Core\Render\Renderer->render() (Line: 224)
    Drupal\entity_embed\Plugin\Filter\EntityEmbedFilter->Drupal\entity_embed\Plugin\Filter\{closure}() (Line: 638)
    Drupal\Core\Render\Renderer->executeInRenderContext() (Line: 223)
    Drupal\entity_embed\Plugin\Filter\EntityEmbedFilter->process() (Line: 118)
    Drupal\filter\Element\ProcessedText::preRenderText()
    call_user_func_array() (Line: 113)
    Drupal\Core\Render\Renderer->doTrustedCallback() (Line: 870)
    Drupal\Core\Render\Renderer->doCallback() (Line: 432)
    Drupal\Core\Render\Renderer->doRender() (Line: 248)
    Drupal\Core\Render\Renderer->render() (Line: 484)
    Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 254)
    __TwigTemplate_e65ca13bf6eca804de0e3b2c94cbf463->{closure}() (Line: 2061)
    Twig\Extension\CoreExtension::captureOutput() (Line: 44)
    __TwigTemplate_e65ca13bf6eca804de0e3b2c94cbf463->doDisplay() (Line: 387)
    Twig\Template->yield() (Line: 343)
    Twig\Template->display() (Line: 358)
    Twig\Template->render() (Line: 35)
    Twig\TemplateWrapper->render() (Line: 33)
    twig_render_template() (Line: 348)
    Drupal\Core\Theme\ThemeManager->render() (Line: 491)
    Drupal\Core\Render\Renderer->doRender() (Line: 248)
    Drupal\Core\Render\Renderer->render() (Line: 484)
    Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 423)
    __TwigTemplate_bcdae20cc74e927d9ce983809150de87->doDisplay() (Line: 387)
    Twig\Template->yield() (Line: 343)
    Twig\Template->display() (Line: 358)
    Twig\Template->render() (Line: 35)
    Twig\TemplateWrapper->render() (Line: 33)
    twig_render_template() (Line: 348)
    Drupal\Core\Theme\ThemeManager->render() (Line: 491)
    Drupal\Core\Render\Renderer->doRender() (Line: 248)
    Drupal\Core\Render\Renderer->render() (Line: 238)
    Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() (Line: 638)
    Drupal\Core\Render\Renderer->executeInRenderContext() (Line: 231)
    Drupal\Core\Render\MainContent\HtmlRenderer->prepare() (Line: 128)
    Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse() (Line: 90)
    Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray()
    call_user_func() (Line: 111)
    Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch() (Line: 186)
    Symfony\Component\HttpKernel\HttpKernel->handleRaw() (Line: 76)
    Symfony\Component\HttpKernel\HttpKernel->handle() (Line: 53)
    Drupal\Core\StackMiddleware\Session->handle() (Line: 48)
    Drupal\Core\StackMiddleware\KernelPreHandle->handle() (Line: 28)
    Drupal\Core\StackMiddleware\ContentLength->handle() (Line: 32)
    Drupal\big_pipe\StackMiddleware\ContentLength->handle() (Line: 191)
    Drupal\page_cache\StackMiddleware\PageCache->fetch() (Line: 128)
    Drupal\page_cache\StackMiddleware\PageCache->lookup() (Line: 82)
    Drupal\page_cache\StackMiddleware\PageCache->handle() (Line: 50)
    Drupal\ban\BanMiddleware->handle() (Line: 48)
    Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle() (Line: 51)
    Drupal\Core\StackMiddleware\NegotiationMiddleware->handle() (Line: 36)
    Drupal\Core\StackMiddleware\AjaxPageState->handle() (Line: 51)
    Drupal\Core\StackMiddleware\StackedHttpKernel->handle() (Line: 741)
    Drupal\Core\DrupalKernel->handle() (Line: 19)
    
  • Deprecated function: Creation of dynamic property Drupal\tablefield\TableValue::$value is deprecated in Drupal\Core\TypedData\TypedData->setValue() (line 102 of core/lib/Drupal/Core/TypedData/TypedData.php).
    Drupal\Core\TypedData\TypedData->setValue() (Line: 89)
    Drupal\Core\TypedData\Plugin\DataType\Map->setValue() (Line: 125)
    Drupal\Core\Field\FieldItemBase->setValue() (Line: 206)
    Drupal\tablefield\Plugin\Field\FieldType\TablefieldItem->setValue() (Line: 216)
    Drupal\Core\TypedData\TypedDataManager->getPropertyInstance() (Line: 100)
    Drupal\Core\Field\FieldTypePluginManager->createFieldItem() (Line: 41)
    Drupal\Core\Field\FieldItemList->createItem() (Line: 71)
    Drupal\Core\TypedData\Plugin\DataType\ItemList->setValue() (Line: 107)
    Drupal\Core\Field\FieldItemList->setValue() (Line: 216)
    Drupal\Core\TypedData\TypedDataManager->getPropertyInstance() (Line: 92)
    Drupal\Core\Field\FieldTypePluginManager->createFieldItemList() (Line: 633)
    Drupal\Core\Entity\ContentEntityBase->getTranslatedField() (Line: 597)
    Drupal\Core\Entity\ContentEntityBase->get() (Line: 326)
    Drupal\Core\Entity\EntityViewBuilder->buildComponents() (Line: 282)
    Drupal\Core\Entity\EntityViewBuilder->buildMultiple() (Line: 18)
    Drupal\paragraphs\ParagraphViewBuilder->buildMultiple() (Line: 239)
    Drupal\Core\Entity\EntityViewBuilder->build()
    call_user_func_array() (Line: 113)
    Drupal\Core\Render\Renderer->doTrustedCallback() (Line: 870)
    Drupal\Core\Render\Renderer->doCallback() (Line: 432)
    Drupal\Core\Render\Renderer->doRender() (Line: 248)
    Drupal\Core\Render\Renderer->render() (Line: 484)
    Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 49)
    __TwigTemplate_495ba2226a42ddaff89575eb4d528b65->doDisplay() (Line: 387)
    Twig\Template->yield() (Line: 343)
    Twig\Template->display() (Line: 358)
    Twig\Template->render() (Line: 35)
    Twig\TemplateWrapper->render() (Line: 33)
    twig_render_template() (Line: 348)
    Drupal\Core\Theme\ThemeManager->render() (Line: 491)
    Drupal\Core\Render\Renderer->doRender() (Line: 248)
    Drupal\Core\Render\Renderer->render() (Line: 484)
    Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 430)
    __TwigTemplate_bcdae20cc74e927d9ce983809150de87->doDisplay() (Line: 387)
    Twig\Template->yield() (Line: 343)
    Twig\Template->display() (Line: 358)
    Twig\Template->render() (Line: 35)
    Twig\TemplateWrapper->render() (Line: 33)
    twig_render_template() (Line: 348)
    Drupal\Core\Theme\ThemeManager->render() (Line: 491)
    Drupal\Core\Render\Renderer->doRender() (Line: 248)
    Drupal\Core\Render\Renderer->render() (Line: 238)
    Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() (Line: 638)
    Drupal\Core\Render\Renderer->executeInRenderContext() (Line: 231)
    Drupal\Core\Render\MainContent\HtmlRenderer->prepare() (Line: 128)
    Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse() (Line: 90)
    Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray()
    call_user_func() (Line: 111)
    Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch() (Line: 186)
    Symfony\Component\HttpKernel\HttpKernel->handleRaw() (Line: 76)
    Symfony\Component\HttpKernel\HttpKernel->handle() (Line: 53)
    Drupal\Core\StackMiddleware\Session->handle() (Line: 48)
    Drupal\Core\StackMiddleware\KernelPreHandle->handle() (Line: 28)
    Drupal\Core\StackMiddleware\ContentLength->handle() (Line: 32)
    Drupal\big_pipe\StackMiddleware\ContentLength->handle() (Line: 191)
    Drupal\page_cache\StackMiddleware\PageCache->fetch() (Line: 128)
    Drupal\page_cache\StackMiddleware\PageCache->lookup() (Line: 82)
    Drupal\page_cache\StackMiddleware\PageCache->handle() (Line: 50)
    Drupal\ban\BanMiddleware->handle() (Line: 48)
    Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle() (Line: 51)
    Drupal\Core\StackMiddleware\NegotiationMiddleware->handle() (Line: 36)
    Drupal\Core\StackMiddleware\AjaxPageState->handle() (Line: 51)
    Drupal\Core\StackMiddleware\StackedHttpKernel->handle() (Line: 741)
    Drupal\Core\DrupalKernel->handle() (Line: 19)
    
  • Deprecated function: Creation of dynamic property Drupal\tablefield\Plugin\Field\FieldFormatter\TablefieldFormatter::$ModuleHandler is deprecated in Drupal\tablefield\Plugin\Field\FieldFormatter\TablefieldFormatter->__construct() (line 57 of modules/contrib/tablefield/src/Plugin/Field/FieldFormatter/TablefieldFormatter.php).
    Drupal\tablefield\Plugin\Field\FieldFormatter\TablefieldFormatter->__construct() (Line: 64)
    Drupal\tablefield\Plugin\Field\FieldFormatter\TablefieldFormatter::create() (Line: 65)
    Drupal\Core\Field\FormatterPluginManager->createInstance() (Line: 127)
    Drupal\Core\Field\FormatterPluginManager->getInstance() (Line: 205)
    Drupal\Core\Entity\Entity\EntityViewDisplay->getRenderer() (Line: 241)
    Drupal\Core\Entity\Entity\EntityViewDisplay->buildMultiple() (Line: 340)
    Drupal\Core\Entity\EntityViewBuilder->buildComponents() (Line: 282)
    Drupal\Core\Entity\EntityViewBuilder->buildMultiple() (Line: 18)
    Drupal\paragraphs\ParagraphViewBuilder->buildMultiple() (Line: 239)
    Drupal\Core\Entity\EntityViewBuilder->build()
    call_user_func_array() (Line: 113)
    Drupal\Core\Render\Renderer->doTrustedCallback() (Line: 870)
    Drupal\Core\Render\Renderer->doCallback() (Line: 432)
    Drupal\Core\Render\Renderer->doRender() (Line: 248)
    Drupal\Core\Render\Renderer->render() (Line: 484)
    Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 49)
    __TwigTemplate_495ba2226a42ddaff89575eb4d528b65->doDisplay() (Line: 387)
    Twig\Template->yield() (Line: 343)
    Twig\Template->display() (Line: 358)
    Twig\Template->render() (Line: 35)
    Twig\TemplateWrapper->render() (Line: 33)
    twig_render_template() (Line: 348)
    Drupal\Core\Theme\ThemeManager->render() (Line: 491)
    Drupal\Core\Render\Renderer->doRender() (Line: 248)
    Drupal\Core\Render\Renderer->render() (Line: 484)
    Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 430)
    __TwigTemplate_bcdae20cc74e927d9ce983809150de87->doDisplay() (Line: 387)
    Twig\Template->yield() (Line: 343)
    Twig\Template->display() (Line: 358)
    Twig\Template->render() (Line: 35)
    Twig\TemplateWrapper->render() (Line: 33)
    twig_render_template() (Line: 348)
    Drupal\Core\Theme\ThemeManager->render() (Line: 491)
    Drupal\Core\Render\Renderer->doRender() (Line: 248)
    Drupal\Core\Render\Renderer->render() (Line: 238)
    Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() (Line: 638)
    Drupal\Core\Render\Renderer->executeInRenderContext() (Line: 231)
    Drupal\Core\Render\MainContent\HtmlRenderer->prepare() (Line: 128)
    Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse() (Line: 90)
    Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray()
    call_user_func() (Line: 111)
    Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch() (Line: 186)
    Symfony\Component\HttpKernel\HttpKernel->handleRaw() (Line: 76)
    Symfony\Component\HttpKernel\HttpKernel->handle() (Line: 53)
    Drupal\Core\StackMiddleware\Session->handle() (Line: 48)
    Drupal\Core\StackMiddleware\KernelPreHandle->handle() (Line: 28)
    Drupal\Core\StackMiddleware\ContentLength->handle() (Line: 32)
    Drupal\big_pipe\StackMiddleware\ContentLength->handle() (Line: 191)
    Drupal\page_cache\StackMiddleware\PageCache->fetch() (Line: 128)
    Drupal\page_cache\StackMiddleware\PageCache->lookup() (Line: 82)
    Drupal\page_cache\StackMiddleware\PageCache->handle() (Line: 50)
    Drupal\ban\BanMiddleware->handle() (Line: 48)
    Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle() (Line: 51)
    Drupal\Core\StackMiddleware\NegotiationMiddleware->handle() (Line: 36)
    Drupal\Core\StackMiddleware\AjaxPageState->handle() (Line: 51)
    Drupal\Core\StackMiddleware\StackedHttpKernel->handle() (Line: 741)
    Drupal\Core\DrupalKernel->handle() (Line: 19)
    

This is part of a series of guest posts about the Covid-19 crisis by Dr. Felicia Keesing, an expert in disease ecology. Please note that the situation is continually evolving and information may become out-of-date.

Basic virus biology

Viruses aren’t cells, and they’re not living organisms. They’re parasitic particles that hijack the cells of living organisms and use these cells to make more copies of themselves. A virus particle basically consists of a fatty membrane with a bit of DNA or RNA inside. The fatty membrane has proteins embedded in it which help the virus invade the cells it will parasitize. For more on the specific components of SARS-CoV-2, the coronavirus that causes Covid-19, check out this amazing infographic.

A virus first has to get into a host so that it can hijack the host’s cells. Viruses generally get from one host to another through the host’s bodily fluids, so the virus particles in the bodily fluids of the infected host have to come into contact with the bodily fluids of a new host. Some viruses travel in blood, others in saliva or mucus, others in feces or urine. SARS- CoV-2 appears to travel to new hosts through saliva and mucus, and also through feces.

coronavirus
Coronavirus Genome. Credit: The New York Times.

Once a virus invades a new host, it takes some time before it begins making copies of itself. That’s called the incubation period. After the incubation period, the virus begins making copies of itself and starts to spread within the host. At this point, it can also spread to new hosts. This is called the infectious period. The immune system of an infected host is typically fighting the virus, and if all goes well, the immune system will eventually destroy the virus particles. At that point, the host is recovered, and may be immune to reinfection, depending on the specific virus. In some cases, the immune system is never able to fight off the virus, as is the case for HIV. We know that the immune system can fight off SARS-CoV- 2, though, so there’s a bit of good news.

With this basic background, we can begin asking how SARS-CoV-2 is different from other viruses that cause disease in humans. As my points of comparison, I’ll primarily use two other coronaviruses – the viruses that cause SARS (Severe Acute Respiratory Syndrome) and MERS (Middle East Respiratory Syndrome) – and the influenza virus that causes the flu, with guest appearances by other notorious viruses like Ebola virus and HIV.

How long is the incubation period?

The average incubation period of SARS-CoV-2 is about 5 days, though it can be as long as 14 days, and perhaps a bit longer. This is longer than the 1-3 day incubation period for influenza, for example, but shorter than the 9-21 day incubation period for the virus that causes chicken pox, or the much, much longer incubation period for HIV (for a simple table). So this virus doesn’t have an unusual incubation period.

Incubation period of COVID-19. Source: The Incubation Period of Coronavirus Disease 2019 (COVID-19) From Publicly Reported Confirmed Cases: Estimation and Application.

How infectious is it?

Epidemiologists measure the rate at which a virus spreads with a measure called Ro (which is pronounced R-nought). Ro is the number of new infections that arise from a single infected host. Ro for measles is 12-18, meaning that a single infected person typically infects 12-18 others. Ro for the 1918 influenza virus was 1.8, for Ebola it’s about 2, for the common cold virus it’s 2-3. For SARS- CoV-2, it’s 1.4-3.9. But back in 2002, the first SARS virus had a similar Ro, yet was much more easily contained. In sum, SARS-CoV-2 doesn’t stand out for its infectiousness.

(Note that we’re practicing social distancing in an effort to reduce the Ro of the virus. If we can get Ro below 1, there will be fewer and fewer infected hosts over time and the infection will die out.)

Ro for well-known infectious diseases
Disease Reproduction number R0
Ebola, 20141.51 to 2.53
H1N1 Influenza, 20091.46 to 1.48
Seasonal Influenza0.9 to 2.1
Measles12 to 18
MERSaround 1
Polio5 to 7
SARS<1 to 2.75
Smallpox5 to 7
SARS-CoV-2 (causes COVID-19)1.5 to 3.5

How deadly is it?

This is harder to estimate than you might expect. You’ve probably heard “case-fatality” estimates for Covid-19 of 1- 3%. This statistic is calculated as the number of current deaths divided by the number of current cases, which doesn’t sound very complicated. But we know that the number of current cases is an underestimate almost everywhere because of the lack of testing, and because a lot of people never even know they’re infected. Also, for the nerdiest among you, there’s a several-week lag between the current number of cases and the number of deaths that will ultimately arise from those cases. This would tend to make the fatality rate look lower than it actually is. And finally, as you already know, the fatality rate is not the same for all categories of people. Older people are much more likely to die, and so are people with certain underlying health conditions. (And one more thing: a key reason that we’re all trying to “flatten the curve” is because the fatality rate is higher when hospitals are overrun with critical cases and can’t adequately treat them all.)

Even given all of this uncertainty and variability, the fatality rate from Covid-19 is much lower than the fatality rate for SARS (15%), MERS (34%), or Ebola (25-50%). [But the fatality rate is much, much higher than it is for the seasonal flu (0.1%), and about as high as the fatality rate for the 1918 flu pandemic (2.5%).]

How many infected people don’t have symptoms?

20-30% of people infected with SARS-CoV-2 appear to develop no symptoms at all. That might seem high, but it’s not unique. For seasonal influenza, it’s thought that 50% of infected people have no symptoms, though estimates of the percentage for all influenzas range widely. A significant percentage of people infected with SARS also appear to have had no symptoms, with one study estimating 13%. And there were asymptomatic people infected with MERS (although that percentage appears to be somewhat lower). So the frequency of people infected with SARS-CoV-2 who have no symptoms does not seem to be a particularly distinctive characteristic of this virus.

When are people most infectious?

Scientists are still learning about SARS-CoV-2, but several studies suggest that the viral load of infected people is already very high when symptoms begin. Tracking of cases has also shown that people without symptoms can transmit the virus. For the original SARS, the rate of viral shedding peaked a week or more after the onset of symptoms. This meant that people had typically been isolated and were being treated in a hospital by the time they were most likely to infect others. (That’s also why so many SARS infections were acquired in hospitals.) For MERS, one study found that viral load peaked two weeks after patients had developed symptoms.

What about for influenza?

Influenza is different. A study in Germany followed influenza infections in households. Most patients reached their highest viral shedding rates a few days after symptoms began, though there were some people who shed virus particles 1-4 days before they experienced symptoms. So to put this all together, SARS-CoV-2 appears to be shed at high rates just as symptoms are beginning, and sometimes before symptoms begin, and sometimes when there never are symptoms, which is similar to what we see for influenza.

So, why is this virus different?

It’s not the deadliest virus or the most infectious. It’s no sneakier than the influenza virus. It doesn’t have the longest incubation or the shortest. But it has a perfect storm of traits – its infectiousness, its incubation period, its fatality rate – and it has seven billion susceptible hosts to infect. These traits make it very difficult to identify infected people before they’ve already transmitted a deadly infection to many other people.

What should you do? 

You should keep doing everything that I hope you have been doing for weeks already:

  • Practice social distancing.
  • Stay home as much as possible.
  • Continue good hygiene at home and, even more importantly, whenever you absolutely must go out.
  • Don’t go to the store or any other public place if you think you or someone in your home has been exposed.
  • Be kind to yourself and others, and do what you can to help, as long as you can do it safely. There are a number of resources available in Hudson Valley communities, such as Red Hook Responds and NYS on PAUSE.
  • If you’ve recovered from Covid-19, consider donating some of your blood plasma. Your antibodies are incredibly valuable right now. Share your superpower if you can.
felicia keesing
Professor of Biology at Bard College, Cary Adjunct Scientist

Felicia Keesing has been studying the ecology of infectious diseases since 1998 and is the author of over 70 scientific papers. She is a professor of biology at Bard College and co-leads The Tick Project with Rick Ostfeld, a study testing whether neighborhood-based prevention can reduce human exposure to Lyme and other tick-borne diseases.

More on this topic