BR112020026029A2 - filtragem de redes genéticas para descobrir populações de interesse - Google Patents

filtragem de redes genéticas para descobrir populações de interesse Download PDF

Info

Publication number
BR112020026029A2
BR112020026029A2 BR112020026029-0A BR112020026029A BR112020026029A2 BR 112020026029 A2 BR112020026029 A2 BR 112020026029A2 BR 112020026029 A BR112020026029 A BR 112020026029A BR 112020026029 A2 BR112020026029 A2 BR 112020026029A2
Authority
BR
Brazil
Prior art keywords
nodes
genetic
individuals
graph
target
Prior art date
Application number
BR112020026029-0A
Other languages
English (en)
Inventor
Ross E. Curtis
Ahna R. Girshick
Ariel Hippen Anderson
Original Assignee
Ancestry. Com Dna, Llc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ancestry. Com Dna, Llc filed Critical Ancestry. Com Dna, Llc
Publication of BR112020026029A2 publication Critical patent/BR112020026029A2/pt

Links

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B10/00ICT specially adapted for evolutionary bioinformatics, e.g. phylogenetic tree construction or analysis
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B20/00ICT specially adapted for functional genomics or proteomics, e.g. genotype-phenotype associations
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B20/00ICT specially adapted for functional genomics or proteomics, e.g. genotype-phenotype associations
    • G16B20/40Population genetics; Linkage disequilibrium
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B40/00ICT specially adapted for biostatistics; ICT specially adapted for bioinformatics-related machine learning or data mining, e.g. knowledge discovery or pattern finding
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B40/00ICT specially adapted for biostatistics; ICT specially adapted for bioinformatics-related machine learning or data mining, e.g. knowledge discovery or pattern finding
    • G16B40/20Supervised data analysis
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B40/00ICT specially adapted for biostatistics; ICT specially adapted for bioinformatics-related machine learning or data mining, e.g. knowledge discovery or pattern finding
    • G16B40/30Unsupervised data analysis
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B45/00ICT specially adapted for bioinformatics-related data visualisation, e.g. displaying of maps or networks

Abstract

Um servidor de computação gera um gráfico como uma rede de identidade por descendência (IBD). O gráfico inclui uma pluralidade de nós. Cada nó representa um dos indivíduos. Dois ou mais nós são conectados por meio de bordas. Cada borda conecta dois nós e está associada a um peso que é derivado da afinidade entre os dados genéticos dos dois indivíduos representados pelos dois nós. O sistema de computação filtra o gráfico com base nos recursos que estão associados às bordas ou os nós. O gráfico filtrado inclui um subconjunto de nós. O sistema de computação divide o gráfico filtrado em uma pluralidade de agrupamentos para identificar comunidades genéticas que podem não ser detectáveis sem filtragem. O servidor de computação também pode realizar um processo de detecção de comunidade hierárquica de múltiplos caminhos para atribuir um indivíduo representado por um nó para mais de uma comunidade.

Description

