;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Saúde

Sintomas, prevenção e tratamentos para uma vida melhor


Tecnologia que sequenciou vírus permite monitorar epidemia em tempo real

Karina F. Bombonato-Prado (FORP-USP)
Imagem: Karina F. Bombonato-Prado (FORP-USP)

Do Jornal da USP

01/03/2020 13h03

Apenas dois dias após o primeiro caso de coronavírus da América Latina ter sido confirmado na capital paulista, pesquisadores do Instituto Adolfo Lutz e das universidades de São Paulo (USP) e de Oxford (Reino Unido) publicaram a sequência completa do genoma viral, que recebeu o nome de SARS-CoV-2.

Os dados foram divulgados nesta sexta-feira (28/02) no site Virological.org, um fórum de discussão e compartilhamento de dados entre virologistas, epidemiologistas e especialistas em saúde pública. Além de ajudar a entender como o vírus está se dispersando pelo mundo, esse tipo de informação é útil para o desenvolvimento de vacinas e testes diagnósticos.

"Ao sequenciar o genoma do vírus, ficamos mais perto de saber a origem da epidemia. Sabemos que o único caso confirmado no Brasil veio da Itália, contudo, os italianos ainda não sabem a origem do surto na região da Lombardia, pois ainda não fizeram o sequenciamento de suas amostras. Não têm ideia de quem é o paciente zero e não sabem se ele veio diretamente da China ou ou por outro país antes", disse Ester Sabino, diretora do Instituto de Medicina Tropical (IMT) da USP.

De acordo com Ester Sabino, a sequência brasileira é muito semelhante à de amostras sequenciadas na Alemanha no dia 28 de janeiro e apresenta diferenças em relação ao genoma observado em Wuhan, epicentro da epidemia na China. "Esse é um vírus que sofre poucas mutações, em média uma por mês. Por esse motivo não adianta sequenciar trecho pequenos do genoma. Para entender como está ocorrendo a disseminação e como o vírus está evoluindo é preciso mapear o genoma completo", explicou.

Esse monitoramento, segundo Sabino, permite identificar as regiões do genoma viral que menos sofrem mutações - algo essencial para o desenvolvimento de vacinas e testes diagnósticos. "Caso o teste tenha como alvo uma região que muda com frequência, a chance de perda da sensibilidade é grande", disse.

Vigilância epidemiológica

Ao lado de Nuno Faria, da Universidade de Oxford, a pesquisadora coordena o Centro Conjunto Brasil-Reino Unido para Descoberta, Diagnóstico, Genômica e Epidemiologia de Arbovírus (CADDE). O projeto, apoiado por Fapesp, Medical Research Council e Fundo Newton (os dois últimos do Reino Unido), tem como objetivo estudar em tempo real epidemias de arboviroses, como dengue e zika.

"Por meio desse projeto foi criado uma rede de pesquisadores dedicada a responder e analisar dados de epidemias em tempo real. A proposta é realmente ajudar os serviços de saúde e não apenas publicar as informações meses depois que o problema ocorreu", disse Ester Sabino à Agência FAPESP.

Segundo a pesquisadora, assim que o primeiro surto de COVID-19 foi confirmado na China, em janeiro, a equipe do projeto se mobilizou para obter os recursos necessários para sequenciar o vírus assim que ele chegasse no Brasil.

"Começamos a trabalhar em parceria com a equipe do Instituto Adolfo Lutz e a treinar pesquisadores para usar uma tecnologia de sequenciamento conhecida como MinION, que é portátil e barata. Usamos essa metodologia para monitorar a evolução do vírus zika nas Américas, mas, nesse caso, só conseguimos traçar a origem do vírus e a rota de disseminação um ano após o término da epidemia. Desta vez, a equipe entrou em ação assim que o primeiro caso foi confirmado", contou ela.

Quebra de barreiras

O primeiro caso de COVID-19 no Brasil (BR1) teve diagnóstico molecular confirmado no dia 26 de fevereiro pela equipe do Adolfo Lutz. Trata-se de um paciente infectado na Itália, possivelmente entre os dias 9 e 21 deste mês. O sequenciamento do genoma viral foi conduzido por uma equipe coordenada por Claudio Tavares Sacchi, responsável pelo Laboratório Estratégico do Instituto Adolfo Lutz (LEIAL), e Jaqueline Goes de Jesus, pós-doutoranda na Faculdade de Medicina da USP e bolsista da FAPESP.

"Já estávamos prevendo a chegada do vírus no Estado de São Paulo e, assim que tivemos a confirmação, acionei os parceiros do Instituto de Medicina Tropical da USP. Já estávamos trabalhando juntos há alguns meses no uso da tecnologia MinION para monitoramento da dengue", contou Saccchi à Agência FAPESP.

"Conseguimos quebrar algumas barreiras com esse trabalho. A universidade treinou equipes e transferiu tecnologia para que o sequenciamento pudesse ser feito no lugar certo, que é o centro responsável pela vigilância epidemiológica. É assim que tem de ser", disse Sabino.

Além do Lutz e da USP, participam do Projeto CADDE integrantes da Superintendência de Controle de Endemias (Sucen) e do Centro de Vigilância Epidemiológica (CVE), ambos ligados à Secretaria de Estado da Saúde.

Plano de contenção

O infectologista e professor da FMUSP Esper Kallás tem auxiliado a Secretaria de Estado da Saúde, desde meados de janeiro, a elaborar a estratégia de atendimento de pacientes eventualmente infectados pelo SARS-CoV-2. O Instituto de Infectologia Emilio Ribas e o Hospital das Clínicas da USP foram escolhidos como instituições de referência para atender os casos graves no Estado.

"O HC segue um protocolo para contenção de catástrofe chamado HICS [sistema de comando de incidentes hospitalares, na sigla em inglês], que já foi acionado no atendimento a vítimas do massacre escolar em Suzano [ataque que deixou dez mortos em 2019] e durante a epidemia de febre amarela de 2018. Agora, sabendo que possivelmente há uma epidemia de coronavírus a caminho, já estabelecemos todos os fluxos de atendimento", contou.

Ainda segundo Kallás, foi criado um grupo de trabalho para discutir protocolos de estudos clínicos que serão feitos com os pacientes diagnosticados e atendidos na rede pública estadual.

"Esse planejamento estratégico e a rápida publicação do genoma viral são indicadores da capacidade que o Estado de São Paulo tem de responder com ciência de alta qualidade e de contribuir para o entendimento das ameaças à saúde da população", afirmou.