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


Nova técnica usa célula-tronco e impressão 3D em transplante de fígado

A técnica inovadora permite imprimir em 90 dias um fígado humano em laboratório - iStock
A técnica inovadora permite imprimir em 90 dias um fígado humano em laboratório Imagem: iStock

Júlio Bernardes

Jornal da USP

04/10/2019 13h01

Uma técnica inovadora, que combina células-tronco e impressão em 3D e que produz tecidos hepáticos humanos em 90 dias para serem usados em transplantes, foi desenvolvida em pesquisa do IB (Instituto de Biociências) da USP (Universidade de São Paulo). O método emprega células do sangue, reprogramadas para se transformarem em células-tronco, que vão se diferenciar em agrupamentos de células hepáticas, usadas nas matrizes de impressão dos tecidos hepáticos. A técnica permite produzir tecidos a partir do sangue do próprio paciente, eliminando os riscos de rejeição.

A pesquisa é descrita em artigo que acaba de ser publicado pela revista científica Biofabrication. "O objetivo do trabalho era avaliar uma forma de imprimir em 3D um fígado humano funcional obtido a partir de células-tronco pluripotentes induzidas, conhecidas como IPS", afirma o pesquisador Ernesto Goulart, primeiro autor do artigo. "A inovação do estudo está no método para imprimir células hepáticas de um mesmo doador a partir de células IPS, processo que até então não havia sido descrito na literatura científica."

O pesquisador aponta que as células hepáticas, os hepatócitos, são células epiteliais, que ficam muito próximas umas das outras. "A maioria dos métodos de bioimpressão necessita da dispersão das células em uma matriz, também chamada de biotinta, uma espécie de hidrogel", explica. "Ao fazer essa dispersão, ocorria uma quebra de contato entre essas células."

Durante a pesquisa, foi desenvolvido um sistema de impressão de células hepáticas em agrupamentos chamados de esferoides, mantendo o contato célula a célula. "No futuro, esse novo sistema poderá ser utilizado na produção de tecidos hepáticos sob demanda para qualquer paciente, sem risco de rejeição", destaca Goulart.

Impressão

O processo de produção é dividido em três etapas: a produção e diferenciação de células em formatos esferoides, a incorporação dos esferoides na biotinta de alginato e a bioimpressão no equipamento 3D. "As células extraídas do sangue são reprogramadas para regredirem a um estado de células-tronco embrionárias, com o potencial de se diferenciarem em qualquer linhagem celular", descreve o pesquisador. "Essas células se diferenciam em esferoides hepáticos, e o estudo é o primeiro a reportar a produção de tecidos hepáticos totalmente a partir de células IPS, com um método muito superior à dispersão individual de células."

Após a impressão, os tecidos am por um período de maturação de 18 dias até estarem prontos para uso. "Foram gerados todos os componentes necessários para formar um tecido hepático funcional, hepatócitos, células endoteliais (vasculares) e mesenquimais, obtidas a partir de um mesmo doador", observa Goulart. "O tecido gerado é isogênico, quer dizer, quando for transplantado no doador não será rejeitado".

De acordo com o pesquisador, a nova técnica permite imprimir em 90 dias um fígado humano em laboratório, a partir da coleta de sangue. "Essa tecnologia pode ser aplicada em escala maior facilmente", ressalta, lembrando que, "no entanto ainda existem vários desenvolvimentos tecnológicos a serem aprimorados até os possíveis ensaios clínicos".

A pesquisa foi desenvolvida no Centro de Estudos do Genoma Humano, sediado no IB e coordenado pela professora Mayana Zatz, e teve apoio da Fapesp (Fundação de Amparo à Pesquisa do Estado de São Paulo), da Capes (Coordenadoria de Aperfeiçoamento de Pessoal de Nível Superior) e do CNPq (Conselho Nacional de Desenvolvimento Científico e Tecnológico). O estudo contou com a colaboração do Laboratório Nacional de Biociências, do CNPEM (Centro Nacional de Pesquisa em Energia e Materiais), em Campinas (interior de São Paulo), da Universidade de Temple (Estados Unidos) e do grupo de pesquisa do professor Silvano Raia, da FMUSP (Faculdade de Medicina da Universidade de São Paulo).