FILTRAGEM DE REDES GENÉTICAS PARA DESCOBRIR POPULAÇÕES DE
INTERESSE Referência Cruzada ao Pedido Relacionado
[0001] O presente pedido reivindica o benefício do Pedido de Patente Provisório dos EUA 62/687.177 depositado em 19 de junho de 2018, que é aqui incorporado por referência em sua totalidade. Antecedentes
[0002] As modalidades divulgadas se referem à avaliação de populações nas quais variantes de interesse podem ter surgido e propagado e à descoberta de populações históricas a partir do padrão de relações genéticas entre as pessoas.
[0003] Embora os humanos sejam, geneticamente falando, quase inteiramente idênticos, pequenas diferenças no DNA humano são responsáveis por algumas variações observadas entre os indivíduos. A taxa de mutação do genoma humano é estimada em 1,1*10^-8 por local por geração. Isso leva a uma variante a aproximadamente cada 300 pares de bases. A maioria das mutações que são transmitidas aos descendentes está relacionada ao polimorfismo de nucleotídeo único (SNP). SNP é uma substituição de um único nucleotídeo que ocorre em uma posição específica no genoma. Aprender sobre a estrutura populacional a partir de dados de polimorfismo genético é um tópico importante na genética. Sumário
[0004] O divulgado aqui se refere à geração de um gráfico que representa indivíduos e relações genéticas entre os indivíduos para descobrir novas comunidades genéticas entre diferentes populações e atribuir indivíduos mistos a mais de uma comunidade genética. Em uma modalidade, um servidor de computação realiza um método que inclui a recuperação de uma pluralidade de conjuntos de dados genéticos correspondentes a uma pluralidade de indivíduos. O servidor de computação gera dados que representam um gráfico completo. O gráfico completo inclui uma pluralidade de nós. Cada nó representa um dos indivíduos e o conjunto de dados genéticos correspondente. Dois ou mais nós são conectados por meio de bordas. Uma borda conecta dois nós e está associada a um peso que é derivado da afinidade entre os conjuntos de dados genéticos dos dois indivíduos representados pelos dois nós. O servidor de computação filtra os dados que representam o gráfico completo com base em um ou mais recursos associados às bordas ou aos nós. Os dados filtrados representam um gráfico filtrado que compreende um subconjunto de nós. O servidor de computação divide o subconjunto de nós no gráfico filtrado em uma pluralidade de agrupamentos com base nos pesos das bordas que conectam os nós no subconjunto. Cada agrupamento representa uma comunidade genética.
[0005] Em outra modalidade, um servidor de computação recupera uma pluralidade de conjuntos de dados genéticos correspondentes a uma pluralidade de indivíduos. Um dos indivíduos é um indivíduo misto. O servidor de computação gera dados que representam um gráfico. O gráfico também inclui uma pluralidade de nós que representam os indivíduos. Dois ou mais nós são conectados por meio de bordas associadas a pesos derivados da afinidade entre os conjuntos de dados genéticos dos dois indivíduos representados pelos dois nós. A pluralidade de nós inclui um nó alvo que representa o indivíduo misto e outros nós alvo que representam outros indivíduos. O servidor de computação divide os nós no gráfico em uma pluralidade de agrupamentos com base nos pesos das bordas que conectam os nós. A pluralidade de agrupamentos representa uma pluralidade de comunidades genéticas. O servidor de computação inclui o nó alvo em um ou mais agrupamentos que representam uma ou mais comunidades genéticas. Para pelo menos um dos agrupamentos no qual o nó alvo está incluído, o servidor de computação divide o agrupamento em uma pluralidade de subagrupamentos. O nó alvo pode ser classificado em um ou mais subagrupamentos em cada um do um ou mais agrupamentos. Isso representa que o indivíduo misto está sendo classificado em uma ou mais subcomunidades genéticas diferentes de uma ou mais origens étnicas.
[0006] Em ainda outra modalidade, um servidor de computação recupera um conjunto de dados genéticos de um indivíduo alvo. O servidor de computação recupera uma pluralidade de amostras de painel de referência. Cada amostra de painel de referência representa um indivíduo de painel de referência. Pelo menos alguns dos indivíduos de painel de referência são gerados a partir de uma rede IBD filtrada que é filtrada de uma rede IBD completa. A rede IBD filtrada inclui um subconjunto de nós filtrados com base em um ou mais recursos das bordas ou nós. O servidor de computação gera uma pluralidade de afinidades IBD associadas ao indivíduo alvo. Cada afinidade IBD é determinada comparando o conjunto de dados genéticos do indivíduo alvo com uma das amostras de painel de referência. O servidor de computação recupera um ou mais classificadores de comunidade. Cada classificador de comunidade é um modelo configurado para determinar se um indivíduo pertence a uma comunidade genética. O servidor de computação gera um conjunto de recursos para cada classificador de comunidade. O conjunto de recursos pode ser gerado com base na pluralidade de afinidades IBD. O servidor de computação insere, para cada classificador de comunidade, o conjunto de recursos no classificador de comunidade para determinar se o indivíduo alvo pertence à comunidade genética. O servidor de computação gera um relatório resumindo uma ou mais comunidades genéticas às quais o indivíduo alvo pertence. Breve Descrição dos Desenhos
[0007] A FIG. 1 ilustra um diagrama de um ambiente de sistema de um sistema de computação de exemplo, de acordo com uma modalidade; a FIG. 2 é um diagrama de blocos de uma arquitetura de um sistema de computação de exemplo, de acordo com uma modalidade; as FIGS. 3A e 3B ilustram redes de identidade por descendência (IBD) de exemplo de acordo com uma modalidade; a FIG. 4 ilustra um fluxograma que descreve um exemplo de processo de filtragem de uma rede IBD, de acordo com uma modalidade; a FIG. 5 ilustra um exemplo de rede IBD filtrada, de acordo com uma modalidade; a FIG. 6 é um diagrama de blocos que ilustra um exemplo de processo de classificação de um ano de nascimento de um ancestral comum de dois indivíduos em um período de tempo, de acordo com uma modalidade; a FIG. 7A ilustra um diagrama de árvore para um processo de detecção de comunidade de caminho único; a FIG. 7B ilustra um diagrama de árvore para um processo de detecção de comunidade de múltiplos caminhos, de acordo com uma modalidade; a FIG. 8 é um fluxograma que descreve um exemplo de processo de realização de uma detecção de comunidade de múltiplos caminhos, de acordo com uma modalidade; a FIG. 9 ilustra uma abordagem de detecção de comunidade hierárquica de múltiplos caminhos, de acordo com uma modalidade; a FIG. 10 é um fluxograma que descreve um exemplo de processo de detecção de uma composição ancestral de um indivíduo, de acordo com uma modalidade; a FIG. 11 é um diagrama de blocos de um dispositivo de computação de exemplo, de acordo com uma modalidade.
[0008] As figuras representam várias modalidades apenas para fins de ilustração. Um técnico no assunto reconhecerá prontamente a partir da discussão a seguir que modalidades alternativas das estruturas e métodos ilustrados neste documento podem ser empregados sem se afastar dos princípios descritos neste documento. Descrição Detalhada Exemplo de Ambiente de Sistema
[0009] A FIG. 1 ilustra um diagrama de um ambiente de sistema 100 de um servidor de computação de exemplo 130, de acordo com uma modalidade. O ambiente de sistema 100 mostrado na FIG. 1 inclui um ou mais dispositivos cliente 110, uma rede 120, um servidor de serviço de extração de dados genéticos 125, e um servidor de computação 130. Em várias modalidades, o ambiente de sistema 100 pode incluir menos componentes ou componentes adicionais. O ambiente de sistema 100 também pode incluir diferentes componentes.
[00010] Os dispositivos cliente 110 são um ou mais dispositivos de computação capazes de receber entrada de usuário, bem como transmitir e/ou receber dados através de uma rede 120. Dispositivos de computação de exemplo incluem computadores desktop, laptops, assistentes digitais pessoais (PDAs), smartphones, tablets, dispositivos eletrônicos vestíveis (por exemplo, relógios inteligentes), eletrodomésticos inteligentes (por exemplo, televisores inteligentes, alto-falantes inteligentes, hubs domésticos inteligentes), Internet das coisas (IoT) ou outros dispositivos eletrônicos adequados. Um dispositivo cliente 110 se comunica com outros componentes através da rede 120. Em uma modalidade, um dispositivo cliente 110 executa um aplicativo que inicia uma interface gráfica de usuário (GUI) para um usuário do dispositivo cliente 110 interagir com o servidor de computação 130 por meio de uma interface de usuário 115 do dispositivo cliente. Por exemplo, um dispositivo cliente 110 pode executar um aplicativo de navegador da web para permitir interações entre o dispositivo cliente 110 e o servidor de computação 130 por meio da rede
120. Em outra modalidade, a interface de usuário 115 pode assumir a forma de um aplicativo de software publicado pelo servidor de computação 130 e instalado no dispositivo de usuário 110. Em ainda outra modalidade, um dispositivo cliente 110 interage com o servidor de computação 130 por meio de uma interface de programação de aplicativo (API) em execução em um sistema operacional nativo do dispositivo cliente 110, como IOS ou ANDROID.
[00011] A rede 120 fornece conexões para os componentes do ambiente de sistema 100 através de uma ou mais sub-redes, que podem incluir qualquer combinação de redes de área local e/ou ampla, usando sistemas de comunicação com e/ou sem fio. Em uma modalidade, uma rede 120 usa tecnologias e/ou protocolos de comunicação padrão. Por exemplo, uma rede 120 pode incluir enlaces de comunicação usando tecnologias como Ethernet, 802.11, interoperabilidade mundial para acesso de microondas (WiMAX), 3G, 4G, Evolução de Longo Prazo(LTE), 5G, acesso múltiplo por divisão de código (CDMA), linha de assinante digital (DSL), etc. Exemplos de protocolos de rede usados para comunicação através da rede 120 incluem comutação de rótulo multiprotocolo (MPLS), protocolo de controle de transmissão/protocolo de Internet (TCP/IP), protocolo de transporte de hipertexto (HTTP), protocolo de transferência de correio simples (SMTP) e protocolo de transferência de arquivo (FTP). Os dados trocados através de uma rede 120 podem ser representados usando qualquer formato adequado, como linguagem de marcação de hipertexto (HTML) ou linguagem de marcação extensível (XML). Em algumas modalidades, todos ou alguns dos enlaces de comunicação de uma rede 120 podem ser criptografados usando qualquer técnica ou técnicas adequadas, como camada de soquetes segura (SSL), segurança de camada de transporte (TLS), redes privadas virtuais (VPNs), segurança de Protocolo de Internet (IPsec), etc. A rede 130 também inclui enlaces e redes de comutação de pacotes, como a Internet.
[00012] Indivíduos que podem ser clientes de uma empresa que opera o servidor de computação 130 fornecem amostras biológicas para análise de seus dados genéticos. Em uma modalidade, um indivíduo usa um kit de coleta de amostra para fornecer uma amostra biológica (por exemplo, saliva, sangue, cabelo, tecido) da qual os dados genéticos são extraídos de acordo com as técnicas de processamento de nucleotídeos, como amplificação e sequenciamento. A amplificação pode incluir o uso de reação em cadeia de polimerase (PCR) para amplificar segmentos de amostras de nucleotídeos. O sequenciamento pode incluir o sequenciamento de ácido desoxirribonucleico (DNA), sequenciamento de ácido ribonucleico (RNA), etc. O sequenciamento de amostras de nucleotídeos pode incluir sequenciamento Sanger e sequenciamento massivamente paralelo, como várias técnicas de sequenciamento de próxima geração (NGS), incluindo sequenciamento do genoma completo, pirosequenciamento, sequenciamento por síntese, sequenciamento por ligação, e sequenciamento de semicondutor de íons. O servidor de serviço de extração de dados genéticos 125 recebe amostras biológicas de usuários do servidor de computação 130. O servidor de serviço de extração de dados genéticos 125 realiza o sequenciamento das amostras biológicas e determina as sequências de pares de bases dos indivíduos. O servidor de serviço de extração de dados genéticos 125 gera os dados genéticos dos indivíduos com base nos resultados de sequenciamento. Os dados genéticos podem incluir dados sequenciados de DNA ou RNA e podem incluir pares de bases de regiões de não expressão e/ou expressão de DNA.
[00013] Os dados genéticos podem assumir diferentes formas. Por exemplo, em uma modalidade, os dados genéticos podem ser a sequência de pares de bases de um indivíduo. A sequência de par de bases pode incluir todo o genoma ou uma parte do genoma, como lócus genéticos de interesse. Em outra modalidade, o servidor de serviço de extração de dados genéticos 125 pode determinar genótipos a partir de resultados de sequenciamento, por exemplo, identificando valores de genótipo de polimorfismos de nucleotídeo único (SNPs) presentes no DNA. Os resultados neste exemplo podem incluir uma sequência de genótipos correspondentes a vários locais SNP. Em uma modalidade, o servidor de serviço de extração de dados genéticos 125 pode realizar o pré- processamento dos dados genéticos para converter sequências brutas de pares de bases em sequências de genótipos em locais SNP alvo. Uma vez que um genoma humano típico pode diferir de um genoma humano de referência em apenas vários milhões de locais SNP (em oposição a bilhões de pares de bases em todo o genoma), o servidor de serviço de extração de dados genéticos 125 pode extrair apenas os genótipos em um conjunto de locais SNP alvo e transmitir os dados extraídos para o servidor de computação 130 como o conjunto de dados genéticos de um indivíduo.
[00014] O servidor de computação 130 realiza várias análises dos dados genéticos e gera resultados em relação à genética e genealogia dos usuários do servidor de computação
130. Dependendo das modalidades, o servidor de computação 130 também pode ser referido como um servidor online, um servidor de serviço genético pessoal, um servidor de genealogia, um servidor de construção de árvore genealógica, e/ou um sistema de rede social. O servidor de computação 130 recebe dados genéticos do servidor de serviço de extração de dados genéticos 125 e armazena os dados genéticos no armazenamento de dados do servidor de computação 130. Os resultados relativos à genética e genealogia dos usuários podem incluir as composições étnicas dos usuários, análises genéticas paternas e maternas, parentes familiares potenciais, informações de ancestrais, análises de dados de DNA, fenótipos potenciais ou identificados de usuários (por exemplo, doenças, traços e outras características), etc. O servidor de computação 130 pode apresentar ou fazer com que a interface de usuário 115 apresente os resultados aos usuários por meio de uma GUI exibida no dispositivo cliente
110. Os resultados podem incluir elementos gráficos, informações textuais, dados e outros elementos, como árvores genealógicas, incluindo pedigrees.
[00015] Em uma modalidade, o servidor de computação 130 também permite que vários usuários criem um ou mais perfis genealógicos do usuário. O perfil genealógico pode incluir uma lista de indivíduos (por exemplo, ancestrais, parentes, amigos e outras pessoas de interesse) que são adicionados ou selecionados pelo usuário e que são sugeridos pelo servidor de computação 130 com base nos registros genealógicos e/ou registros genéticos. A interface de usuário 115 controlada por ou em comunicação com o servidor de computação 130 pode exibir os indivíduos em uma lista ou como uma árvore genealógica, como na forma de um pedigree. Em uma modalidade, sujeito à configuração de privacidade e autorização do usuário, o servidor de computação 130 pode permitir que o conjunto de dados genéticos do usuário seja vinculado ao perfil de usuário e a uma ou mais árvores genealógicas. O usuário também pode autorizar o servidor de computação 130 a analisar o conjunto de dados genéticos do usuário. Exemplo de Arquitetura de Servidor de Computação
[00016] A FIG. 2 é um diagrama de blocos de uma arquitetura de um servidor de computação de exemplo 130, de acordo com uma modalidade. Na modalidade mostrada na FIG. 2, o servidor de computação 130 inclui um armazenamento de dados genealógicos 205, um armazenamento de dados genéticos 210, um mecanismo de pré-processamento de amostra 215, um mecanismo de faseamento 220, um mecanismo de estimativa IBD 225, um mecanismo de atribuição de comunidade 230, um armazenamento de dados de rede IBD 235, um armazenamento de amostra de painel de referência 240, um mecanismo de estimativa de etnia 245, e uma interface front-end 250. As funções do servidor de computação 130 podem ser distribuídas entre os elementos de uma maneira diferente da descrita. Em várias modalidades, o servidor de computação 130 pode incluir diferentes componentes e menos componentes ou componentes adicionais. Cada um dos vários armazenamentos de dados pode ser um único dispositivo de armazenamento, um servidor que controla vários dispositivos de armazenamento, ou uma rede distribuída que é acessível através de vários nós (por exemplo, um sistema de armazenamento em nuvem).
[00017] O servidor de computação 130 processa os dados genéticos de usuários para identificar segmentos IBD compartilhados entre indivíduos. O servidor de computação 130 armazena vários dados de diferentes indivíduos, incluindo dados genéticos e dados genealógicos. O servidor de computação 130 mantém dados genealógicos, incluindo dados de perfil de usuário no armazenamento de dados de genealogia
205. A quantidade e o tipo de dados de perfil de usuário armazenados para cada usuário no armazenamento de dados genealógicos 205 podem variar com base nas informações fornecidas pelo usuário correspondente. Os usuários podem fornecer dados por meio da interface de usuário 115 de um dispositivo cliente 110. Por exemplo, o usuário pode ser solicitado em um elemento gráfico de uma interface de usuário para responder a perguntas relacionadas ao usuário e informações básicas que podem ser processadas para obter outros dados genealógicos e de pesquisa. Exemplos de dados genealógicos incluem nomes (nome, sobrenome, meio, sufixos), gênero, locais de nascimento, data de nascimento, data de morte, informações de casamento, parentesco de informações do cônjuge, história familiar, datas e locais para eventos de vida (por exemplo, nascimento e morte), outros dados vitais, e semelhantes. Em alguns casos, a história de família pode assumir a forma de um pedigree daquele indivíduo (por exemplo, os relacionamentos registrados na família). As informações de pedigree associadas a um usuário incluem um ou mais nós especificados. Cada nó no pedigree representa o indivíduo, um ancestral do indivíduo que pode ter passado o material genético para o indivíduo, e outros parentes do indivíduo, como descendência em alguns casos. Os dados genealógicos também podem incluir conexões genéticas entre os usuários do servidor de computação 130.
[00018] Além dos dados de entrada de usuário, os dados genealógicos também podem assumir outras formas, obtidas de várias fontes, como registros públicos e coletores de dados de terceiros. Por exemplo, os registros genealógicos de fontes públicas incluem registros de nascimento, registros de casamento, registros de óbito, registros do censo,
registros de tribunal, registros de inventário, registros de adoção, registros de obituário, etc. Os dados genealógicos na forma de dados de pesquisa incluem informações sobre os fenótipos das pessoas, como características físicas (por exemplo, altura, cabelo, pigmentação da pele, sardas, gosto amargo, tipo de lóbulo da orelha, padrões de íris, calvície de padrão masculino, ondulação de cabelo), fenótipos de bem- estar (por exemplo, tolerância à lactose, consumo de cafeína, resistência à malária, resistência ao norovírus, desempenho muscular, descarga de álcool) e preferências pessoais (por exemplo, gostos e desgostos). Além disso, o armazenamento de dados de genealogia 205 também pode incluir informações inferidas das amostras genéticas armazenadas no armazenamento de dados genéticos 210 e informações recebidas dos indivíduos. Por exemplo, informações sobre quais indivíduos são geneticamente relacionados, como eles estão relacionados, quantas gerações atrás eles compartilham ancestrais comuns, comprimentos e localizações de segmentos de IBD compartilhados, de quais comunidades genéticas um indivíduo faz parte, variantes carregadas pelo indivíduo, e semelhantes.
[00019] Além disso, os dados genealógicos podem incluir dados de um ou mais de um pedigree de um indivíduo, do sistema de Árvore Mundial Ancestral, um banco de dados de Índice de Óbito de Previdência Social, do sistema de Árvore de Família Mundial, um banco de dados de certidões de nascimento, um banco de dados de certidões de óbito, um banco de dados de certidão de casamento, um banco de dados de adoção, um rascunho de banco de dados de registro, um banco de dados de veteranos, um banco de dados militar, um banco de dados de registros de propriedade, um banco de dados de censo, um banco de dados de registro de eleitores, um banco de dados de telefone, um banco de dados de endereços, um banco de dados de jornais, um banco de dados de imigração, um banco de dados de registros de história de família, um banco de dados de registros de história local, um banco de dados de registro de empresas, um banco de dados de veículos motorizados, e semelhantes.
[00020] O servidor de computação 130 mantém conjuntos de dados genéticos de indivíduos no armazenamento de dados genéticos 210. Um conjunto de dados genéticos de um indivíduo pode ser um conjunto de dados digital de dados de nucleotídeos e metadados correspondentes. Os dados podem conter a totalidade ou partes do genoma do indivíduo. O armazenamento de dados genéticos 210 também pode armazenar um ponteiro para um local associado ao armazenamento de dados genealógicos 205 associado ao indivíduo. Um conjunto de dados genéticos pode assumir diferentes formas. Em uma modalidade, um conjunto de dados genéticos pode assumir a forma de uma sequência de par de bases do resultado de sequenciamento de um indivíduo. Um conjunto de dados de sequência de par de bases pode incluir todo o genoma do indivíduo (por exemplo, obtido a partir de um sequenciamento do genoma inteiro) ou algumas partes do genoma (por exemplo, lócus genéticos de interesse).
[00021] Em outra modalidade, um conjunto de dados genéticos pode assumir a forma de sequências de locais SNP alvo (por exemplo, locais de alelo) filtrados dos resultados de sequenciamento. Um local SNP alvo também pode ser referido como um marcador genético, que pode estar associado a um identificador único. O conjunto de dados genéticos pode estar na forma de dados diploides que incluem um sequenciamento de genótipos, tais como genótipos nos locais SNP alvo, ou toda a sequência de par de bases que inclui genótipos nos locais SNP e outros locais de pares de bases que não são comumente associados a SNPs. O conjunto de dados diploide pode ser referido como um conjunto de dados de genótipo. Um genótipo do indivíduo pode se referir a uma coleção de sequência de alelos diploides de um indivíduo. Em outros contextos, um genótipo pode ser um par de alelos presentes em dois cromossomos para um indivíduo em um determinado marcador genético, como um local SNP.
[00022] Como tal, cada genótipo em um local SNP pode incluir um par de alelos. O par de alelos pode ser homozigoto (por exemplo, AA ou GG) ou heterozigoto (por exemplo, AT, CT). Em vez de armazenar os nucleotídeos reais, o armazenamento de dados genéticos 210 pode armazenar dados genéticos que são convertidos em bits. Para muitos locais SNP, apenas dois alelos de nucleotídeos (em vez de todos os 4) são observados. Como tal, um número de 2 bits pode representar um site SNP. Por exemplo, 00 pode representar primeiros alelos homozigotos, 11 pode representar segundos alelos homozigotos, e 01 ou 10 podem representar alelos heterozigotos. Uma biblioteca separada pode armazenar o nucleotídeo que corresponde ao primeiro alelo e o nucleotídeo que corresponde ao segundo alelo em um determinado local SNP.
[00023] Um conjunto de dados diploides também pode ser dividido em dois conjuntos de dados haploides, um correspondendo a um primeiro lado de pais e outro correspondendo a um segundo lado de pais. Os conjuntos de dados em fase podem ser referidos como conjuntos de dados de haplótipos.
[00024] Em uma modalidade, o armazenamento de dados genéticos 210 pode conter, adicionalmente, informações sobre variantes conhecidas das quais os indivíduos são portadores (por exemplo, o tipo de variante, localização da variante, fenótipos associados à variante). Essas informações podem ser obtidas a partir do servidor de computação 130, um banco de dados de terceiros ou obtidas usando software de terceiros.
[00025] O mecanismo de pré-processamento de amostra 215 recebe e pré-processa dados recebidos de várias fontes para alterar os dados para um formato usado pelo servidor de computação 130. Para dados genealógicos, o mecanismo de pré- processamento de amostra 215 recebe dados de um indivíduo por meio da interface de usuário 115 do dispositivo cliente
110. Para coletar os dados de usuário (por exemplo, dados genealógicos e de levantamento), o servidor de computação 130 pode fazer com que uma interface de usuário interativa no dispositivo cliente 110 exiba elementos de interface nos quais os usuários podem fornecer dados genealógicos e dados de levantamento. Esses dados podem ser fornecidos manualmente ou extraídos automaticamente por meio de, por exemplo, reconhecimento óptico de caracteres (OCR) realizado em registros de censo, registros municipais ou governamentais, ou qualquer outro item de material impresso ou online. Alguns registros podem ser obtidos digitalizando registros escritos, como registros censitários mais antigos, certidões de nascimento, certidões de óbito, etc.
[00026] O motor de pré-processamento de amostra 215 também pode receber dados brutos do servidor de serviço de extração de dados genéticos 125. O servidor de serviço de extração de dados genéticos 125 pode realizar análises laboratoriais de amostras biológicas de usuários e gerar resultados de sequenciamento na forma de dados digitais. O motor de pré-processamento de amostra 215 pode receber os conjuntos de dados genéticos brutos do servidor de serviço de extração de dados genéticos 125. O motor de pré- processamento de amostra 215 pode converter a sequência de par de bases bruta em uma sequência de genótipos de locais SNP alvo. Alternativamente, o pré-processamento desta conversão pode ser realizado pelo servidor de serviço de extração de dados genéticos 125. O mecanismo de pré- processamento de amostra 215 identifica SNPs autossômicos em um conjunto de dados genéticos de um indivíduo. Por exemplo,
700.000 SNPs autossômicos podem ser identificados nos dados de um indivíduo e podem ser armazenados no armazenamento de dados genéticos 210. Alternativamente, em uma modalidade, um conjunto de dados genéticos pode incluir pelo menos 10.000 locais SNP. Em outra modalidade, um conjunto de dados genéticos pode incluir pelo menos 100.000 locais SNP. Em ainda outra modalidade, um conjunto de dados genéticos pode incluir pelo menos 500.000 locais SNP. Em ainda outra modalidade, um conjunto de dados genéticos pode incluir pelo menos 1.000.000 locais SNP. O mecanismo de pré-processamento de amostra 215 também pode converter os nucleotídeos em bits. Os SNPs identificados, em bits ou em outros formatos adequados, podem ser fornecidos ao mecanismo de faseamento 220 que faz a fase dos genótipos diploides do indivíduo para gerar um par de haplótipos para cada usuário.
[00027] O mecanismo de faseamento 220 transforma um conjunto de dados genéticos diploides em um par de conjuntos de dados genéticos haploides. Um haplótipo do indivíduo pode se referir a uma coleção de alelos (por exemplo, uma sequência de alelos) que são herdados de um dos pais. Em um contexto, um haplótipo também pode se referir a uma coleção de alelos que corresponde a uma mutação específica em um segmento genético. Em outros contextos, um haplótipo pode ainda se referir a um alelo específico em um site SNP. Por exemplo, uma sequência de haplótipos pode referir-se a uma sequência de pares de bases de alelos de um indivíduo que são herdados de um dos pais.
[00028] O faseamento pode incluir um processo de determinação da atribuição de alelos (particularmente alelos heterozigotos) aos cromossomos. Devido às condições de sequenciamento e outras restrições, um resultado de sequenciamento frequentemente inclui dados sobre um par de alelos em um determinado local SNP de um par de cromossomos, mas pode não ser capaz de distinguir qual alelo pertence a qual cromossomo específico. O mecanismo de faseamento 220 usa um algoritmo de faseamento de genótipo para atribuir um alelo a um primeiro cromossomo e outro alelo a outro cromossomo. O algoritmo de faseamento do genótipo pode ser desenvolvido com base na suposição de desequilíbrio de ligação (LD), que afirma que o haplótipo na forma de uma sequência de alelos tende a se agrupar. O mecanismo de faseamento 220 está configurado para gerar sequências em fase que também são comumente observadas em muitas outras amostras. Em outras palavras, as sequências de haplótipos de diferentes indivíduos tendem a se agrupar. Um modelo de agrupamento haplótipo pode ser gerado para determinar a distribuição de probabilidade de um haplótipo que inclui uma sequência de alelos. O modelo de agrupamento de haplótipos pode ser treinado com base em dados rotulados que incluem haplótipos em fase conhecidos de um trio de pais e uma criança, porque o faseamento correto da criança é quase certo ao comparar os genótipos da criança aos conjuntos de dados genéticos dos pais. O modelo de agrupamento de haplótipo também pode ser gerado iterativamente junto com o processo de faseamento com um grande número de conjuntos de dados de genótipos não faseados.
[00029] A título de exemplo, o mecanismo de faseamento 220 pode usar um modelo de gráfico acíclico direcionado, como um modelo de Markov oculto (HMM) para realizar o faseamento de um conjunto de dados de genótipo alvo. O gráfico acíclico direcionado pode incluir vários níveis, cada nível tendo vários nós que representam diferentes possibilidades de agrupamentos de haplótipos. Uma probabilidade de emissão de um nó, que pode representar a probabilidade de ter um agrupamento de haplótipos específico, dada uma observação dos genótipos, pode ser determinada com base na distribuição de probabilidade do modelo de agrupamento de haplótipos. Uma probabilidade de transição de um nó para outro pode ser inicialmente atribuída a um valor diferente de zero e ser ajustada conforme o modelo de gráfico acíclico direcionado e o modelo de agrupamento de haplótipo são treinados. Vários caminhos são possíveis ao percorrer diferentes níveis do modelo de gráfico acíclico direcionado. O mecanismo de faseamento 220 determina um caminho estatisticamente provável, como o caminho mais provável ou um caminho provável que é pelo menos mais provável do que 95% de outros caminhos possíveis, com base nas probabilidades de transição e nas probabilidades de emissão. Um algoritmo de programação dinâmica adequado, como o algoritmo de Viterbi, pode ser usado para determinar o caminho. O caminho determinado pode representar o resultado de faseamento. O pedido de patente dos EUA nº 15/591.099, intitulado "Haphotype Phasing Models", depositado em 19 de outubro de 2015, descreve uma possível modalidade de faseamento de haplótipo.
[00030] O mecanismo de estimativa IBD 225 estima a quantidade de segmentos genéticos compartilhados entre um par de indivíduos com base em dados de genótipo em fase (por exemplo, conjuntos de dados de haplótipos) que são armazenados no armazenamento de dados genéticos 210. Os segmentos IBD são segmentos cromossômicos identificados em um par de indivíduos que são supostamente herdados de um ancestral comum. O mecanismo de estimativa IBD 225 recupera um par de conjuntos de dados de haplótipos para cada indivíduo. O mecanismo de estimativa IBD 225 pode dividir cada sequência de conjunto de dados de haplótipo em uma pluralidade de janelas. Cada janela inclui um número fixo de locais SNP (por exemplo, cerca de 100 locais SNP). O mecanismo de estimativa IBD 225 identifica uma ou mais janelas de sementes nas quais os alelos em todos os locais SNP em pelo menos um dos haplótipos em fase entre dois indivíduos são idênticos. O mecanismo de estimativa IBD 225 pode expandir a correspondência das janelas de semente para janelas próximas até que as janelas correspondidas atinjam o final de um cromossomo ou até que uma incompatibilidade homozigótica seja encontrada, o que indica que a incompatibilidade não é atribuível a erros potenciais no faseamento. O mecanismo de estimativa IBD 225 determina o comprimento total dos segmentos combinados, que também podem ser referidos como segmentos IBD. O comprimento é medido pela distância genética na unidade de centimorgans (cM). O servidor de computação 130 pode salvar dados relativos a pares individuais que compartilham um comprimento de segmentos IBD excedendo um limite predeterminado (por exemplo, 6 cM), como no armazenamento de dados genealógicos
205. O Pedido de Patente dos EUA nº 14/029.765, intitulado “Identifying Ancestral Relationships Using a Countinuous stream of Input”, depositado em 17 de setembro de 2013, descreve um exemplo de realização de estimativa IBD.
[00031] Normalmente, os indivíduos que estão intimamente relacionados compartilham um número relativamente grande de segmentos IBD, e os segmentos IBD tendem a ter comprimentos maiores (individualmente ou em agregado em um ou mais cromossomos). Em contraste, os indivíduos com parentesco mais distante compartilham relativamente menos segmentos de IBD, e esses segmentos tendem a ser mais curtos (individualmente ou em conjunto em um ou mais cromossomos). Por exemplo, embora parentes próximos compartilhem frequentemente mais de 71 cM de IBD (por exemplo, primos de terceiro grau), indivíduos com parentesco mais distante podem compartilhar menos de 12 cM de IBD. A extensão da relação em termos de segmentos IBD entre dois indivíduos pode ser referida como afinidade IBD. Por exemplo, a afinidade IBD pode ser medida em termos do comprimento dos segmentos IBD entre dois indivíduos.
[00032] O mecanismo de atribuição de comunidade 230 atribui indivíduos a uma ou mais comunidades genéticas. Uma comunidade genética pode ser uma origem étnica. A granularidade da classificação de comunidade genética pode variar dependendo das modalidades e métodos usados na atribuição de comunidades. Por exemplo, em uma modalidade, as comunidades podem ser africanas, asiáticas, europeias, etc. Em outra modalidade, a comunidade europeia pode ser dividida em irlandeses, alemães, suecos, etc. Em ainda outra modalidade, o irlandês pode ser dividido em irlandês na Irlanda, irlandês imigrado para a América em 1800, irlandês imigrado para a América em 1900, etc. A classificação de comunidade também pode depender se a população é mista ou não. Para uma população mista, a classificação pode ainda ser dividida com base em diferentes origens étnicas em uma região geográfica.
[00033] O mecanismo de atribuição de comunidade 230 pode atribuir indivíduos a uma ou mais comunidades genéticas com base em seus conjuntos de dados genéticos usando modelos de aprendizagem de máquina treinados por aprendizagem não supervisionada ou aprendizagem supervisionada. Em uma abordagem não supervisionada, o mecanismo de atribuição de comunidade 230 pode gerar dados que representam um gráfico não direcionado parcialmente conectado. Nesta abordagem, o mecanismo de atribuição de comunidade 230 representa indivíduos como nós. Alguns nós são conectados por bordas cujos pesos são baseados na afinidade IBD entre dois indivíduos representados pelos nós. Por exemplo, se o comprimento total dos segmentos IBD compartilhados de dois indivíduos não exceder um limite predeterminado, os nós não serão conectados. As bordas que conectam dois nós estão associadas a pesos que são medidos com base nas afinidades IBD. O gráfico não direcionado pode ser referido como uma rede IBD. O mecanismo de atribuição de comunidade 230 usa técnicas de agrupamento, como medição de modularidade para classificar nós em diferentes agrupamentos na rede IBD. Cada agrupamento pode representar uma comunidade. O mecanismo de atribuição de comunidade 230 também pode determinar subagrupamentos, que representam subcomunidades. O servidor de computação 130 salva os dados que representam a rede IBD e os agrupamentos no armazenamento de dados de rede IBD 235. O pedido de patente dos EUA nº 15/168.011, intitulado "Discovering Population Structure from Patterns", depositado em 28 de maio de 2016, descreve uma possível modalidade de detecção e atribuição de comunidade.
[00034] O mecanismo de atribuição de comunidade 230 também pode atribuir comunidades usando técnicas supervisionadas. Por exemplo, conjuntos de dados genéticos de comunidades genéticas conhecidas (por exemplo, indivíduos com origens étnicas confirmadas) podem ser usados como conjuntos de treinamento que foram rotulados das comunidades genéticas. Classificadores de aprendizado de máquina supervisionados, como regressores logísticos, máquinas de vetores de suporte, classificadores de floresta aleatórios, e redes neurais podem ser treinados usando o conjunto de treinamento com rótulos. Classificadores treinados podem distinguir classes binárias ou múltiplas. Por exemplo, um classificador binário pode ser treinado para cada comunidade de interesse para determinar se o conjunto de dados genéticos de um indivíduo alvo pertence ou não à comunidade de interesse. Um classificador multiclasse, como uma rede neural, também pode ser treinado para determinar se o conjunto de dados genéticos do indivíduo alvo provavelmente pertence a uma das várias comunidades genéticas possíveis.
[00035] O armazenamento de amostra de painel de referência 240 armazena amostras de painel de referência para diferentes comunidades genéticas. Os dados genéticos de alguns indivíduos podem ser os mais representativos de uma comunidade genética. Seus conjuntos de dados genéticos podem servir como amostras de painel de referência. Por exemplo, alguns alelos de genes podem ser super-representados (por exemplo, sendo altamente comuns) em uma comunidade genética. Alguns conjuntos de dados genéticos incluem alelos que estão comumente presentes entre os membros da comunidade. As amostras de painel de referência podem ser usadas para treinar vários modelos de aprendizado de máquina na classificação se um conjunto de dados genéticos alvo pertence a uma comunidade, na determinação da composição étnica de um indivíduo, e na determinação da precisão em qualquer análise de dados genéticos, como por meio do cálculo de uma probabilidade posterior de um resultado de classificação de um classificador.
[00036] Uma amostra de painel de referência pode ser identificada de diferentes maneiras. Em uma modalidade, uma abordagem não supervisionada na detecção de comunidade pode aplicar o algoritmo de agrupamento recursivamente para cada agrupamento identificado até que os subagrupamentos contenham um número de nós que é menor do que um limite (por exemplo, contém menos de 1.000 nós). Por exemplo, o mecanismo de atribuição de comunidade 230 pode construir uma rede IBD completa que inclui um conjunto de indivíduos representados por nós e gerar comunidades usando técnicas de agrupamento. O mecanismo de atribuição de comunidade 230 pode amostrar aleatoriamente um subconjunto de nós para gerar uma rede IBD amostrada. O mecanismo de atribuição de comunidade 230 pode aplicar recursivamente técnicas de agrupamento para gerar comunidades na rede IBD amostrada. A amostragem e o agrupamento podem ser repetidos para diferentes redes IBD amostradas geradas aleatoriamente para várias execuções. Os nós que são consistentemente atribuídos a uma comunidade genética quando amostrados em várias execuções podem ser classificados como uma amostra de painel de referência. O mecanismo de atribuição de comunidade 230 pode medir a consistência em termos de um limite predeterminado. Por exemplo, se um nó for classificado na mesma comunidade 95% (ou outro limite adequado) de vezes, sempre que o nó for amostrado, o conjunto de dados genéticos correspondente ao indivíduo representado pelo nó pode ser considerado uma amostra de painel de referência. Adicionalmente, ou alternativamente, o mecanismo de atribuição de comunidade 230 pode selecionar N nós atribuídos de forma mais consistente como um painel de referência para a comunidade.
[00037] Outras maneiras de gerar amostras de painel de referência também são possíveis. Por exemplo, o servidor de computação 130 pode coletar um conjunto de amostras e filtrar e refinar gradualmente as amostras até que amostras de painel de referência de alta qualidade sejam selecionadas.
[00038] O mecanismo de estimativa de etnia 245 estima a composição ancestral de um conjunto de dados genéticos de um indivíduo alvo. Os conjuntos de dados genéticos usados podem ser conjuntos de dados de genótipos ou conjuntos de dados de haplótipos. Por exemplo, o mecanismo de estimativa de etnia 245 estima as origens ancestrais (por exemplo, etnia) com base nos genótipos SNP ou haplótipos do indivíduo. Para tomar um exemplo simples de três populações ancestrais correspondentes a Africano, Europeu e Nativo Americano, um usuário misto pode ter proporções étnicas estimadas diferentes de zero para todas as três populações ancestrais, com uma estimativa como [0,05, 0,65, 0,30], indicando que o genoma do usuário é 5% atribuível à ancestralidade Africana, 65% atribuível à ancestralidade Europeia, e 30% atribuível à ancestralidade Nativo Americana. O mecanismo de estimativa de etnia 245 gera a estimativa de composição étnica e armazena as etnias estimadas em um armazenamento de dados do servidor de computação 130 com um ponteiro em associação com um usuário específico.
[00039] Em uma modalidade, o mecanismo de estimativa de etnia 245 divide um conjunto de dados genéticos alvo em uma pluralidade de janelas (por exemplo, cerca de 1.000 janelas). Cada janela inclui um pequeno número de locais SNP (por exemplo, 300 locais SNP). O mecanismo de estimativa de etnia 245 pode usar um modelo de gráfico acíclico direcionado para determinar a composição étnica do conjunto de dados genéticos alvo. O gráfico acíclico direcionado pode representar uma treliça de um modelo de Markov oculto entre janelas (HMM). O gráfico inclui uma sequência de uma pluralidade de níveis. Cada nível, representando uma janela, inclui uma pluralidade de nós. Os nós que representam diferentes possibilidades de rótulos de comunidades genéticas (por exemplo, etnias) para a janela. Um nó pode ser rotulado com um ou mais rótulos étnicos. Por exemplo, um nível inclui um primeiro nó com um primeiro rótulo que representa a probabilidade de que a janela de locais SNP pertence a uma primeira etnia e um segundo nó com um segundo rótulo que representa a probabilidade de que a janela de locais SNP pertence a uma segunda etnia. Cada nível inclui vários nós para que haja muitos caminhos possíveis para percorrer o gráfico acíclico direcionado.
[00040] O gráfico acíclico direcionado inclui probabilidades de emissão e probabilidades de transição. Uma probabilidade de emissão associada a um nó representa a probabilidade de que a janela pertença à etnia que rotula o nó, dada a observação de locais SNP na janela. O mecanismo de estimativa de etnia 245 determina as probabilidades de emissão comparando os locais SNP na janela correspondente ao conjunto de dados genéticos alvo com os locais SNP correspondentes nas janelas em várias amostras de painel de referência de diferentes comunidades genéticas armazenadas na loja de amostra de painel de referência 240. A probabilidade de transição entre dois nós representa a probabilidade de transição de um nó para outro em dois níveis. O mecanismo de estimativa de etnia 245 determina um caminho estatisticamente provável, como o caminho mais provável ou um caminho provável que é pelo menos mais provável do que 95% de outros caminhos possíveis, com base nas probabilidades de transição e nas probabilidades de emissão. Um algoritmo de programação dinâmica adequado, como o algoritmo de Viterbi ou o algoritmo forward-backward, pode ser usado para determinar o caminho. Depois que o caminho é determinado, o mecanismo de estimativa de etnia 245 determina a composição étnica do conjunto de dados genéticos alvo determinando as composições de rótulo dos nós que estão incluídos no caminho determinado. O pedido de patente dos EUA nº 15/209.458, intitulado “Local Genetic Ethnicity Determination System,” depositado em 13 de julho de 2016, descreve um exemplo de modalidade de estimativa de etnia.
[00041] A interface front-end 250 pode exibir vários resultados determinados pelo servidor de computação 130. Os resultados e dados podem incluir a afinidade IBD entre um usuário e outro indivíduo, a atribuição da comunidade do usuário, a estimativa da etnia do usuário, previsão e avaliação de fenótipo, pesquisa de dados genealógicos, árvore genealógica e pedigree, perfil relativo e outras informações. A interface front-end 250 pode ser uma interface gráfica de usuário (GUI) que exibe várias informações e elementos gráficos. A interface front-end 250 pode assumir diferentes formas. Em um caso, a interface front-end 250 pode ser um aplicativo de software que pode ser exibido em um dispositivo eletrônico, como um computador ou smartphone. O aplicativo de software pode ser desenvolvido pela entidade que controla o servidor de computação 130 e ser baixado e instalado no dispositivo cliente 110. Em outro caso, a interface front-end 250 pode assumir a forma de uma interface de página da web do servidor de computação 130 que permite aos usuários acessarem sua árvore genealógica e os resultados da análise genética através de navegadores da web. Em ainda outro caso, a interface front-end 250 pode fornecer uma interface de programa de aplicativo (API). Rede IBD de Exemplo
[00042] As FIGS. 3A e 3B ilustram redes de identidade por descendência de exemplo (redes IBD), de acordo com uma modalidade. Com referência à FIG. 3A, uma rede IBD de exemplo pode ser um gráfico não direcionado parcialmente conectado
300. O gráfico 300 inclui uma pluralidade de nós 302. Cada nó representa um dos indivíduos com dados genéticos armazenados no armazenamento de dados genéticos 210. Cada nó 302 pode corresponder ao conjunto de dados genéticos individuais. Por exemplo, com base em seus dados, o conjunto de dados genéticos pode ser convertido em uma série de recursos que podem ser representadas como um vetor de recurso. O nó 302 pode corresponder ao vetor de recursos com base nas coordenadas do vetor. Alguns dos nós 302 são conectados através das bordas 304. Em uma rede IBD, dois ou mais nós 302 estão conectados através das bordas 304, mas nem todos os nós 302 estão necessariamente conectados diretamente uns aos outros. Portanto, o gráfico 300 pode ser um gráfico parcialmente conectado. Por exemplo, um determinado nó 306 está conectado a outro nó 308, mas o nó 306 não está conectado diretamente ao nó 310. O gráfico 300 é apenas ilustrativo. Um gráfico de rede IBD real pode incluir dezenas de milhares de nós ou mesmo milhões de nós.
[00043] Para os nós conectados, uma borda 304 está associada a um peso, cujo valor é derivado da afinidade entre os conjuntos de dados genéticos dos dois indivíduos representados pelos dois nós. Por exemplo, a afinidade entre os conjuntos de dados genéticos dos dois indivíduos pode ser a afinidade IBD, que corresponde a um comprimento de segmentos genéticos IBD compartilhados dos dois indivíduos, conforme determinado pela comparação dos conjuntos de dados de haplótipos faseados dos dois indivíduos. Por exemplo, uma borda particular 312 representa que os dois indivíduos representados pelos nós 308 e 310 são relacionados com IBD. O peso associado à borda 312 corresponde ao comprimento dos segmentos genéticos IBD compartilhados dos dois indivíduos. Outras maneiras de comparar a afinidade entre dois conjuntos de dados genéticos também podem ser possíveis.
[00044] As bordas 304 podem ser associadas a pesos diferentes e são ilustradas como tendo diferentes espessuras no gráfico 300. Por exemplo, a borda 314 é mais espessa do que a borda 316, o que indica que os dois indivíduos conectados pela borda 314 têm uma afinidade IBD maior do que os dois indivíduos conectados pela borda 316. O servidor de computação 130 pode derivar os valores exatos dos pesos da afinidade. Em uma modalidade, os valores dos pesos podem ser a afinidade IBD medida em centimorgan. Em outra modalidade, os valores dos pesos podem ser mapeados ou transformados a partir da afinidade IBD. Por exemplo, o servidor de computação 130 pode normalizar os pesos entre 0 e 1.
[00045] A função de mapeamento entre afinidade IBD e pesos de borda pode ser qualquer função contínua ou descontínua com o domínio de função definido pelo conjunto de possíveis comprimentos de segmento IBD totais. Em uma modalidade, o servidor de computação 130 mapeia os comprimentos de segmento IBD total para pesos de borda ao: (1) escolher um intervalo alvo de gerações; (2) avaliar empiricamente, usando uma simulação razoavelmente realista, a distribuição dos comprimentos totais de IBD entre pares de indivíduos que compartilham ancestrais comuns dentro daquele intervalo de gerações; e (3) definir a afinidade de modo que pesos elevados sejam colocados nos comprimentos IBD totais decorrentes de relações familiares que compartilham ancestrais comuns correspondentes ao intervalo de gerações escolhido. Isso tem o efeito de pesar mais fortemente as bordas entre parentes que compartilham ancestrais comuns no intervalo de geração alvo. Por exemplo, para um intervalo de geração de 0-4 gerações atrás, mais peso é atribuído às bordas entre parentes separados por oito eventos de meiose ou menos, e menos peso é colocado em nove eventos de meiose e conexões relacionadas mais distantemente, onde um evento de meiose corresponde a uma relação pai-filho, dois eventos de meiose correspondem a irmãos ou a uma relação avô-filho, e assim por diante.
[00046] Em uma modalidade, a função de mapeamento IBD para peso de borda foi escolhida com base em uma função de densidade cumulativa Beta (CDF) (por exemplo, Probabilidade (X ≤ x), onde x é a afinidade de IBD entre qualquer par de indivíduos) com parâmetros de escala α = 1,1 e β = 10 que definem os pesos das bordas na rede IBD. Outras escolhas para o mapeamento do comprimento total do IBD ao peso de borda podem resultar na geração de uma rede IBD com características diferentes. Por exemplo, colocar mais peso em relacionamentos familiares mais distantes pode revelar a estrutura que surge de eventos populacionais em diferentes períodos de tempo.
[00047] Um módulo do sistema de computação 130, como o mecanismo de atribuição de comunidade 230, gera dados que representam o gráfico 300. Os dados podem estar em quaisquer formatos adequados, incluindo um formato de par de valor- chave, um formato de vetor, um formato de matriz, um formato de tensor, ou uma ou mais combinações dos mesmos. Por exemplo, um nó pode ser associado a um identificador como uma chave que identifica o indivíduo representado pelo nó e a um valor que é um vetor de recurso gerado a partir dos conjuntos de dados genéticos. Para N indivíduos, os dados que representam as bordas podem estar em um formato de matriz NxN que registra o valor de peso na célula (i, j) para a borda que conecta o nó i e o nó j. Para dois indivíduos que não estão relacionados a IBD (ou com comprimento compartilhado de IBD abaixo de um limite), a célula (i, j) pode ter o valor 0 ou nulo para indicar que não há nenhuma borda conectada aos dois nós que representam os dois indivíduos. Inferindo Comunidades Genéticas
[00048] A FIG. 3B ilustra uma rede IBD e uma abordagem de exemplo na inferência de comunidades, de acordo com uma modalidade. O sistema de computação 130 divide os nós 302 no gráfico 300 em uma pluralidade de agrupamentos com base nos pesos das bordas 304 conectando os nós 302. Por exemplo, para ilustração, o gráfico 300 pode ser dividido em dois agrupamentos 320 e 330 que são delimitados por duas linhas tracejadas. Cada agrupamento determinado pode representar uma comunidade genética, como uma etnia.
[00049] Vários algoritmos podem ser usados para agrupar uma rede IBD. Os exemplos incluem quaisquer algoritmos não supervisionados adequados em aprendizado de máquina que podem ser usados para identificar subconjuntos conectados de uma rede, em que a densidade de bordas dentro de cada subconjunto é maior do que o esperado. Descrito, abaixo, é um dos métodos adequados pelos quais os agrupamentos podem ser identificados em uma rede IBD. Exemplos de algoritmos de agrupamento de rede alternativos incluem métodos de agrupamento de gráficos espectrais. Outros algoritmos de detecção de comunidade não supervisionados ou semissupervisionados também podem ser usados, como o algoritmo de propagação de rótulo, o algoritmo de componentes conectados, o algoritmo de coeficiente de contagem de triângulo, o algoritmo de tríades balanceadas, etc.
[00050] Em uma modalidade, o servidor de computação 130 identifica as comunidades por meio de uma aplicação recursiva de um método Louvain de vários níveis, que é um algoritmo de detecção de comunidade baseado em modularidade. Em outras modalidades, as comunidades podem ser identificadas por meio da aplicação recursiva de outro algoritmo de detecção de comunidade baseado em modularidade. Algoritmos de detecção de comunidade baseados em modularidade de exemplo incluem o algoritmo Fast-Greedy, algoritmo baseado em vetor próprio, algoritmo baseado em programa semidefinido (SDP), etc.
[00051] Em um algoritmo de detecção de comunidade baseado em modularidade, o servidor de computação 130 identifica partições de alta modularidade do gráfico 300. Modularidade é uma métrica que mede como as partições são definidas com base nos pesos das bordas que conectam os nós em cada partição. Em uma rede IBD S que inclui N nós conectados entre si por meio de bordas M, cada um tendo um peso, a modularidade pode ser definida de qualquer forma adequada que mede os pesos das bordas conectando dois nós que são classificados na mesma partição contra os pesos das bordas conectaram os nós em uma partição aos nós em outra partição. Por exemplo, em um caso, o grau de modularidade, Q, de um particionamento de rede é definido de acordo com: 𝑄 = ∑ ∑( , )∈ 𝑎 − (1) onde k é o índice de comunidade, Sk é o conjunto de bordas entre todos os nós atribuídos à comunidade k, aij é o peso de borda (i, j), di é o "grau" de nó i, definido como a soma de todos os pesos das bordas para as bordas conectando o nó i, e m é a soma de todos os “graus”.
[00052] Em geral, a modularidade pode ter um valor que aumenta com os pesos das bordas conectando dois nós que são classificados na mesma partição e que diminui com os pesos das bordas conectando os nós em uma partição aos nós em outra partição. Por exemplo, na FIG. 3B, uma partição candidata 320, conforme definido pela linha tracejada, que representa uma comunidade genética candidata, pode representar uma partição bem definida. Isto é porque a maioria das bordas está conectada a nós que são classificados na partição 320. Apenas algumas bordas, como a borda 322 e bordas próximas, conectam um nó que está dentro da partição 320 a outro nó que está fora da partição 320. Além disso, essas bordas, incluindo a borda 322, são linhas finas, o que significa que os valores de peso são baixos. Portanto, com base na equação (1) ou outra definição adequada de modularidade, a partição 320 tem um alto valor de modularidade. Em contraste, a partição 340, que pode representar outra comunidade genética candidata, tem um valor de modularidade baixo, o que indica que a comunidade genética candidata também está mal definida. É porque existem muitas bordas que conectam um nó dentro da partição 340 a outro nó fora da partição 340. Por exemplo, o nó 342 tem um grau de cinco (5 bordas), mas cada borda está conectada a outro nó que está fora da partição 340. O servidor de computação 130 usa um algoritmo para ajustar as partições no gráfico 300 para aumentar o valor da modularidade. O algoritmo aumenta ou maximiza heuristicamente a modularidade associada a uma rede IBD. As partições ajustadas podem ser os agrupamentos finais da rede IBD. O algoritmo pode parar quando o algoritmo termina um número predeterminado de iterações (por exemplo, um número de épocas) ou até que os valores de modularidade total de todas as partições não aumentem mais (por exemplo, alcançar a convergência). O tempo de computação associado a um algoritmo de detecção de comunidade pode crescer linearmente com o número de bordas, M (por exemplo, complexidade = O (M)).
[00053] O algoritmo de detecção de comunidade divide a rede S que compreende N nós em comunidades C. A partição da rede em comunidades é denotada (A1, A2, A3,…, AC). Após a conclusão do algoritmo de detecção de comunidade, as comunidades (A1, A2, A3,..., AC) são rotuladas como “válidas” se cada uma incluir pelo menos um determinado número limite de nós t. Em uma modalidade, uma comunidade Ai com menos do que o número limite de nós não é considerada uma comunidade válida (ou seja, uma comunidade "inválida") e é, portanto, omitida nas etapas subsequentes da análise de detecção de comunidade e treinamento de modelo (seus nós constituintes podem ser deixados sozinhos, sem serem rotulados como uma comunidade). Em uma modalidade, o número limite de nós t é
1.000. No entanto, em outras modalidades, o número limite é qualquer número inteiro de nós maior que 0. O conjunto de comunidades rotuladas como válidas são denotadas por (A'1, A'2, A'3,..., A'C), onde C' é menor ou igual a C.
[00054] Este limite de corte para um tamanho mínimo de uma comunidade pode ajudar a garantir que qualquer comunidade detectada contenha um número suficientemente grande de nós para ser interpretado como um grupo de significância histórica ou geográfica. Se uma comunidade tiver menos do que o número limite de nós t, quaisquer subcomunidades adicionais geradas a partir da aplicação de uma rodada adicional de algoritmo de detecção de comunidade provavelmente seriam os resultados de um ajuste ou análise excessiva dos dados. Isso pode sugerir que uma subpopulação pode não ter um análogo que os técnicos no assunto reconheceriam. O número limite de nós pode estar em qualquer lugar entre 1.000 e 10.000, dependendo da implementação exata do sistema e do número de amostras na rede IBD 300.
[00055] Em uma modalidade, o algoritmo de detecção de comunidade pode ser aplicado recursivamente. Depois de aplicar uma primeira rodada de detecção de comunidade, o servidor de computação 130 pode continuar a aplicar o algoritmo de detecção de comunidade novamente a um agrupamento identificado para gerar subagrupamentos. O servidor de computação 130 pode continuar a repetir este processo até que todos os subagrupamentos não tenham membros suficientes (menos do que o número limite de nós). A repetição do algoritmo de detecção de comunidade pode ser referida como uma abordagem de detecção de comunidade hierárquica, que será discutida em mais detalhes em associação com as FIG. 7A a 9.
[00056] Em uma modalidade, depois que as comunidades e subcomunidades genéticas são identificadas, o servidor de computação 130 pode anotar as comunidades com base nos dados genealógicos associados aos indivíduos. Por exemplo, para uma comunidade, pelo menos alguns dos indivíduos que são representados por nós 302 têm dados genealógicos, como dados de perfil, dados geográficos e dados ancestrais armazenados no armazenamento de dados genealógicos 205 do servidor de computação 130. O servidor de computação 130 também pode usar o mecanismo de estimativa de etnia 245 para analisar os conjuntos de dados genéticos de membros da comunidade. Com base nos dados de etnia e origem geográfica determinados a partir de várias fontes, o servidor de computação 130 pode determinar que os membros de uma comunidade comumente compartilham uma etnia e/ou origem geográfica. O servidor de computação 130 pode anotar a comunidade com a etnia e/ou a origem geográfica. Filtrando redes IBD
[00057] A FIG. 4 é um fluxograma que descreve um exemplo de processo de filtragem de uma rede IBD, de acordo com uma modalidade. A FIG. 5 ilustra um exemplo de gráfico filtrado, de acordo com uma modalidade. Com referência à FIG. 4, o servidor de computação 130 recupera 410 uma pluralidade de conjuntos de dados genéticos correspondentes a uma pluralidade de indivíduos. Os conjuntos de dados genéticos podem ser conjuntos de dados de genótipos ou conjuntos de dados de haplótipos em fase dos indivíduos. Vários números de conjuntos de dados genéticos podem ser recuperados. Em um caso, o servidor de computação 130 pode recuperar mais de 1.000 conjuntos de dados genéticos. Em outro caso, o servidor de computação 130 pode recuperar mais de 10.000 conjuntos de dados genéticos. Em ainda outro caso, o servidor de computação 130 pode recuperar mais de centenas de milhares ou mesmo milhões de conjuntos de dados genéticos. A afinidade IBD, que pode representar a afinidade entre os conjuntos de dados genéticos de um determinado par de indivíduos com base no comprimento dos segmentos genéticos IBD compartilhados do par de indivíduos, também pode ser determinada ou pode ter sido predeterminada e armazenada pelo servidor de computação 130.
[00058] O servidor de computação 130 gera 420 dados que representam um gráfico completo. O gráfico completo pode ser uma rede IBD. O gráfico completo pode incluir uma pluralidade de nós. Cada nó representa um dos indivíduos. Dois ou mais nós são conectados por meio de bordas. Cada borda conecta dois nós e está associada a um peso que é derivado da afinidade entre os conjuntos de dados genéticos dos dois indivíduos representados pelos dois nós. Se o gráfico for uma rede IBD, a afinidade pode ser afinidade IBD. Se o gráfico usa outros métodos para medir a similaridade entre os conjuntos de dados genéticos de dois indivíduos, outros tipos de medições podem ser usados para representar a afinidade que é usada para gerar o peso. Um gráfico completo pode representar um gráfico que ainda não foi filtrado. Um gráfico completo não requer que o servidor de computação 130 use todos os conjuntos de dados genéticos disponíveis para gerar dados que representam o gráfico.
[00059] O servidor de computação 130 filtra 430 os dados que representam o gráfico completo com base em um ou mais recursos das bordas ou nós. Os dados filtrados representam um subconjunto de nós. Por exemplo, a FIG. 5 ilustra um gráfico filtrado 500 que pode ser filtrado de um gráfico completo 300 mostrado na FIG. 3A. Os nós em linhas sólidas, como nós 510, são nós selecionados. Os nós em linhas tracejadas, como nós 520, são nós não selecionados. A filtragem pode ser baseada em um ou mais recursos associados às bordas e/ou um ou mais recursos associados aos nós.
[00060] Os recursos usados para filtrar um gráfico completo podem ser de vários tipos. Os recursos podem ser dados incluídos diretamente ou usados no gráfico ou dados que estão relacionados aos nós ou bordas, mas não são usados no gráfico. Os recursos incluídos diretamente no gráfico podem ser as características da afinidade entre dois conjuntos de dados genéticos. Por exemplo, a resistência da borda (por exemplo, os valores dos pesos) pode ser usada para filtrar o gráfico completo. Em contraste, os recursos que não são usados no gráfico podem ser outras características de coisas ou pessoas que estão relacionadas ao que as bordas ou nós representam. Por exemplo, uma vez que as bordas representam a conexão ou relacionamento entre dois indivíduos, recursos de uma borda podem ser características de pessoas ou coisas que são comumente compartilhadas pelos dois indivíduos conectados pela borda. Em uma modalidade, um exemplo de recurso pode ser características de ancestrais que são comumente compartilhados por dois indivíduos cujos nós estão conectados por uma borda. Como os ancestrais são compartilhados pelos dois indivíduos, as características dos ancestrais podem ser um recurso da borda, que representa a conexão entre os dois indivíduos. Um exemplo das características dos ancestrais é o ano de nascimento de um ancestral. Se dois indivíduos compartilham mais de um ancestral, o ano de nascimento médio pode ser usado. O ano de nascimento médio é o ano de nascimento se houver apenas um único ancestral comum. O servidor de computação 130 pode filtrar os dados que representam o gráfico completo com base em um período de tempo (por exemplo, 1800-1850) dos anos de nascimento dos ancestrais comuns. Outras características dos ancestrais, incluindo a origem geográfica de um ancestral comum, a etnia do ancestral, os sobrenomes dos ancestrais comuns, etc., também podem ser usados para filtrar o gráfico.
[00061] Recursos de exemplo também podem incluir recursos dos nós. Uma vez que os nós representam indivíduos, os recursos dos nós podem ser características dos indivíduos. Características de exemplo dos indivíduos incluem a composição étnica dos indivíduos, um fenótipo dos indivíduos (por exemplo, uma característica física, uma doença), regiões geográficas em que os indivíduos nasceram, etc. Em um caso, o conjunto de dados genéticos de um indivíduo o qual é representado por um nó pode indicar que o comprimento dos segmentos genéticos do indivíduo que são herdados de uma etnia alvo excede um limite (por exemplo, 20% de todo o conjunto de dados genéticos é atribuível à etnia alvo). O servidor de computação 130 pode filtrar os dados que representam o gráfico completo, exigindo que os nós selecionados tenham pelo menos 20% de dados genéticos atribuíveis à etnia alvo.
[00062] O servidor de computação 130 pode usar um ou mais recursos para filtrar os dados que representam o gráfico completo na seleção de um subconjunto de nós que representam um gráfico filtrado. O servidor de computação 130 também pode combinar um ou mais recursos de borda e/ou um ou mais recursos de nó para filtrar o gráfico completo.
[00063] O servidor de computação 130 divide 440 o subconjunto de nós no gráfico filtrado em uma pluralidade de agrupamentos com base nos pesos das bordas que conectam os nós no subconjunto. Cada agrupamento pode representar uma comunidade genética. Por exemplo, o servidor de computação 130 usa um algoritmo de detecção de comunidade descrito acima para dividir os nós de subconjunto no gráfico filtrado em uma pluralidade de agrupamentos. Em uma modalidade, o servidor de computação 130 define uma pluralidade de partições no gráfico filtrado. Cada partição pode representar uma comunidade genética candidata. Inicialmente, as partições definidas podem ser abaixo do ideal, o que significa que os membros da comunidade candidata podem não compartilhar conexões ou semelhanças suficientes. O servidor de computação 130 determina uma métrica (por exemplo, modularidade) para as partições. A métrica tem um valor que aumenta com os pesos das bordas conectando dois nós que são classificados na mesma partição e que diminui com os pesos das bordas conectando os nós em uma partição aos nós em outra partição. O servidor de computação 130 ajusta os limites das partições para aumentar o valor da métrica. Em alguns casos, o servidor de computação 130 usa várias iterações para medir a métrica e ajustar a partição. As partições ajustadas finais podem ser os agrupamentos que representam as comunidades genéticas.
[00064] A filtragem do gráfico completo para gerar um gráfico filtrado antes de um algoritmo de detecção de comunidade ser aplicado permite que o servidor de computação
130 descubra comunidades adicionais que podem não ser detectáveis usando o gráfico completo. Por exemplo, referindo-se à FIG. 5, o gráfico filtrado 500 permite que o servidor de computação 130 use o algoritmo de detecção de comunidade para identificar e separar duas comunidades 530 e 540 que, de outra forma, não são separáveis em um gráfico completo. Com referência à FIG. 3B, as duas comunidades 530 e 540 pertencem ao agrupamento 320, mas não são separáveis no gráfico completo 300. Usando a abordagem de filtragem, o servidor de computação 130 é capaz de identificar populações que não são previamente identificáveis usando um gráfico completo. Em uma modalidade, o servidor de computação 130 filtra o gráfico completo com base nos anos de nascimento dos ancestrais comuns dos indivíduos representados pelos nós no gráfico. O servidor de computação 130 identifica agrupamentos em um gráfico filtrado que representa populações em diferentes estados dos Estados Unidos, como Michigan, Wisconsin, Minnesota, Iowa, Texas, Utah, etc. Ao incluir relacionamentos mais recentes, estruturas populacionais recentes podem ser identificadas porque relacionamentos mais antigos podem cobrir a estrutura mais recente quando todas as bordas são usadas em um gráfico. Usando uma abordagem semelhante, as comunidades que representam as populações da Austrália e da África do Sul também são identificadas por vários gráficos filtrados.
[00065] A FIG. 6 é um diagrama de blocos que ilustra um exemplo de processo de classificação de um ano de nascimento de um ancestral comum de dois indivíduos em um período de tempo, de acordo com uma modalidade. Em um gráfico, como uma rede IBD 300, o servidor de computação 130 pode não possuir dados relativos ao ano de nascimento de todos os ancestrais comuns correspondentes às bordas no gráfico. Por exemplo, mesmo que o servidor de computação 130 determine que dois indivíduos são IBD relacionados, o ancestral comum pode ser desconhecido para o servidor de computação 130 de modo que o ano de nascimento é desconhecido. No entanto, uma vez que o comprimento dos segmentos IBD pode ser correlacionado a quantas gerações atrás os dois indivíduos estão relacionados, um modelo (por exemplo, um classificador) pode ser treinado para prever o ano de nascimento do ancestral comum ou para atribuir o ancestral comum a um período de tempo (por exemplo, 1700- 1800, 1800-1900). Para as bordas que correspondem a ancestrais desconhecidos ou ancestrais com anos de nascimento desconhecidos, o ano de nascimento pode ser estimado a partir do comprimento de segmentos genéticos IBD compartilhados de dois indivíduos usando um modelo que leva o comprimento de segmentos genéticos IBD compartilhados como entrada. Após o ano de nascimento ser estimado ou classificado em um período de tempo, o servidor de computação 130 pode filtrar um gráfico completo e executar o algoritmo de detecção de comunidade.
[00066] O servidor de computação 130 pode usar dados de seu armazenamento de dados genealógicos 205 para gerar conjuntos de treinamento rotulados. Por exemplo, o servidor de computação 130 pode recuperar os conjuntos de dados genéticos do indivíduo A 602 e indivíduo B 604 do armazenamento de dados genéticos 210. O mecanismo de estimativa IBD 225 do servidor de computação 130 pode determinar, com base nos conjuntos de dados genéticos, que os indivíduos A e B estão relacionados com IBD por uma duração do compartilhamento de IBD. O servidor de computação 130 recupera dados genealógicos de indivíduos A e B, como seus dados de árvore genealógica. Os indivíduos A e B podem ter árvores genealógicas separadas e podem não saber que estão relacionadas com IBD. A partir dos dados da árvore genealógica e potencialmente com a validação de outros dados genealógicos, o servidor de computação 130 determina que o par de indivíduos compartilha um ancestral comum 606. O ancestral comum 606 tem dados do ano de nascimento que estão disponíveis no servidor de computação 130. Por exemplo, um dos indivíduos A ou B pode inserir o ano de nascimento, ou o servidor de computação 130 é capaz de localizar o ano de nascimento do ancestral comum 606 de uma fonte de registro público, como dados de certidão de registro de nascimento. O servidor de computação 130 gera um conjunto de treinamento 610 que inclui o ano de nascimento ancestral comum 612 e a duração do compartilhamento de IBD 614 como dois recursos no conjunto de treinamento 610. O ano de nascimento do ancestral comum 612 pode ser usado como o rótulo do conjunto de treinamento 610. O servidor de computação 130 pode identificar repetidamente em seus armazenamentos de dados mais pares de indivíduos que estão relacionados com IBD e que têm um ancestral comum cujo ano de nascimento é conhecido. Uma pluralidade de conjuntos de treinamento pode ser gerada.
[00067] O servidor de computação 130 treina um modelo 620 usando os conjuntos de treinamento 610. O modelo 620 pode ser um classificador que classifica o ano de nascimento estimado em um dos períodos de tempo possíveis ou um regressor que prevê o ano de nascimento do ancestral comum. Por exemplo, para um classificador, um classificador de regressão logística, um classificador de floresta aleatório, uma máquina de vetores de suporte (SVM), uma rede neural, etc. podem ser usados. A função objetivo do classificador pode ser os erros na classificação dos conjuntos de treinamento no período de tempo correto. No treinamento do classificador, o servidor de computação 130 ajusta os pesos do modelo para reduzir ou minimizar os erros por meio de técnicas, como descendência por coordenadas ou descendência por coordenadas estocásticas (SGD). Em uma modalidade, um classificador de regressão logística que usa comprimentos de segmento IBD 614 para prever o período de tempo do ano de nascimento dos ancestrais pode ser usado. Modelos não lineares como floresta aleatória e SVM também podem ser usados. Em algumas modalidades, o servidor de computação 130 pode usar recursos adicionais para prever o ano de nascimento. Por exemplo, vários dados genealógicos também podem ser úteis na previsão do ano de nascimento de um ancestral comum. O servidor de computação 130 pode treinar uma rede neural que recebe o comprimento do segmento IBD 614 e outros recursos para prever o período de tempo.
[00068] Após o modelo 620 ser suficientemente treinado, o modelo treinado 630 pode ser usado para prever o período de tempo do ano de nascimento do ancestral comum
636. Como o peso de uma borda em uma rede IBD é derivado do comprimento do segmento IBD, o comprimento do segmento IBD é conhecido para uma determinada borda. Para uma determinada borda, um conjunto de dados de entrada 632 que inclui o comprimento do segmento IBD 634 pode ser inserido no modelo treinado para gerar o período de tempo 636. Depois que os períodos de tempo previstos são gerados para as bordas em um gráfico completo de uma rede IBD, o servidor de computação 130 filtra o gráfico completo com base no período de tempo estimado para selecionar bordas que representam ancestrais comuns que foram estimados para nascer dentro do período de tempo alvo. O servidor de computação 130, então, aplica o algoritmo de detecção de comunidade para descobrir comunidades genéticas em relação ao período de tempo alvo.
[00069] Por exemplo, a população de Connecticut que existia nos anos 1700 mudou-se para o oeste para Nova York durante os anos 1800, e se misturou com outras populações. Os métodos existentes não identificaram uma estrutura correspondente associada a essa migração populacional quando todas as correspondências foram usadas. Em contraste, ao gerar um gráfico filtrado que corresponde a ancestrais comuns nascidos em 1700, o servidor de computação 130 pode identificar uma estrutura populacional em Connecticut daquele período de tempo que está associada à migração para Nova York. Outro exemplo é a Austrália. O servidor de computação 130 pode não ser capaz de encontrar nenhuma comunidade na Austrália usando um gráfico completo. No entanto, usando apenas as bordas do século XIX, o servidor de computação 130 identifica uma estrutura populacional na Austrália que se deve aos padrões de acasalamento do século XIX.
[00070] Em vez de usar um modelo de aprendizado de máquina, encontrar o tempo de um ancestral comum entre dois indivíduos pode ser aproximado com um modelo de genética populacional. Por exemplo, a distribuição estatística de comprimento compartilhado IBD pode ser gerada e a geração do ancestral comum pode ser prevista. A geração pode ser mapeada para anos quando um modelo de genética populacional está disponível.
[00071] Alternativa a, ou além de, filtrar um gráfico completo por um recurso de borda, como o período de tempo do ano de nascimento do ancestral comum, o servidor de computação 130 pode filtrar o gráfico completo usando um recurso de nó, como a composição étnica dos indivíduos representados pelos nós. Esta abordagem permite a remoção de ruído de outros grupos que podem ser excessivamente representados no armazenamento de dados do servidor de computação 130. Em alguns casos, o servidor de computação 130 pode ser mais popular entre os clientes de uma determinada região, mas não tão popular em outra região. Como tal, pode haver tendenciosidade na rede IBD construída e algumas estruturas populacionais podem ser mais fortes do que outras. Em alguns casos, isso pode dificultar a descoberta da estrutura em certas populações sub- representadas. O servidor de computação 130 pode filtrar os indivíduos apenas aqueles indivíduos de uma determinada etnia de interesse. Por exemplo, estruturas populacionais melhores e mais refinadas na Ásia podem ser encontradas quando um gráfico completo é filtrado para incluir os indivíduos de ascendência asiática. Esta abordagem resulta em uma descoberta de comunidade mais refinada para populações mistas.
[00072] Em uma modalidade, o servidor de computação 130 pode filtrar os nós em um gráfico completo, exigindo que o subconjunto selecionado de nós inclua pelo menos uma certa porcentagem (por exemplo, 20%) de dados genéticos atribuíveis a uma origem étnica alvo. O servidor de computação 130 pode determinar o comprimento dos segmentos genéticos de um indivíduo que são herdados da origem étnica alvo, comparando o conjunto de dados genéticos do indivíduo a uma ou mais amostras de painel de referência da etnia alvo. Por exemplo, o servidor de computação 130 pode usar o mecanismo de estimativa de etnia 245 para determinar a composição étnica do indivíduo. Para um indivíduo misto, o nó que representa o indivíduo pode ser selecionado em vários gráficos filtrados. Por exemplo, filtrar os dados que representam o gráfico completo para gerar um primeiro gráfico filtrado pode ser baseado em uma primeira etnia alvo apresentada nas composições étnicas dos indivíduos. Além disso, a filtragem dos dados que representam o gráfico completo para gerar um segundo gráfico filtrado pode ser baseada em uma segunda etnia alvo apresentada nas composições étnicas dos indivíduos. Por exemplo, os critérios de filtragem podem exigir que cada gráfico filtrado inclua indivíduos que tenham pelo menos 20% da etnia alvo. Como resultado, um nó que representa um indivíduo misto pode estar presente tanto no primeiro quanto no segundo gráfico filtrado. Detecção de Comunidade Hierárquica de Múltiplos caminhos
[00073] As FIG. 7A a FIG. 9 ilustram um exemplo de processo de detecção de comunidade hierárquica de múltiplos caminhos, de acordo com uma modalidade. A FIG. 7A ilustra um diagrama de árvore 700 para um processo de detecção de comunidade hierárquica de caminho único. O diagrama de árvore
700 inclui uma pluralidade de galhos e folhas finais, cada um denotado por um identificador numérico, como “1,” “2.1,” “5.2.5,” “6.3.4,” etc. Um galho representa um caminho para chegar a uma folha. A folha representa uma comunidade ou subcomunidade que corresponde a um agrupamento em um gráfico, como uma rede IBD em um processo de detecção de comunidade.
[00074] Em um processo de detecção de comunidade hierárquica, o servidor de computação 130 aplica o algoritmo de detecção de comunidade (por exemplo, método Louvain) a um gráfico (gráfico completo ou gráfico filtrado) para dividir o gráfico em agrupamentos que representam um conjunto de comunidades. Depois que o conjunto de comunidades é determinado, o servidor de computação 130 aplica o algoritmo de detecção de comunidade novamente em cada agrupamento para identificar subagrupamentos dentro de um agrupamento. Cada subgrupo pode representar uma comunidade genética mais definida. Para distinguir o conjunto inicial de comunidades das subcomunidades, o conjunto inicial de comunidades pode ser denominado comunidades de “nível 1” e as subcomunidades podem ser denominadas comunidades de “nível 2”. Os vários níveis de comunidades podem ser vistos como conjuntos hierárquicos de agrupamentos.
[00075] Para identificar uma subcomunidade para cada comunidade Ai' de nível 1 (i = 1, 2,..., C'), o servidor de computação 130 gera dados que representam um subgráfico gi para cada comunidade Ai ' no conjunto de comunidades Ai' (i = 1, 2, 3,..., C'). O subgráfico gi é definido pelo subconjunto de nós n que são atribuídos a uma comunidade Ai' e o subconjunto de bordas m tal que (i, j) é incluído no subconjunto se i e j são atribuídos à comunidade Ai'.
[00076] O servidor de computação 130 aplica um algoritmo de agrupamento (por exemplo, à base de modularidade agrupamento) na subgráfico gi associada com a comunidade Ai'. Por exemplo, se uma comunidade de nível 1 A1' está associada a um subgráfico g1, o algoritmo de agrupamento é aplicado ao subgráfico g1. Depois de aplicar o algoritmo de agrupamento a cada subgráfico gi, com i = 1, 2,..., C ', o resultado é um conjunto de subcomunidades (B1, B2,... BD), onde D é o número total de subcomunidades identificadas em todos os subgráficos. Em uma modalidade, apenas as comunidades "válidas" que excedem um tamanho especificado anteriormente são retidas (e este pode ser um (segundo) limite diferente do (primeiro) limite t usado para determinar as comunidades de nível 1), resultando em um conjunto final de comunidades de nível 2, subcomunidades (B '1, B'2,... B 'D'), em que D' é menor ou igual a D.
[00077] O processo descrito acima pode ser repetido para níveis subsequentes de comunidades, desde que pelo menos uma comunidade tenha um número maior que o limite de nós t, conforme introduzido acima. Por exemplo, comunidades no nível 3 podem ser delineadas mais uma vez para gerar um subgráfico gi para cada comunidade de nível 2 Bi e aplicar o algoritmo de detecção de comunidade a cada subgráfico gi.
[00078] Seguindo esta descrição, um exemplo de pseudocódigo para o servidor de computação 130 para um algoritmo de detecção de comunidade hierárquica é o seguinte: procedure community(S) C ← Louvain(S) // Identifica o conjunto de comunidades associadas à rede S for each Ai in C do if(Size(Ai) ≥ N && Stability(Ai) ≥ M) then //N é um limite, tal que N=1,000, e M é um limite de estabilidade gi ← buildSubgraph(S, Ai) C ← concatenate (C community(gi)) return C //C é um arranjo de comunidades e subcomunidades associado com a rede S, que pode ser interpretado em uma hierarquia de agrupamentos.
[00079] Em uma modalidade, o procedimento delineado por meio do exemplo de pseudocódigo acima resulta em uma hierarquia de comunidades, fragmentando ou subdividindo recursivamente grupos de nós conectados. O algoritmo ilustrado pelo pseudocódigo acima para automaticamente de subdividir ainda mais quando o tamanho da sub-rede definida por uma comunidade contém menos do que um número limite de nós N, que pode ser uma variável especificada pelo usuário, como 1.000 nós. Além disso, para criar um subgráfico, a estabilidade de uma sub-rede deve exceder um limite M.
[00080] Em uma abordagem de detecção de comunidade hierárquica de caminho único, um nó em cada nível de detecção de comunidade é atribuído a um único agrupamento e apenas a um único agrupamento. Portanto, em uma abordagem de caminho único, um nó que representa um indivíduo só pode percorrer o diagrama de árvore 700 por um único caminho até uma folha. Por exemplo, a FIG. 7A ilustra um exemplo de caminho que atinge uma folha. No nível 1 (por exemplo, a primeira rodada do algoritmo de detecção de comunidade), o nó é atribuído ao 6º agrupamento. Na abordagem de caminho único, o nó não pode ser atribuído simultaneamente ao 6º agrupamento e a outro agrupamento. Portanto, o caminho leva o ramo que representa o 6º agrupamento, mas não os outros agrupamentos. No nível 2 (por exemplo, a segunda rodada do algoritmo de detecção de comunidade), o nó é atribuído ao 3º subconjunto do 6º agrupamento (6.3). No nível 3 (por exemplo, a terceira rodada do algoritmo de detecção de comunidade), o nó é atribuído ao primeiro subconjunto do subconjunto 6.3, chegando à folha
6.3.1.
[00081] A FIG. 7B ilustra um diagrama de árvore 700 para um processo de detecção de comunidade de múltiplos caminhos, de acordo com uma modalidade. Nessa abordagem de vários caminhos, um nó em um gráfico em cada nível de detecção de comunidade pode ser atribuído a vários agrupamentos. Assim, além do caminho que chega à folha 6.3.1, no nível 1, o nó também está atribuído ao 3º e 4º agrupamentos. No nível 2, o nó também é atribuído simultaneamente ao 1º e ao 4º subconjunto do 4º agrupamento. Após várias rodadas de algoritmo de detecção de comunidade, o servidor de computação 130 atribui o nó à comunidade 6.3.1,
3.1, 4.1 e 4.4.5. Em outras palavras, o nó pode seguir vários caminhos para alcançar diferentes comunidades e subcomunidades. Em uma modalidade, em cada nível, o servidor de computação 130 pode primeiro usar um algoritmo de agrupamento para dividir os nós no gráfico em vários agrupamentos e atribuir o nó alvo a um único agrupamento. O nó alvo é atribuído apenas a um único agrupamento porque métodos como o método Louvain podem atribuir um nó a apenas um agrupamento. O servidor de computação 130 pode então adicionar o nó alvo a agrupamentos adicionais com base em um ou mais critérios. Por exemplo, os critérios podem ser baseados nos critérios de filtragem conforme discutido acima. Em outra modalidade, um critério é baseado em uma métrica de estabilidade que será discutida em mais detalhes abaixo.
[00082] A FIG. 8 é um fluxograma que descreve um exemplo de processo de realização de uma detecção de comunidade de múltiplos caminhos, de acordo com uma modalidade. O processo pode ser usado para classificar um indivíduo misto em mais de uma comunidade genética. O servidor de computação 130 recupera 810 uma pluralidade de conjuntos de dados genéticos correspondentes a uma pluralidade de indivíduos. Pelo menos um dos indivíduos é um indivíduo misto. O servidor de computação 130 gera 820 dados que representam um gráfico, que pode ser um gráfico não direcionado parcialmente conectado. Semelhante a outros gráficos discutidos nesta divulgação, este gráfico pode incluir uma pluralidade de nós. Cada nó representa um dos indivíduos. Dois ou mais nós são conectados por meio de bordas. Cada borda conecta dois nós e está associada a um peso que é derivado da afinidade entre os conjuntos de dados genéticos dos dois indivíduos representados pelos dois nós. A pluralidade de nós inclui um nó alvo que representa o indivíduo misto.
[00083] O servidor de computação 130 pode aplicar um algoritmo de detecção de comunidade para dividir 830 os nós no gráfico em uma pluralidade de agrupamentos com base nos pesos das bordas que conectam os nós. A pluralidade de agrupamentos representa uma pluralidade de comunidades genéticas. O servidor de computação 130 inclui 840 o nó alvo em um ou mais agrupamentos que representam uma ou mais comunidades genéticas diferentes. Em um caso, o nó alvo está incluído em duas ou mais comunidades genéticas. Por exemplo, o servidor de computação 130 pode usar inicialmente um algoritmo de detecção de comunidade para atribuir o nó alvo de um agrupamento. O servidor de computação 130, então, adiciona o nó alvo a agrupamentos adicionais com base em um ou mais critérios, como uma métrica de estabilidade.
[00084] Para pelo menos um dos agrupamentos no qual o nó alvo está incluído, o servidor de computação 130 divide 850 o agrupamento em uma pluralidade de subagrupamentos. Por exemplo, o servidor de computação 130 pode aplicar o mesmo algoritmo de detecção de comunidade nas etapas 830 e 850 ao dividir o gráfico, os agrupamentos ou quaisquer subagrupamentos em subagrupamentos definidos. O servidor de computação 130 pode classificar o nó alvo em um dos subagrupamentos. O nó alvo é agrupado em um ou mais subagrupamentos diferentes, que representam que o indivíduo misto é classificado em uma ou mais subcomunidades genéticas diferentes de uma ou mais origens étnicas. Conforme indicado pela seta 860, o servidor de computação 130 pode repetir as etapas 840 e 850 para atribuir ainda mais o nó alvo em mais subagrupamentos em caminhos diferentes usando a abordagem hierárquica.
[00085] Em um determinado nível do processo de detecção de comunidade hierárquica, se um nó alvo deve ser adicionado a agrupamentos adicionais pode depender de uma análise de estabilidade para o nó alvo para avaliar o quão estável é a associação entre o nó alvo e um agrupamento. Por exemplo, correspondem à etapa 820 na FIG. 8, o servidor de computação 130 determina se o nó alvo tem uma estabilidade em relação a um determinado agrupamento que excede um limite.
O servidor de computação 130 incluirá o nó alvo no agrupamento particular em resposta à estabilidade excedendo o limite.
[00086] A estabilidade pode assumir a forma de uma métrica de estabilidade que mede a conexão entre um nó alvo e um agrupamento alvo. O servidor de computação 130 pode realizar a etapa 830 para um determinado gráfico para gerar um conjunto de agrupamentos que inclui o agrupamento alvo. Para o mesmo gráfico, o servidor de computação 130 amostra aleatoriamente um subconjunto de nós de uma pluralidade de nós do gráfico. O subconjunto de nós representa um gráfico amostrado, que geralmente inclui cerca de uma certa porcentagem (por exemplo, 60-80%) dos nós do gráfico dado. O servidor de computação 130 repete o processo de amostragem para gerar uma pluralidade de subconjuntos de nós. Vários subconjuntos, que representam diferentes gráficos amostrados, são gerados. O servidor de computação 130 divide cada um dos gráficos amostrados em uma pluralidade de agrupamentos. O resultado da divisão pode incluir o agrupamento alvo. Deve-se notar que o agrupamento alvo pode não ser completamente idêntico para cada gráfico amostrado e pode não ser idêntico ao agrupamento alvo que foi gerado usando o gráfico não amostrado porque a aplicação do algoritmo de detecção de comunidade a um gráfico amostrado aleatoriamente pode produzir diferentes números e partições de comunidades. O servidor de computação 130 pode tratar um agrupamento que tem um grau de limite de sobreposição em termos de nós atribuídos ao agrupamento alvo gerado no gráfico não amostrado como o mesmo agrupamento alvo. Como cada vez que uma certa porcentagem (por exemplo, 60-80%) dos nós pode ser amostrada, o nó alvo pode ser amostrado e selecionado em alguns dos gráficos amostrados. Para aqueles gráficos amostrados nos quais o nó alvo é amostrado, o servidor de computação 130 determina o número de vezes que o nó alvo é classificado no agrupamento alvo. Por exemplo, o processo de amostragem e detecção da comunidade pode ser repetido de 20 a 100 vezes. Se o nó alvo aparecer, por exemplo, em 14 gráficos amostrados diferentes, o número de vezes que o nó alvo é classificado no agrupamento alvo pode ser de 0 a 14. O servidor de computação 130 deriva o valor de uma métrica de estabilidade do nó alvo em relação ao agrupamento alvo. A métrica de estabilidade pode ser a razão entre o número de vezes que o nó alvo é classificado no agrupamento alvo e o número de vezes que o nó alvo aparece nos gráficos amostrados. Se a métrica de estabilidade exceder um limite (por exemplo, 25%), o servidor de computação 130 adiciona o nó alvo ao agrupamento alvo na etapa 840 para outra rodada de detecção de comunidade na abordagem hierárquica de múltiplos caminhos. Um limite baixo relativo (por exemplo, inferior a 50%) pode ser definido para que o nó alvo possa ser adicionado a mais de um agrupamento.
[00087] O servidor de computação 130 também pode usar a análise de estabilidade para determinar as amostras de painel de referência para uma comunidade. Por exemplo, a mesma análise de estabilidade pode ser realizada para uma comunidade alvo para localizar nós que são atribuídos de forma mais consistente à comunidade alvo. Um limite mais alto (por exemplo, 80%, 90%) pode ser usado para a métrica de estabilidade na seleção de amostras de painel de referência. O fato de um nó ser consistentemente atribuído à comunidade alvo sempre que amostrado indica que o nó pode servir como um conjunto de dados genético representativo para a comunidade alvo. Tal nó pode ser selecionado como a amostra de painel de referência.
[00088] A FIG. 9 ilustra um exemplo de processo de agrupamento em uma abordagem de detecção de comunidade de múltiplos caminhos, de acordo com uma modalidade. O nó 910 é um nó alvo. Para o primeiro nível de detecção de comunidade, o nó alvo 910 está incluído em dois agrupamentos. Para o segundo caminho, o nó alvo também está incluído em dois subagrupamentos. Como tal, a FIG. 9 ilustra pelo menos três caminhos para atribuir o nó alvo 910 em três comunidades ou subcomunidades diferentes. Classificação de Comunidade
[00089] A FIG. 10 ilustra um fluxograma que descreve um processo para detectar a comunidade de um indivíduo alvo, de acordo com uma modalidade. O servidor de computação 130 usa um ou mais modelos de aprendizado de máquina treinados para calcular, para um determinado indivíduo alvo, uma pontuação (por exemplo, uma probabilidade) para atribuição do indivíduo alvo para uma comunidade. O modelo pode ser usado para classificar indivíduos existentes, por exemplo, alguém presente no armazenamento de dados genéticos 210, ou novos usuários que enviaram suas amostras de DNA para inclusão no servidor de computação 130.
[00090] O servidor de computação 130 recupera 1010 um conjunto de dados genéticos de um indivíduo alvo. O servidor de computação 130 também recupera 1020 uma pluralidade de amostras de painel de referência do armazenamento de amostras de painel de referência 240. Cada amostra de painel de referência representa um indivíduo de painel de referência. Pelo menos alguns dos indivíduos de referência são gerados a partir de uma rede IBD filtrada que é filtrada de uma rede IBD completa. A rede IBD filtrada inclui um subconjunto de nós filtrados com base em um ou mais recursos das bordas ou nós, conforme discutido nas FIG. 4 a FIG. 9.
[00091] O servidor de computação 130 gera 1030 afinidades IBD associadas ao indivíduo alvo. Cada afinidade de IBD é determinada comparando o conjunto de dados genéticos do indivíduo alvo com uma das amostras de painel de referência, por exemplo, comparando os conjuntos de dados genéticos faseados do indivíduo alvo e a amostra de painel de referência. O servidor de computação 130 recupera 1040 um ou mais classificadores de comunidade. Cada classificador de comunidade pode ser um modelo treinado para determinar se um indivíduo pertence a uma comunidade genética. O servidor de computação 130 gera 1050 um conjunto de recursos para cada classificador de comunidade. Em algumas modalidades, alguns classificadores podem receber as afinidades IBD ou os conjuntos de dados genéticos do indivíduo alvo como os recursos. Em outras modalidades, o servidor de computação 130 pode converter as afinidades IBD (e, em alguns casos, as estimativas de etnia) e conjuntos de dados genéticos em um vetor de recursos de acordo com os recursos selecionados para cada um dos modelos. Cada modelo recebe um vetor de recursos diferente, dependendo de quais recursos foram selecionados e usados para treinar aquele modelo específico.
[00092] Para uma comunidade ou subcomunidade identificada, o servidor de computação 130 pode usar conjuntos de treinamento com recursos selecionados para treinar um modelo classificador para essa comunidade. A título de exemplo, o servidor de computação 130 pode selecionar recursos que são estimados como tendo alta capacidade de predição como os recursos usados na classificação. Os recursos podem ser extraídos dos conjuntos de dados genéticos, os valores de afinidade IBD, a estimativa de etnia, etc. Um conjunto de recursos pode ser diferente para várias comunidades. Exemplos de algoritmos que podem ser usados para implementar a seleção de recurso incluem, mas não estão limitados a regressão penalizada esparsa (por exemplo, Lasso), um método de regressão progressiva/passo a passo, eliminação de recurso recursivo e árvores regularizadas. O servidor de computação 130 usa o conjunto de recursos selecionados para essa comunidade para treinar um modelo correspondente. Após a conclusão do treinamento, o modelo é capaz de gerar, para um indivíduo alvo, uma pontuação ou probabilidade de prever a designação desse indivíduo para a comunidade. Em uma modalidade, o modelo produz uma probabilidade (um número real entre 0 e 1), em que um número próximo a 1 indica que o indivíduo é classificado para a comunidade com alta confiança, e um número próximo a 0 indica com alta confiança que o indivíduo não é membro da comunidade.
[00093] Os conjuntos de treinamento incluem recursos de indivíduos conhecidos que foram classificados em uma ou mais comunidades. Os indivíduos que fazem parte da comunidade alvo do modelo recebem rótulos de treinamento “1”, indicando que devem ser classificados na comunidade. Indivíduos que fazem parte de qualquer outra comunidade são atribuídos rótulos de treinamento de “0”, indicando que eles não devem ser classificados na comunidade. Em um caso, a classificação dos rótulos de treinamento pode ser baseada na pontuação de estabilidade do indivíduo associado a uma determinada comunidade. Por exemplo, em uma modalidade, os indivíduos que têm as pontuações de estabilidade para uma comunidade que são maiores do que um primeiro limite são atribuídos com os rótulos de treinamento de "1", enquanto os indivíduos que têm as pontuações de estabilidade menores que um segundo limite são atribuídos os rótulos de treinamento de “2”. Em um caso, os indivíduos que apresentam as pontuações de estabilidade entre o primeiro e o segundo limite não são usados para treinamento. Em uma modalidade, os indivíduos são retirados de uma rede IBD (filtrada ou completa) e/ou amostras de painel de referência aleatoriamente para construir o conjunto de treinamento fornecido como entrada para o algoritmo de treinamento do modelo e para uso no treinamento do modelo. Em outras modalidades, os dados de entrada podem ser selecionados de forma diferente. Os dados relacionados aos indivíduos são convertidos em recursos para o modelo.
[00094] Uma estrutura de modelo de aprendizado de máquina adequada, supervisionada ou não supervisionada, pode ser usada para treinar os modelos. Estruturas de exemplo incluem, mas não estão limitadas a florestas aleatórias, máquinas de vetores de suporte (SVM), regressão logística, e redes neurais. Cada modelo pode ser associado a um conjunto de pesos. O processo de treinamento inclui determinar os resultados da classificação usando os conjuntos de treinamento e ajustar os pesos do modelo para reduzir ou minimizar os erros do modelo com base nos rótulos de treinamento. O ajuste dos pesos pode incluir uma ou mais técnicas, como descendência coordenada, descendência coordenada estocástica, etc. O treinamento pode ser determinado para ser concluído após terminar um determinado número de iterações (por exemplo, número de épocas) ou depois que a taxa de erro não melhorar mais (por exemplo, o modelo convergiu). Um modelo de classificador pode ser treinado e especializado em uma comunidade, embora um classificador de várias classes para várias comunidades também seja possível. Para uma pluralidade de comunidades, vários modelos podem ser treinados. O servidor de computação 130 armazena os modelos, incluindo os pesos de modelo treinados, como os classificadores da comunidade.
[00095] Depois que os classificadores de comunidade foram treinados 540, o servidor de computação 130 insere 1060, para cada classificador de comunidade, o conjunto de recursos associados ao indivíduo alvo no classificador de comunidade para determinar se o indivíduo alvo pertence à comunidade genética. Isso pode incluir o cálculo de uma pontuação, como uma probabilidade para cada modelo. Em uma implementação, um indivíduo é classificado como pertencente a uma determinada comunidade se a probabilidade calculada pelo modelo treinado exceder um valor numérico limite. O limite para classificar indivíduos em comunidades pode ser o mesmo ou diferente para cada modelo. A saída do módulo de previsão de comunidade pode incluir a classificação e a probabilidade posterior para cada comunidade (por exemplo, o nível de confiança sobre se a classificação está correta).
[00096] O servidor de computação 130 gera 1070 um relatório resumindo uma ou mais comunidades genéticas às quais o indivíduo alvo pertence. Devido a uma variedade de fatores, como a ampla diversidade genética da base de usuários, a qualidade variável das afinidades IBD para diferentes usuários e a heterogeneidade na composição das comunidades identificadas na rede IBD, um indivíduo pode ser previsto como um membro de zero, uma ou mais comunidades. Em uma modalidade, a saída do módulo de previsão de comunidade pode ser relatada a um usuário por meio de um documento gerado ou uma GUI. Os dados relatados no documento ou GUI também podem se basear em anotações associadas à comunidade, bem como interpretações históricas ou geográficas baseadas em resumos das anotações associadas à comunidade. Isso pode incluir recursos geográficos ou regiões que distinguem a comunidade, e outras características de recursos históricos, sociais ou econômicos da comunidade que podem ou não ser informadas pelas anotações. O servidor de computação 130 pode, adicionalmente, produzir relatórios que resumem as conexões IBD e outras estimativas genéticas relevantes para cada comunidade. Por exemplo, uma estimativa do número de primos de segundo grau classificados como pertencentes à mesma comunidade do usuário pode ser relatada. Arquitetura de Máquina de Computação
[00097] A FIG. 11 é um diagrama de blocos que ilustra os componentes de uma máquina de computação de exemplo que é capaz de ler instruções de um meio legível por computador e executá-las em um processador (ou controlador). Um computador aqui descrito pode incluir uma única máquina de computação mostrada na FIG. 11, uma máquina virtual, um sistema de computação distribuído que inclui múltiplos nós de máquinas de computação mostradas na FIG. 11, ou qualquer outro arranjo adequado de dispositivos de computação.
[00098] A título de exemplo, a FIG. 11 mostra uma representação esquemática de uma máquina de computação na forma de exemplo de um sistema de computador 1100 dentro do qual as instruções 1124 (por exemplo, software, código de programa ou código de máquina), que podem ser armazenados em um meio legível por computador para fazer a máquina realizar qualquer um ou mais dos processos aqui discutidos podem ser executadas. Em algumas modalidades, a máquina de computação opera como um dispositivo autônomo ou pode ser conectada (por exemplo, em rede) a outras máquinas. Em uma implantação em rede, a máquina pode operar na capacidade de uma máquina de servidor ou uma máquina cliente em um ambiente de rede de cliente-servidor, ou como uma máquina ponto a ponto em um ambiente de rede ponto a ponto (ou distribuído).
[00099] A estrutura de uma máquina de computação descrita na FIG. 11 pode corresponder a qualquer software, hardware ou componentes combinados mostrados nas FIGS. 1 e 2, incluindo, mas não se limitando a, o dispositivo cliente 110, o servidor de computação 130 e vários motores, interfaces, terminais e máquinas mostrados na FIG. 2. Embora a FIG. 11 mostre vários elementos de hardware e software, cada um dos componentes descritos nas FIGS. 1 e 2 podem incluir elementos adicionais ou menos elementos.
[000100] A título de exemplo, uma máquina de computação pode ser um computador pessoal (PC), um tablet PC, um decodificador (STB), um assistente digital pessoal (PDA), um telefone celular, um smartphone, um aparelho da web, um roteador de rede, um dispositivo de Internet das coisas (IoT), um switch ou ponte, ou qualquer máquina capaz de executar 1124 instruções que especificam ações a serem tomadas por essa máquina. Além disso, embora apenas uma única máquina seja ilustrada, o termo "máquina" e "computador" também pode ser considerado para incluir qualquer coleção de máquinas que individualmente ou em conjunto executam instruções 1124 para realizar qualquer uma ou mais das metodologias aqui discutidas.
[000101] O exemplo de sistema de computador 1100 inclui um ou mais processadores 1102, como uma CPU (unidade de processamento central), uma GPU (unidade de processamento gráfico), uma TPU (unidade de processamento tensor), um DSP (processador de sinal digital), um sistema em um chip (SOC), um controlador, um equipamento de estado, um circuito integrado de aplicação específica (ASIC), um arranjo de portas programáveis em campo (FPGA) ou qualquer combinação destes. Partes do sistema de computação 1100 também podem incluir uma memória 1104 que armazena código de computador incluindo instruções 1124 que podem fazer com que os processadores 1102 realizem certas ações quando as instruções são executadas, direta ou indiretamente pelos processadores 1102. As instruções podem ser quaisquer direções, comandos ou ordens que podem ser armazenados em diferentes formas, tais como instruções legíveis por equipamento, instruções de programação incluindo código- fonte, e outros sinais de comunicação e ordens. As instruções podem ser usadas em um sentido geral e não se limitam a códigos legíveis por máquina.
[000102] Um e mais métodos aqui descritos melhoram a velocidade de operação dos processadores 1102 e reduzem o espaço necessário para a memória 1104. Por exemplo, os métodos de aprendizado de máquina descritos neste documento reduzem a complexidade da computação dos processadores 1102, aplicando uma ou mais novas técnicas que simplificam as etapas de treinamento, alcançando a convergência e gerando resultados dos processadores 1102. Os algoritmos descritos neste documento também reduzem o tamanho dos modelos e conjuntos de dados para reduzir o requisito de espaço de armazenamento para a memória 1104.
[000103] O desempenho de algumas das operações pode ser distribuído entre os mais de processadores, não apenas residindo em uma única máquina, mas implantado em uma série de máquinas. Em algumas modalidades de exemplo, o um ou mais processadores ou módulos implementados por processador podem estar localizados em um único local geográfico (por exemplo, dentro de um ambiente doméstico, um ambiente de escritório ou uma torre de servidores). Em outras modalidades de exemplo, o um ou mais processadores ou módulos implementados por processador podem ser distribuídos em uma série de localizações geográficas. Mesmo que no relatório descritivo ou nas reivindicações possam se referir a alguns processos a serem realizados por um processador, isso deve ser interpretado como incluindo uma operação conjunta de múltiplos processadores distribuídos.
[000104] O sistema de computador 1100 pode incluir uma memória principal 1104 e uma memória estática 1106, que são configuradas para se comunicarem entre si por meio de um barramento 1108. O sistema de computador 1100 pode incluir ainda uma unidade de exibição gráfica 1110 (por exemplo, um painel de tela de plasma (PDP), uma tela de cristal líquido (LCD), um projetor, ou um tubo de raios catódicos (CRT)). A unidade de exibição gráfica 1110, controlada pelos processadores 1102, exibe uma interface gráfica de usuário (GUI) para exibir um ou mais resultados e dados gerados pelos processos descritos neste documento. O sistema de computador 1100 também pode incluir dispositivo de entrada alfanumérico 1112 (por exemplo, um teclado), um dispositivo de controle de cursor 1114 (por exemplo, um mouse, um trackball, um joystick, um sensor de movimento ou outro instrumento apontador), uma unidade de armazenamento 1116 (um disco rígido, uma unidade de estado sólido, uma unidade híbrida, um disco de memória, etc.), um dispositivo de geração de sinal 1118 (por exemplo, um alto-falante) e um dispositivo de interface de rede 1120, que também estão configurados para se comunicar através do barramento 1108.
[000105] A unidade de armazenamento 1116 inclui um meio legível por computador 1122 no qual são armazenadas instruções 1124 que incorporam qualquer uma ou mais das metodologias ou funções aqui descritas. As instruções 1124 também podem residir, completamente ou pelo menos parcialmente, dentro da memória principal 1104 ou dentro do processador 1102 (por exemplo, dentro de uma memória cache do processador) durante a sua execução pelo sistema de computador 1100, a memória principal 1104 e o processador 1102 também constituindo mídia legível por computador. As instruções 1124 podem ser transmitidas ou recebidas através de uma rede 1126 através do dispositivo de interface de rede
1120.
[000106] Embora o meio legível por computador 1122 seja mostrado em uma modalidade de exemplo como um único meio, o termo "meio legível por computador" deve ser considerado para incluir um único meio ou vários meios (por exemplo, um banco de dados centralizado ou distribuído ou caches e servidores associados) capazes de armazenar instruções (por exemplo, instruções 1124). O meio legível por computador pode incluir qualquer meio que seja capaz de armazenar instruções (por exemplo, instruções 1124) para execução pelos processadores (por exemplo, processadores 1102) e que faz com que os processadores executem qualquer uma ou mais das metodologias aqui divulgadas. O meio legível por computador pode incluir, mas não estar limitado a repositórios de dados na forma de memórias de estado sólido, mídia óptica e mídia magnética. O meio legível por computador não inclui um meio transitório, como um sinal de propagação ou uma onda portadora. Considerações Adicionais
[000107] A descrição anterior das modalidades foi apresentada com o propósito de ilustração; não pretende ser exaustivo ou limitar os direitos de patente às formas precisas divulgadas. Técnicos no assunto podem apreciar que muitas modificações e variações são possíveis à luz da divulgação acima.
[000108] As modalidades de acordo com a invenção são, em particular, divulgadas nas reivindicações anexas direcionadas a um método e um produto de programa de computador, em que qualquer recurso mencionado em uma categoria de reivindicação, por exemplo, método, pode também ser reivindicado em outra categoria de reivindicação, por exemplo, produto de programa de computador, sistema, meio de armazenamento. As dependências ou referências nas reivindicações anexadas são escolhidas apenas por motivos formais. No entanto, qualquer matéria resultante de uma referência deliberada posterior a quaisquer reivindicações anteriores (em particular dependências múltiplas) pode ser reivindicado também, de modo que qualquer combinação de reivindicações e seus recursos sejam divulgados e possam ser reivindicados independentemente das dependências escolhidas nas reivindicações anexas. A matéria que pode ser reivindicada compreende não apenas as combinações de recursos conforme estabelecido nas modalidades divulgadas, mas também qualquer outra combinação de recursos de diferentes modalidades. Vários recursos mencionados nas diferentes modalidades podem ser combinados com a menção explícita de tal combinação ou arranjo em um exemplo de modalidade. Além disso, qualquer uma das modalidades e recursos descritos ou representados neste documento podem ser reivindicados em uma reivindicação separada e/ou em qualquer combinação com qualquer modalidade ou recurso descrito ou representado neste documento ou com qualquer um dos recursos.
[000109] Algumas partes desta descrição descrevem as modalidades em termos de algoritmos e representações simbólicas de operações na informação. Estas operações e descrições algorítmicas, embora descritas funcionalmente, computacionalmente ou logicamente, são entendidas como implementadas por programas de computador ou circuitos elétricos equivalentes, microcódigo ou semelhantes. Além disso, também tem se mostrado conveniente, às vezes, referir- se a esses arranjos de operações como motores, sem perda de generalidade. As operações descritas e seus motores associados podem ser incorporados em software, firmware,
hardware ou qualquer combinação dos mesmos.
[000110] Qualquer uma das etapas, operações ou processos descritos neste documento podem ser realizados ou implementados com um ou mais mecanismos de hardware ou software, sozinhos ou em combinação com outros dispositivos. Em uma modalidade, um motor de software é implementado com um produto de programa de computador que compreende um meio legível por computador contendo código de programa de computador, que pode ser executado por um processador de computador para realizar qualquer uma ou todas as etapas, operações ou processos descritos. O termo “etapas” não impõe ou implica uma ordem particular. Por exemplo, embora esta divulgação possa descrever um processo que inclui várias etapas sequencialmente com setas presentes em um fluxograma, as etapas do processo não precisam ser realizadas pela ordem específica reivindicada ou descrita na divulgação. Algumas etapas podem ser realizadas antes de outras, mesmo que as outras etapas sejam reivindicadas ou descritas primeiro nesta divulgação.
[000111] Em todo este relatório descritivo, instâncias plurais podem implementar componentes, operações ou estruturas descritas como uma única instância. Embora as operações individuais de um ou mais métodos sejam ilustradas e descritas como operações separadas, uma ou mais das operações individuais podem ser realizadas simultaneamente e nada requer que as operações sejam realizadas na ordem ilustrada. Estruturas e funcionalidades apresentadas como componentes separados em configurações de exemplo podem ser implementadas como uma estrutura ou componente combinado. Da mesma forma, estruturas e funcionalidades apresentadas como um único componente podem ser implementadas como componentes separados. Estas e outras variações, modificações, acréscimos e melhorias estão dentro do escopo da matéria aqui. Além disso, o termo "cada" usado no relatório descritivo e nas reivindicações não implica que todos ou todos os elementos em um grupo precisam se ajustar à descrição associada ao termo "cada um". Por exemplo, "cada membro está associado ao elemento A" não significa que todos os membros estão associados a um elemento A. Em vez disso, o termo "cada" implica apenas que um membro (de alguns dos membros), em uma forma singular, está associado a um elemento A.
[000112] Finalmente, a linguagem usada no relatório descritivo foi selecionada principalmente para fins de leitura e instrução, e pode não ter sido selecionada para delinear ou circunscrever os direitos de patente. Pretende- se, portanto, que o escopo dos direitos de patente seja limitado não por esta descrição detalhada, mas sim por quaisquer reivindicações que sejam emitidas em um pedido baseado aqui. Consequentemente, a divulgação das modalidades se destina a ser ilustrativa, mas não limitativa, do escopo dos direitos de patente.
[000113] Os seguintes pedidos são incorporados por referência em sua totalidade para todos os fins: (1) Pedido de Patente dos EUA nº 15/591.099, intitulado "Haplotype Phasing Models", depositado em 19 de outubro de 2015, (2) Pedido de Patente dos EUA nº 15/168.011, intitulado "Discovering Population Structure from Patterns of Identity- By-Descent", depositado em 28 de maio de 2016, (3) Pedido de Patente dos EUA nº 15/209.458, intitulado "Local Genetic
Ethnicity Determination System", depositado em 13 de julho, 2016, e (4) Pedido de Patente dos EUA nº 14/029.765, intitulado "Identifying Ancestral Relationship Using a Continuous stream of Input", depositado em 17 de setembro de
2013.

Claims (20)

REIVINDICAÇÕES
1. Método implementado por computador, caracterizado pelo fato de que compreende: recuperar uma pluralidade de conjuntos de dados genéticos correspondentes a uma pluralidade de indivíduos; gerar um gráfico completo, o gráfico completo compreende uma pluralidade de nós, cada nó representando um dos indivíduos, dois ou mais nós sendo conectados através de bordas, cada borda conectando dois nós e associada a um peso que é derivado da afinidade entre os conjuntos de dados genéticos dos dois indivíduos representados pelos dois nós; filtrar o gráfico completo com base em um ou mais recursos associados às bordas ou aos nós para gerar um gráfico filtrado que compreende um subconjunto de nós; e dividir o subconjunto de nós no gráfico filtrado em uma pluralidade de agrupamentos com base nos pesos das bordas que conectam os nós no subconjunto, cada agrupamento representando uma comunidade genética.
2. Método implementado por computador, de acordo com a reivindicação 1, caracterizado pelo fato de que a afinidade entre os conjuntos de dados genéticos dos dois indivíduos corresponde a um comprimento de segmentos genéticos de identidade por descendência compartilhada (IBD) dos dois indivíduos conforme determinado pela comparação dos conjuntos de dados genéticos dos dois indivíduos.
3. Método implementado por computador, de acordo com a reivindicação 1, caracterizado pelo fato de que a filtragem do gráfico completo é baseada em uma característica das bordas, e em que a característica, para cada borda, corresponde a um período de tempo atribuído a uma média estimada de anos de nascimento de ancestrais comuns dos dois indivíduos representados pelos dois nós conectados pela borda.
4. Método implementado por computador, de acordo com a reivindicação 3, caracterizado pelo fato de que o período de tempo, para pelo menos uma borda, é determinado a partir de um comprimento de segmentos genéticos de identidade por descendência compartilhada (IBD) dos dois indivíduos conforme determinado pela comparação dos conjuntos de dados genéticos dos dois indivíduos.
5. Método implementado por computador, de acordo com a reivindicação 3, caracterizado pelo fato de que o período de tempo, para pelo menos uma borda, é determinado por um modelo de aprendizado de máquina usando um comprimento de segmentos genéticos de identidade por descendência compartilhada (IBD) dos dois indivíduos como uma entrada.
6. Método implementado por computador, de acordo com a reivindicação 5, caracterizado pelo fato de que o treinamento do modelo de aprendizado de máquina compreende: identificar, com base em conjuntos de dados genéticos de usuários, uma pluralidade de pares de usuários com IBD relacionado por um comprimento de compartilhamento de IBD; recuperar dados de árvore genealógica dos pares de usuários; determinar que cada par de usuários compartilha um ou mais ancestrais comuns; identificar os ancestrais comuns que têm dados de anos de nascimento disponíveis; gerar conjuntos de treinamento compreendendo o período de tempo dos anos de nascimento do ancestral comum e a duração do compartilhamento de IBD; e treinar o modelo de aprendizado de máquina usando os conjuntos de treinamento.
7. Método implementado por computador, de acordo com a reivindicação 1, caracterizado pelo fato de que a filtragem do gráfico completo é baseada em uma característica dos nós, e em que a característica, para cada nó, corresponde ao conjunto de dados genéticos do indivíduo representado pelo nó, o conjunto de dados genéticos indicando que um comprimento de segmentos genéticos do indivíduo que são herdados de uma etnia alvo excede um limite.
8. Método implementado por computador, de acordo com a reivindicação 7, caracterizado pelo fato de que o comprimento dos segmentos genéticos do indivíduo que são herdados da etnia alvo é determinado comparando o conjunto de dados genéticos a uma ou mais amostras de painel de referência da etnia alvo.
9. Método implementado por computador, de acordo com a reivindicação 1, caracterizado pelo fato de que o gráfico filtrado é um primeiro gráfico filtrado, e em que a filtragem do gráfico completo é baseada em uma primeira etnia alvo apresentada em composições étnicas de indivíduos, e em que o método implementado por computador compreende ainda: filtrar o gráfico completo com base em uma segunda etnia alvo apresentada em composições étnicas de indivíduos para gerar um segundo gráfico filtrado, em que pelo menos um nó no segundo gráfico filtrado também está presente no primeiro gráfico filtrado.
10. Método implementado por computador, de acordo com a reivindicação 1, caracterizado pelo fato de que dividir o subconjunto de nós no gráfico filtrado em uma pluralidade de agrupamentos compreende: definir uma pluralidade de partições no gráfico filtrado, cada partição representando uma comunidade genética candidata; determinar uma métrica para as partições, a métrica sendo um valor que aumenta com os pesos das bordas conectando dois nós que são classificados em uma mesma partição e que diminui com os pesos das bordas conectando os nós em uma partição aos nós em outra partição; e ajustar a pluralidade de partições para aumentar o valor da métrica, as partições ajustadas sendo os agrupamentos.
11. Método implementado por computador, caracterizado pelo fato de que compreende: recuperar uma pluralidade de conjuntos de dados genéticos correspondentes a uma pluralidade de indivíduos, a pluralidade de indivíduos incluindo um indivíduo misto; gerar um gráfico, o gráfico compreende uma pluralidade de nós, cada nó representando um dos indivíduos, dois ou mais nós sendo conectados através de bordas, cada borda conectando dois nós e associada a um peso que é derivado da afinidade entre os conjuntos de dados genéticos dos dois indivíduos representados pelos dois nós, a pluralidade de nós incluindo um nó alvo que representa o indivíduo misto; dividir os nós no gráfico em uma pluralidade de agrupamentos com base nos pesos das bordas que conectam os nós, a pluralidade de agrupamentos representando uma pluralidade de comunidades genéticas; incluir o nó alvo em um ou mais agrupamentos que representam uma ou mais comunidades genéticas;
dividir, para pelo menos um dos agrupamentos em que o nó alvo está incluído, o pelo menos um dos agrupamentos em uma pluralidade de subagrupamentos, o nó alvo sendo classificado em um ou mais subagrupamentos, em que o nó alvo sendo classificado em um ou mais subagrupamentos diferentes representa o indivíduo misto sendo classificado em uma ou mais subcomunidades genéticas diferentes de uma ou mais origens étnicas.
12. Método implementado por computador, de acordo com a reivindicação 11, caracterizado pelo fato de que incluir o nó alvo em um ou mais agrupamentos compreende: determinar se o nó alvo tem uma estabilidade em relação a um agrupamento alvo excedendo um limite; e incluir o nó alvo no agrupamento de destino em resposta à estabilidade excedendo o limite.
13. Método implementado por computador, de acordo com a reivindicação 12, caracterizado pelo fato de que determina se o nó alvo tem estabilidade em relação ao agrupamento alvo excedendo o limite compreende: gerar uma pluralidade de subconjuntos de nós, cada subconjunto de nós amostrados a partir da pluralidade de nós no gráfico, cada subconjunto de nós representando um gráfico amostrado; dividir cada um dos gráficos amostrados em uma segunda pluralidade de agrupamentos, um da segunda pluralidade de agrupamentos correspondendo ao agrupamento alvo; determinar, para os gráficos amostrados nos quais o nó alvo é amostrado, um número de vezes que o nó alvo é classificado no agrupamento alvo; derivar a estabilidade do nó alvo em relação ao agrupamento alvo a partir do número de vezes; e comparar a estabilidade do nó alvo com o limite.
14. Método implementado por computador, de acordo com a reivindicação 11, caracterizado pelo fato de que dividir os nós no gráfico em uma pluralidade de agrupamentos compreende: definir uma pluralidade de partições no gráfico, cada partição representando uma comunidade genética candidata; determinar uma métrica para as partições, a métrica sendo um valor que aumenta com os pesos das bordas conectando dois nós que são classificados em uma mesma partição e que diminui com os pesos das bordas conectando os nós em uma partição aos nós em outra partição; e ajustar a pluralidade de partições para aumentar o valor da métrica, as partições ajustadas sendo os agrupamentos.
15. Método implementado por computador, de acordo com a reivindicação 11, caracterizado pelo fato de que dividir os nós no gráfico em uma pluralidade de agrupamentos usa um algoritmo de agrupamento que é o mesmo que o de dividir, para cada agrupamento no qual o nó alvo está incluído, o agrupamento em uma pluralidade de subagrupamentos.
16. Método implementado por computador, de acordo com a reivindicação 11, caracterizado pelo fato de que a afinidade entre os conjuntos de dados genéticos dos dois indivíduos corresponde a um comprimento de segmentos genéticos de identidade por descendência compartilhada (IBD) dos dois indivíduos conforme determinado pela comparação dos conjuntos de dados genéticos dos dois indivíduos.
17. Método implementado por computador, de acordo com a reivindicação 11, caracterizado pelo fato de que o gráfico é um gráfico não direcionado parcialmente conectado.
18. Método implementado por computador, caracterizado pelo fato de que compreende: recuperar um conjunto de dados genéticos de um indivíduo alvo; recuperar uma pluralidade de amostras de painel de referência, cada amostra do painel de referência representando um indivíduo de painel de referência, pelo menos alguns dos indivíduo de painel de referência gerados a partir de uma rede de identidade por descendência (IBD) filtrada que é filtrada de uma rede IBD completa, a rede IBD compreendendo uma pluralidade de nós, cada nó representando um indivíduo, dois ou mais nós sendo conectados através de bordas, cada borda conectando dois nós e associada a um peso que é derivado da afinidade IBD entre os dois indivíduos representados pelos dois nós, a rede IBD filtrada incluindo um subconjunto de nós filtrados com base em um ou mais recursos das bordas ou nós; gerar uma pluralidade de afinidades IBD associadas com o indivíduo alvo, cada afinidade IBD determinada pela comparação do conjunto de dados genéticos do indivíduo alvo com uma das amostras de painel de referência; recuperar um classificador de comunidade, o classificador de comunidade compreendendo um modelo de aprendizado de máquina configurado para determinar se um indivíduo pertence a uma comunidade genética; gerar um conjunto de recursos associados ao indivíduo alvo, o conjunto de recursos gerado com base na pluralidade de afinidades IBD; inserir o conjunto de características no classificador de comunidade para determinar se o indivíduo alvo pertence à comunidade genética; e gerar um relatório resumindo uma ou mais comunidades genéticas às quais o indivíduo alvo pertence.
19. Método implementado por computador, de acordo com a reivindicação 18, caracterizado pelo fato de que a rede IBD filtrada é filtrada com base em uma característica das bordas, e a característica, para cada borda, corresponde a um período de tempo atribuído a uma média estimada de anos de nascimento de ancestrais comuns dos dois indivíduos representados pelos dois nós conectados pela borda.
20. Método implementado por computador, de acordo com a reivindicação 18, caracterizado pelo fato de que a rede IBD filtrada é filtrada com base em uma característica dos nós, e a característica, para cada nó, corresponde ao conjunto de dados genéticos do indivíduo representado pelo nó, o conjunto de dados genéticos indicando que um comprimento de segmentos genéticos do indivíduo que são herdados de uma etnia alvo excede um limite.
BR112020026029-0A 2018-06-19 2019-06-14 filtragem de redes genéticas para descobrir populações de interesse BR112020026029A2 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862687177P 2018-06-19 2018-06-19
US62/687,177 2018-06-19
PCT/IB2019/054975 WO2019243969A1 (en) 2018-06-19 2019-06-14 Filtering genetic networks to discover populations of interest

Publications (1)

Publication Number Publication Date
BR112020026029A2 true BR112020026029A2 (pt) 2021-03-23

Family

ID=68983781

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112020026029-0A BR112020026029A2 (pt) 2018-06-19 2019-06-14 filtragem de redes genéticas para descobrir populações de interesse

Country Status (11)

Country Link
US (2) US11211149B2 (pt)
EP (1) EP3811366A4 (pt)
JP (1) JP2021530026A (pt)
CN (1) CN112585688A (pt)
AU (1) AU2019289227A1 (pt)
BR (1) BR112020026029A2 (pt)
CA (1) CA3104057A1 (pt)
IL (1) IL279462A (pt)
MX (1) MX2020014199A (pt)
NZ (1) NZ772029A (pt)
WO (1) WO2019243969A1 (pt)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3323067B1 (en) * 2015-07-13 2022-07-06 Ancestry.com DNA, LLC Local genetic ethnicity determination system
US11113852B2 (en) 2016-02-29 2021-09-07 Oracle International Corporation Systems and methods for trending patterns within time-series data
US10885461B2 (en) 2016-02-29 2021-01-05 Oracle International Corporation Unsupervised method for classifying seasonal patterns
US11537940B2 (en) * 2019-05-13 2022-12-27 Oracle International Corporation Systems and methods for unsupervised anomaly detection using non-parametric tolerance intervals over a sliding window of t-digests
US11887015B2 (en) 2019-09-13 2024-01-30 Oracle International Corporation Automatically-generated labels for time series data and numerical lists to use in analytic and machine learning systems
CN114009067B (zh) * 2020-02-18 2023-04-04 格步计程车控股私人有限公司 将地理区域划分为用于动态定价的逻辑区域的系统和方法
US11893256B2 (en) * 2020-03-11 2024-02-06 International Business Machines Corporation Partitioning of deduplication domains in storage systems
US20230161749A1 (en) * 2021-11-24 2023-05-25 Ancestry.Com Dna, Llc Scoring method for matches based on age probability
US11693958B1 (en) * 2022-09-08 2023-07-04 Radiant Security, Inc. Processing and storing event data in a knowledge graph format for anomaly detection
US20240120028A1 (en) * 2022-10-05 2024-04-11 23Andme, Inc. Learning Architecture and Pipelines for Granular Determination of Genetic Ancestry

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050192008A1 (en) 1999-03-31 2005-09-01 Nimesh Desai System and method for selective information exchange
US20020019746A1 (en) 2000-03-16 2002-02-14 Rienhoff Hugh Y. Aggregating persons with a select profile for further medical characterization
US20040083226A1 (en) 2000-05-31 2004-04-29 Alan Eaton System, mehtods, and data structures for transmitting genealogical information
US6570567B1 (en) 2000-05-31 2003-05-27 Alan Eaton System and method for using a graphical interface for the presentation of genealogical information
AU2001290545A1 (en) 2000-08-22 2002-03-04 Varro Technologies, Inc. Method and system for sharing biological information
US20030113727A1 (en) 2000-12-06 2003-06-19 Girn Kanwaljit Singh Family history based genetic screening method and apparatus
CN1496412B (zh) 2001-03-14 2012-08-08 香港中文大学 用于评估中国血统的人种发展2型糖尿病危险性的方法和组合物
US7957907B2 (en) 2001-03-30 2011-06-07 Sorenson Molecular Genealogy Foundation Method for molecular genealogical research
US20020143578A1 (en) 2001-04-02 2002-10-03 Cole Louis Scott Interactives system and method for recording and assessing a person's inherited risk for a range of diseases
WO2003010537A1 (en) 2001-07-24 2003-02-06 Curagen Corporation Family based tests of association using pooled dna and snp markers
US7062752B2 (en) 2001-08-08 2006-06-13 Hewlett-Packard Development Company, L.P. Method, system and program product for multi-profile operations and expansive profile operation
US20080154566A1 (en) 2006-10-02 2008-06-26 Sorenson Molecular Genealogy Foundation Method and system for displaying genetic and genealogical data
US8855935B2 (en) 2006-10-02 2014-10-07 Ancestry.Com Dna, Llc Method and system for displaying genetic and genealogical data
US20040126840A1 (en) 2002-12-23 2004-07-01 Affymetrix, Inc. Method, system and computer software for providing genomic ontological data
US20040093334A1 (en) 2002-11-13 2004-05-13 Stephen Scherer Profile management system
US20050147947A1 (en) 2003-12-29 2005-07-07 Myfamily.Com, Inc. Genealogical investigation and documentation systems and methods
US7249129B2 (en) 2003-12-29 2007-07-24 The Generations Network, Inc. Correlating genealogy records systems and methods
US7302261B2 (en) 2004-01-23 2007-11-27 Samsung Electronics Co., Ltd. Apparatus and method using release order messages to change the slot cycle index of a selected mobile station in a wireless network
US8554876B2 (en) 2004-01-23 2013-10-08 Hewlett-Packard Development Company, L.P. User profile service
US20070260599A1 (en) 2004-09-15 2007-11-08 Mcguire Heather A Social network analysis
US20070050354A1 (en) 2005-08-18 2007-03-01 Outland Research Method and system for matching socially and epidemiologically compatible mates
US8285486B2 (en) 2006-01-18 2012-10-09 Dna Tribes Llc Methods of determining relative genetic likelihoods of an individual matching a population
US7818281B2 (en) 2006-02-14 2010-10-19 Affymetrix, Inc. Computer software for visualizing recombination events in a group of individuals from recombination breakpoints and assignments in high density SNP genotyping data by generating a color-coded view for each individual chromosome and a whole genome view for the group
US8271201B2 (en) 2006-08-11 2012-09-18 University Of Tennesee Research Foundation Methods of associating an unknown biological specimen with a family
US7984421B2 (en) 2006-10-03 2011-07-19 Ning, Inc. Web application cloning
US20080113727A1 (en) 2006-11-13 2008-05-15 Bally Gaming, Inc. Game and method having a multiple-progressive wheel component
US7844604B2 (en) 2006-12-28 2010-11-30 Yahoo! Inc. Automatically generating user-customized notifications of changes in a social network system
US20090030985A1 (en) 2007-07-24 2009-01-29 Zheng Yuan Family-based online social networking
US8510057B1 (en) 2007-10-15 2013-08-13 23Andme, Inc. Summarizing an aggregate contribution to a characteristic for an individual
WO2009051749A1 (en) 2007-10-15 2009-04-23 23Andme, Inc. Genetic comparisons between grandparents and grandchildren
US9336177B2 (en) 2007-10-15 2016-05-10 23Andme, Inc. Genome sharing
JP5192352B2 (ja) 2008-10-30 2013-05-08 株式会社日立製作所 記憶装置及びデータ格納領域管理方法
US8170805B2 (en) * 2009-02-06 2012-05-01 Syngenta Participations Ag Method for selecting statistically validated candidate genes
US9798855B2 (en) 2010-01-07 2017-10-24 Affymetrix, Inc. Differential filtering of genetic data
US20120054190A1 (en) 2010-08-27 2012-03-01 Aiv Technology Llc Electronic family tree generation and display system
US20130297221A1 (en) 2011-06-01 2013-11-07 The Board Of Trustees Of The Leland Stanford Junior University Method and System for Accurate Construction Of Long Range Haplotype
US8769438B2 (en) 2011-12-21 2014-07-01 Ancestry.Com Operations Inc. Methods and system for displaying pedigree charts on a touch device
US10025877B2 (en) 2012-06-06 2018-07-17 23Andme, Inc. Determining family connections of individuals in a database
US9116882B1 (en) 2012-08-02 2015-08-25 23Andme, Inc. Identification of matrilineal or patrilineal relatives
US9330418B2 (en) 2012-09-14 2016-05-03 Ancestry.Com Operations Inc. System and method for creating a family tree data structure
US20140108527A1 (en) 2012-10-17 2014-04-17 Fabric Media, Inc. Social genetics network for providing personal and business services
US9836576B1 (en) 2012-11-08 2017-12-05 23Andme, Inc. Phasing of unphased genotype data
US9213947B1 (en) 2012-11-08 2015-12-15 23Andme, Inc. Scalable pipeline for local ancestry inference
EP2973130B1 (en) 2013-03-15 2021-11-24 Ancestry.com DNA, LLC Family networks
WO2016025818A1 (en) * 2014-08-15 2016-02-18 Good Start Genetics, Inc. Systems and methods for genetic analysis
MX2017004980A (es) * 2014-10-17 2017-12-07 Ancestry Com Dna Llc Genomas humanos ancestrales.
EP3268870A4 (en) * 2015-03-11 2018-12-05 Ayasdi, Inc. Systems and methods for predicting outcomes using a prediction learning model
EP3304385A4 (en) * 2015-05-30 2018-12-12 Ancestry.com DNA, LLC Discovering population structure from patterns of identity-by-descent
US10957422B2 (en) * 2015-07-07 2021-03-23 Ancestry.Com Dna, Llc Genetic and genealogical analysis for identification of birth location and surname information

Also Published As

Publication number Publication date
MX2020014199A (es) 2021-05-12
JP2021530026A (ja) 2021-11-04
CA3104057A1 (en) 2019-12-26
NZ772029A (pt) 2021-01-29
WO2019243969A1 (en) 2019-12-26
EP3811366A4 (en) 2022-03-23
US20220076789A1 (en) 2022-03-10
AU2019289227A1 (en) 2021-02-11
CN112585688A (zh) 2021-03-30
US11211149B2 (en) 2021-12-28
IL279462A (en) 2021-01-31
US20210257060A1 (en) 2021-08-19
EP3811366A1 (en) 2021-04-28

Similar Documents

Publication Publication Date Title
US11211149B2 (en) Filtering genetic networks to discover populations of interest
US20200118647A1 (en) Phenotype trait prediction with threshold polygenic risk score
US20210134387A1 (en) Ancestry inference based on convolutional neural network
AU2020409017B2 (en) Linking individual datasets to a database
US11887697B2 (en) Graphical user interface displaying relatedness based on shared DNA
AU2020326389B2 (en) Clustering of matched segments to determine linkage of dataset in a database
AU2019357270A1 (en) Enrichment of traits and association with population demography
US20210104296A1 (en) Prediction of phenotypes using recommender systems
AU2021207383B2 (en) Ancestry inference based on convolutional neural network
US20240078265A1 (en) Segment-specific shared data inheritance determination
US20240054121A1 (en) Data characteristics associated with typical metadata
US20240061886A1 (en) Catalog-based data inheritance determination
US20230335217A1 (en) Accelerated hidden markov models for genotype analysis
US20230342364A1 (en) Filtering individual datasets in a database
US20230161749A1 (en) Scoring method for matches based on age probability

Legal Events

Date Code Title Description
B11A Dismissal acc. art.33 of ipl - examination not requested within 36 months of filing
B11Y Definitive dismissal - extension of time limit for request of examination expired [chapter 11.1.1 patent gazette]