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


Tumores pediátricos são 'paralisados' após modificação no DNA, diz estudo

iStock
Imagem: iStock

Bruna Alves

Do VivaBem, em São Paulo

21/10/2020 11h00

Uma pesquisa realizada em células de tumores no sistema nervoso central mostrou que é possível "paralisar" a progressão da doença, que atinge crianças e adolescentes, usando um medicamento que altera a forma como o material genético se expressa nas células.

O estudo, publicado na revista Frontiers, foi realizado por pesquisadores do Instituto do Câncer Infantil (ICI), Hospital de Clínicas de Porto Alegre, UFRGS (Universidade Federal do Rio Grande do Sul) e do Hospital for Sick Children, de Toronto, no Canadá.

Recentemente, descobriu-se a epigenética, que está acima da genética, e controla a expressão do gene. Isso significa que agora é possível regular o gene, mesmo que haja mutação no DNA.

Hoje já existem algumas medicações que podem silenciar o DNA e fazer com que a mutação não se expresse. Nesse estudo, os pesquisadores utilizaram, pela primeira vez, um desses medicamentos —usado para tratar esclerose múltipla—, para o tratamento de um câncer no sistema nervoso central.

Pesquisa de medicação para tratar tumor infantil - Divulgação - Divulgação
Pesquisa de câncer infantil
Imagem: Divulgação

Esse tipo de câncer é agressivo, difícil de ser tratado e causa a morte de muitas crianças. "Nós usamos essa medicação e vimos que ela tem mecanismos que vão além do que está recomendada. Usamos para fazer o silenciamento epigenético no gene que controla o crescimento do tumor. Isso foi feito em células, não em pacientes", explica André Brunetto, oncologista e coordenador do Centro de Pesquisas do Instituto do Câncer Infantil.

Como é possível modificar a mutação de um gene?

O DNA é responsável por produzir funções, atividades ou proteínas para o nosso corpo. "Nós temos o DNA que está no núcleo da célula, ele fica todo envelopado, empacotado e assim não faz nada", diz Brunetto.

Quando existe um câncer, muitas vezes, ocorrem mutações em níveis de DNA que fazem com que ele se modifique. Há genes que têm funções dentro das células, e também os que são controladores, que fazem com que esses genes possam ou não se manifestar. Sendo assim, sempre que há uma alteração genética dentro da célula, tem um comando que vai no núcleo e faz com que ela produza proteínas e dê sinais de crescimento celular, invasão, metástase e outras coisas.

"Então, aquela célula recebe um sinal que é propagado para todo o corpo e o tumor começa a crescer e ir para outros lugares. E, invariavelmente, esse tumor não responde aos sinais que o corpo dá para ele parar, fica desregulado e essa célula fica autossuficiente, e acaba tomando conta e crescendo. Por isso que essas crianças vão a óbito", explica o especialista.

Mais estudos são necessários

É importante ressaltar que esse estudo ainda está na fase inicial e não se fala em cura por que o tratamento de câncer pode envolver várias medicações, cirurgia, radioterapia, quimioterapia, imunoterapia e por aí vai.

"Um coquetel é feito para aumentar a chance de cura. Então, quando descubro uma nova forma de tratar o câncer, tenho que levar isso para os estudos clínicos para saber se a adição desse novo tratamento vai ou não aumentar as chances de cura", ressalta o oncologista.