;(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


Mutações do novo coronavírus não aumentam risco de transmissão, diz estudo

Radoslav Zilinsky / Getty Images
Imagem: Radoslav Zilinsky / Getty Images

Do VivaBem, em São Paulo

25/05/2020 12h31

Nenhuma mutação documentada do novo coronavírus aumenta a transmissibilidade, de acordo com uma pesquisa ainda não revisada e publicada na plataforma bioRxiv no dia 21 de maio.

Para chegarem a essa conclusão, os cientistas da University College London, no Reino Unido, analisaram mais de 15.000 genomas de pessoas com Sars-CoV-2 de 75 países. Ao todo, foram encontradas 6.822 mutações, mas nenhuma que beneficiasse o vírus.

"Não identificamos uma única mutação recorrente convincentemente associada ao aumento da transmissão viral", escreveram os autores. Em vez disso, as mutações recorrentes do vírus parecem ser neutras ou fracamente prejudiciais.

Embora se espere que a maioria das mutações seja neutra, algumas podem ser vantajosas ou prejudiciais ao vírus. As que são altamente prejudiciais, como as que impedem que eles invadam hospedeiros, são rapidamente eliminadas; mutações que são apenas ligeiramente nocivas podem ser retidas. "Mas mutações neutras e em particular vantajosas podem atingir frequências mais altas", ou seja, se tornar mais comuns à medida que são transmitidas a vírus descendentes.

De acordo com os pesquisadores, os coronavírus, assim como todos os vírus de RNA, podem desenvolver mutações de três maneiras diferentes. Primeiro, como erros de cópia durante a replicação viral. Segundo, como resultado de recombinação ou rearranjo com outros vírus que infectam a mesma célula. Por fim, as mutações podem ser induzidas por sistemas de edição de RNA do hospedeiro, que fazem parte da imunidade natural.

No estudo em questão, as mutações parecem ser induzidas principalmente pelo próprio sistema imunológico humano, e não uma adaptação do vírus ao novo hospedeiro.

Ao site Medicalxpress, a principal autora do estudo Lucy van Dorp disse que é de se esperar que um vírus sofra mutação e eventualmente se divida em linhagens diferentes à medida que se torne mais comum em populações humanas. "Mas isso não implica necessariamente que em nenhuma linhagem surgirão versões mais transmissíveis ou prejudiciais".

A pesquisa destaca que a diversidade genômica da população global de Sars-CoV-2 ainda é muito limitada. Mas com o que se tem agora, não há razão para acreditar que esse processo levará ao surgimento de qualquer linhagem com maior capacidade de transmissão em seu hospedeiro humano.