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


Cientistas descobrem por que melanoma tem grandes riscos de metástase

Descoberta pode ??ser nova estratégia em tratamentos combinados para o melanoma - iStock
Descoberta pode ??ser nova estratégia em tratamentos combinados para o melanoma Imagem: iStock

Do UOL VivaBem, em São Paulo

22/11/2018 10h57

Cientistas japoneses descobrem porque o melanoma, tipo mais letal de câncer de pele, tem maior probabilidade de se espalhar para os tecidos vizinhos e outros locais do corpo. A revelação pode ajudar a tratar a doença.

Após analisarem dois tipos de moléculas específicas em células humanas e em camundongos, pesquisadores da Universidade de Tokyo, no Japão, concluíram que a interação entre elas pode ser responsável pela disseminação desse câncer de pele.

VEJA TAMBÉM:

Uma das moléculas é chamada de ativador do plasminogênio tecidual (TPA). Esta pequena proteína funciona como uma protease, que é uma enzima que corta as proteínas. A outra molécula é uma grande proteína chamada proteína 1 relacionada ao receptor de lipoproteína de baixa densidade (LRP1). O LRP1 fica dentro da membrana que envolve as células animais e o TPA se liga a ele.

Em trabalhos anteriores, a equipe de Beate Heissig, que liderou a atual pesquisa, descobriu que o aumento do TPA em camundongos elevou o número de células que geralmente proliferam e estimulam o crescimento de tumores de melanoma.

A metástase é um processo complexo envolvendo uma série de etapas. Para se espalhar pelo corpo, as células cancerígenas usam uma variedade de ferramentas. Por exemplo, quando atingem novas partes do corpo, essas células usam proteases para cortar as cadeias de proteínas que ancoram as células saudáveis em seu lugar no corpo. Isso as ajuda a criar nichos nos quais começarão a desenvolver novos tumores.

Até agora, tentativas de prevenir a metástase pelo bloqueio de proteases não foram bem-sucedidas. Os cientistas suspeitam que a prevenção de todas as atividades de protease também impede que essas enzimas realizem trabalhos valiosos para células saudáveis, o que leva a efeitos colaterais prejudiciais.

Mas a descoberta da interação entre as novas moléculas específicas pode ter resolvido esse problema. "A nossa visão é uma terapia contra o câncer que impede a interação de LRP1 e tPA de modo que apenas o efeito metástase da protease fique parado", explica Heissig.

Após experimentos em células de melanoma, a equipe mostrou que um jeito de impedir que o TPA ajude as células cancerígenas a se espalharem pelo corpo seria justamente prevenir a ligação do TPA ao LRP1.

Eles usaram um modelo de rato de melanoma para confirmar isso e descobriram que os ratos sem LRP1 tinham tumores menores que não cresceram, mesmo quando os pesquisadores deram aos animais TPA extra.

Os resultados sugerem que o direcionamento da via tPA-LRP1 "pode ser uma nova estratégia em tratamentos combinados para o melanoma".

"Uma melhor compreensão das interações específicas de LRP1 e TPA, esperamos, levará a tratamentos de câncer que mantêm as ações normais e saudáveis da protease do TPA", diz Heissig.

Siga o UOL VivaBem nas redes sociais
Facebook • Instagram • Youtube