1 pontos por GN⁺ 2024-09-15 | 1 comentários | Compartilhar no WhatsApp
  • À medida que dados de pesquisas em genética são tratados em planilhas, a formatação automática do Excel altera nomes de genes e acaba levando a erros em artigos
  • Esse tipo de erro foi encontrado em 1 de cada 5 artigos de genética em periódicos científicos de ponta, revelando fragilidades no processo de validação de dados
  • A causa principal é que nomes de genes são convertidos automaticamente pelo Excel em datas ou valores numéricos, fazendo com que o valor digitado e o valor salvo sejam diferentes
  • Abreviações que podem ser interpretadas como datas, como SEPT2, são alteradas para 2-SEP e podem ser salvas como uma data, como 2 de setembro de 2016
  • Para continuar usando o Excel, é necessário definir as colunas como formato de texto e conferir os resultados manualmente; o Google Sheets pode ser uma alternativa para evitar o mesmo erro de conversão automática

Erros em nomes de genes causados pela formatação automática do Excel

  • O recurso de formatação automática do Microsoft Excel gerou erros em dados de artigos de genética, e uma nova análise constatou que 1 em cada 5 artigos de genética em periódicos científicos de ponta contém esse tipo de erro
  • O problema ocorre quando a planilha interpreta alguns nomes de genes como datas do calendário ou valores numéricos
  • O usuário acredita ter digitado um nome de gene, mas os dados salvos podem ser alterados para outro valor

Caso representativo

  • O gene Septin-2 é frequentemente abreviado como SEPT2
  • O Excel pode transformar SEPT2 em 2-SEP e salvá-lo como a data 2 de setembro de 2016
  • Essa conversão pode comprometer a confiabilidade de listas de genes ou dados de análise incluídos em artigos

Formas de lidar com o problema e alternativas

  • Se continuar usando o Excel, é preciso definir a coluna correspondente como formato de texto e verificar cuidadosamente se não houve conversão automática
  • O Google Sheets pode ser uma alternativa para evitar o mesmo tipo de erro de conversão automática, pois salva nomes de genes exatamente como foram inseridos
  • A análise relacionada foi publicada na Genome Biology

1 comentários

 
GN⁺ 2024-09-15
Comentários do Hacker News
  • É realmente irritante o Excel converter automaticamente em números strings que parecem notação científica. E nem dá para desativar
    Em grandes exportações de dados, entram valores como códigos de localização únicos; em algum momento, alguns começam a parecer estranhos, e não é só a exibição que mudou: o próprio conteúdo da célula foi alterado pelo Excel sem perguntar
    Não faz sentido passar anos sem corrigir esses problemas pequenos, mas que continuam fazendo as pessoas tropeçarem. A Microsoft costuma dizer que “só trabalha no que afeta muitos clientes”, mas, se continuam fechando relatórios de bug, podem sempre dizer “afeta só uma pessoa” e fechar de novo
    Se não conseguem reproduzir, deveriam pelo menos adicionar depuração para a próxima vez, ou tratar direito deixando um motivo rastreável, como “há poucas solicitações, mas mudar isso pode quebrar outras áreas ou a compatibilidade retroativa

    • Sim, esse último motivo é o ponto central. É por causa da compatibilidade retroativa, inclusive com bugs
      Inúmeras macros, scripts VBA e fluxos de trabalho criados por usuários não técnicos dependem sutilmente desse comportamento. É parecido com as esquisitices do JavaScript: se mudar, coisas antigas em algum lugar quebram
      A Microsoft poderia dizer isso de forma mais direta, mas obviamente vai querer evitar essa discussão
    • Há algum motivo para não especificar o tipo de dado ao importar? Se for um formato de arquivo de dados usado com frequência, também dá para automatizar a importação com VBA e especificar o tipo de dado correto
    • Sofro uma ou duas vezes por semana com o problema de strings que parecem notação científica serem convertidas automaticamente em números. É de enlouquecer
    • Não entendo por que ainda usam o MS Office quando o LibreOffice existe de graça
  • Thread popular anterior, de agosto de 2020: https://news.ycombinator.com/item?id=24070385
    Sobre “cientistas mudarem nomes de genes humanos para que o MS Excel não os interprete erroneamente como datas”
    Como detalhe relacionado, em 2023 a Microsoft lançou uma atualização para o Excel que impede o problema de conversão de símbolos de genes em datas, e também existe o Gene Updater, que corrige e atualiza automaticamente nomes de genes reconhecidos incorretamente pelo Excel
    https://www.pcmag.com/news/microsoft-finally-fixes-excel-gli...
    https://www.ncbi.nlm.nih.gov/pmc/articles/PMC9325790/

  • É preciso conhecer bem as ferramentas. Ao ver um título desses, fico triste com o estado do mundo e com os obstáculos que impedem o avanço, fico irritado com a tolice de projetar todas as ferramentas para o usuário mais preguiçoso e, ao mesmo tempo, acho até engraçado o fracasso do software proprietário e de seus usuários
    A ferramenta que você usa pode ser péssima. Se for esse o caso, você precisa lidar diretamente com essa ferramenta ruim, aprender uma ferramenta melhor, ou trazer um profissional de computação competente que consiga navegar pelo ecossistema de ferramentas e entregar resultados
    Ainda nem toquei no problema de validação dos resultados. Em um ambiente de pesquisa financiado com dinheiro público, pagar à Microsoft para usar ferramentas proprietárias e acabar estragando tudo é uma situação amarga

    • Se você trabalha nessa área, vê que uma parte considerável do problema está no fato de as editoras exigirem pequenos conjuntos de dados em formato xls na submissão de artigos
      Então alguém em algum ponto da cadeia — autor correspondente, editor, equipe da revista etc. — abre o arquivo no Excel e salva de novo. Não é que bioinformatas façam a análise no Excel
    • Exato, ferramentas não são feitas para os usuários, mas para os criadores das ferramentas. Todo o resto precisa se adaptar
  • Um dos motivos pelos quais deixei de usar planilhas no ensino foi que elas continuaram carregando um bug de precedência em operações aritméticas. Aqui, “bug” quer dizer que isso contradiz uma convenção matemática antiga
    Se você digitar -3^2 em uma célula e pressionar Enter, a planilha dirá 9. Mas, em matemática, a exponenciação tem precedência sobre o menos unário, então deveria ser -9. Por exemplo, se você pedir a um aluno para desenhar o gráfico de y = -x^2, ele deve desenhar uma parábola voltada para baixo
    Não consigo verificar no Excel mais recente, mas era assim no Excel 97, e o LibreOffice Calc atual também retorna 9. Provavelmente alguma planilha inicial implementou a precedência de forma errada, e depois todas as outras seguiram por compatibilidade
    Por outro lado, maxima e Python dão ambos -9. Fico curioso se pessoas que copiam fórmulas de livros de matemática para planilhas também acabam caindo nesse problema

    • Esse problema parece um subproduto do operador binário inventado ^. Em matemática, expoente é sobrescrito, então não é um operador binário, mas parte do termo
      Em texto de computador, criou-se um operador binário para algo que não podia ser representado diretamente; o acento circunflexo é comum e apareceu primeiro, mas ** é outro exemplo
      Tradicionalmente, o menos unário é visto como parte do termo, então tem precedência maior que operadores binários. Mas, ao transformar expoentes em operadores e ainda manter essa lógica, a coisa se complica
      Um problema parecido aparece na divisão. / é um operador binário criado em ambientes sem um símbolo de divisão real e, originalmente, deveria representar a barra horizontal de uma fração. A barra de fração agrupa toda a expressão dos dois lados, mas, ao substituí-la simplesmente por /, ela passa a ser afetada por regras de precedência e pode produzir resultados errados
    • Em C, -a*b é analisado como (-a)*b, mas c-a*b é analisado como c-(a*b). O menos unário tem precedência maior que operadores binários
      Normalmente é possível mover o sinal, então isso passa despercebido, mas surgem problemas em casos-limite relacionados a comportamento indefinido
      0 - INT_MIN/2 é analisado como 0 - (INT_MIN / 2) e fica tudo bem, mas -INT_MIN/2 é analisado como (-INT_MIN) / 2 e não fica tudo bem. Pela natureza da representação em complemento de 2, INT_MIN pode não ter inverso aditivo
    • Isso soa como procurar pelo em ovo demais para justificar não usar um programa
      Sei que existem duas convenções para esse problema, então, para obter o comportamento desejado, simplesmente uso parênteses
      Eu era bom em matemática na época da escola, mas não sabia que havia pessoas que achavam que -3^2 deveria ser -9; eu via isso apenas como uma característica estranha de algumas calculadoras ou programas. Também fico curioso sobre como essa expressão é lida em voz alta. Se você pensa em “menos três ao quadrado”, (-3)^2 parece natural; para -9 fazer sentido, teria de ser lida como “o negativo de três ao quadrado”
      No ensino fundamental, aprendemos a digitar expressões assim na calculadora para ver resultados diferentes do esperado, e depois disso eu só pensei “melhor usar parênteses”. Preferir uma convenção de precedência um pouco diferente não é motivo para jogar fora uma calculadora nem para dizer aos outros que não a usem
    • No fórum do Nim também houve uma conversa parecida. No Nim, -2^2=4, mas 0-2^2=-4, porque o primeiro é tratado como um - unário com precedência maior que a exponenciação
      Dá para argumentar que isso é tecnicamente correto, mas é muito contraintuitivo para alguém com formação comum em engenharia ou ciências tentando fazer tarefas normais. Acho que isso pode fazer muita gente deixar de usar Nim
    • No Excel, o operador de exponenciação é apenas uma abreviação da função POWER. Desse ponto de vista, mesmo que possa estar matematicamente errado, considero correto como comportamento do Excel
  • O problema do Excel é tentar fazer quase tudo com uma única ferramenta de software: edição e apresentação no front-end, análise, modelagem semântica e até armazenamento de dados/banco de dados
    A maioria dos engenheiros razoáveis vê algo errado nessa abordagem. Mas a maioria dos usuários comuns de computador acha que computação deveria ser assim mesmo
    Às vezes eu também me pergunto por que abro o Excel voluntariamente para certas tarefas. Ainda assim, apesar de todas as críticas, para mim o Excel já ultrapassou o limiar do efeito Lindy e continuará existindo
    https://en.wikipedia.org/wiki/Lindy_effect

    • O custo de desenvolvimento para criar uma solução “um pouco melhor” que uma planilha complexa do Excel costuma ser astronômico
      Muitas startups de tecnologia são basicamente “substituir por uma ferramenta dedicada o que as pessoas faziam no Excel”
    • Meu problema com o Excel é que eu gosto demais dele. Sei que não deveria, mas gosto
      Ele acerta em cheio o ponto perfeito entre dados estruturados e não estruturados, então é conveniente simplesmente preencher células e ver o que acontece
      O motivo de dizerem “você não deveria fazer isso” é que a saída de uma solução que funciona bem para uma abordagem devidamente produtizada, baseada em código, pode ser muito dolorosa
    • O Excel satisfaz a Lei de Zawinski, porque também consegue enviar e-mails com scripts VBA
      http://www.catb.org/jargon/html/Z/Zawinskis-Law.html
    • Só que, por ser software proprietário, um dia a manutenção será encerrada e ele deixará de funcionar. Mas planilhas em geral se enquadram no efeito Lindy, e o software de código aberto as manterá vivas pelos próximos séculos
  • Em alemão, existe um ditado: “um mau trabalhador sempre culpa suas ferramentas”
    O Excel tem muitas esquisitices, mas ainda sou grato por sua existência pelo fato de permitir juntar números rapidamente e ainda alterar os valores de entrada das fórmulas

    • Ao mesmo tempo, em design de experiência do usuário existe a máxima não culpe o usuário
      Pelo menos na época da matéria, não havia como desativar o recurso que convertia automaticamente certas strings, como SEPT2, em datas. Se ao menos houvesse uma configuração para desligar isso, muitos erros cometidos por pesquisadores trabalhando tarde da noite ou correndo contra prazos poderiam ter sido evitados
      Há claramente um ponto em que usuários de ferramentas precisam se esforçar para aprender a melhor forma de usá-las. Mas, do lado dos desenvolvedores, algum esforço também pode evitar erros comuns e economizar muito tempo dos usuários
    • Um trabalhador desajeitado culpa a ferramenta, mas ninguém consegue escrever a Bíblia em um selo postal usando uma cenoura
    • Há uma nuance frequentemente ignorada nesse provérbio. Ele significa não culpar “suas próprias ferramentas”
      Não todas as ferramentas. Não uma ferramenta imposta por um padrão industrial antigo ou por convenção, nem uma ferramenta idiota que você jamais usaria se tivesse escolha
      O Excel também não inventou as planilhas. Mesmo sem o Excel, as pessoas teriam usado algo como um sucessor do WhateverCalc daquela época, e o Excel apenas acrescentou coisas inúteis a isso
    • Acho que aquilo pelo qual devemos ser gratos aqui não é o Excel, mas a existência de aplicativos de planilha
      https://simple.wikipedia.org/wiki/Spreadsheet
    • Em polonês, existe o ditado: “uma bailarina desajeitada é atrapalhada pela barra da saia”
  • Por que diabos não é possível desativar o reconhecimento automático de datas? Bastaria colocar uma caixa de seleção nas configurações para que eu, como usuário, pudesse dizer ao Excel para não fazer essa besteira
    Existe alguém capaz de defender, de forma irrefutável, que isso deve ficar sempre ativado?

    • Colocar uma caixa de seleção enterrada nas configurações aumenta o número de caminhos pelos quais as coisas podem dar errado
      Qual é o valor padrão? O padrão muda de uma versão para outra? Como manter a consistência entre computadores e ambientes de instalação diferentes? E se você realmente precisar desse recurso na hora?
      Isso me lembra exportação de CSV. Não uso Windows há 10 anos, mas lembro que, para mudar a forma de exportar números decimais, era preciso alterar o locale e reiniciar o computador. Fazer isso só para mudar uma configuração do Excel é insanidade. Espalhar patches de caixas de seleção por toda parte não é muito diferente disso
    • Além da opção de definir todas as células como texto, agora foi adicionada uma caixa de seleção para esse problema
      https://insider.microsoft365.com/en-us/blog/control-data-con...
  • Há duas semanas passei por algo parecido no trabalho. Ao raspar arquivos de log, escrevi um script em awk que convertia timestamps HH:MM:SS.uuuuuu para nanossegundos desde o epoch, para que outra ferramenta pudesse consumi-los
    Mas eu não sabia que o awk usa ponto flutuante internamente para números, e a função de conversão arredondou o resultado de forma errada, arruinando a análise posterior de um jeito difícil de entender
    Para piorar, o mesmo problema reapareceu quando eu estava folheando os dados no Visidata, embora houvesse uma solução alternativa simples da qual não me lembro exatamente

  • No trabalho, já passei várias vezes pelo problema de o Excel alterar entradas numéricas por causa de formatos de locale diferentes, e muitas vezes perdi horas até descobrir que a causa era o Excel
    Valores como números de identificação civil ou números de telefone também são tipos completamente inconvenientes para o Excel. São usos muito mais comuns do que genes, então deveriam estar mais próximos dos casos de uso padrão do Excel, mas ele ainda os estraga
    Mesmo em 2024, abrir um arquivo CSV no Excel não é uma tarefa simples que deveria se resumir a um duplo clique; é algo excessivamente complicado. Outros programas de planilha lidam com arquivos CSV com muito mais facilidade
    O pior é que o Excel geralmente é usado por usuários não técnicos, e esse comportamento peculiar é mal interpretado, desperdiçando tempo repetidamente

    • Minha frustração com o Excel no trabalho não vem tanto do Excel em si, mas do fato de as pessoas quebrarem, apagarem, não entenderem ou mexerem em fórmulas para “melhorá-las”, e o resultado final virar lixo
      Mas, na maior parte das vezes, a culpa é minha por não usar bem o suficiente os recursos de proteção e bloqueio. Também sei que notas explicativas são ignoradas
      Por isso, em arquivos compartilhados, quase sempre deixei um backup inicial vazio e mantive separado o arquivo que será realmente usado, o que amenizou um pouco o problema
  • Também é interessante o artigo de 2016 sobre o mesmo tema, “Gene name errors are widespread in the scientific literature”
    https://genomebiology.biomedcentral.com/articles/10.1186/s13...
    Segundo o artigo, o problema do software Excel converter por engano símbolos de genes em datas e números de ponto flutuante foi descrito pela primeira vez em 2004. Por exemplo, símbolos de genes como SEPT2 e MARCH1 são convertidos, por padrão, em 2-Sep e 1-Mar, respectivamente