- Genetik araştırma verileri elektronik tablolarda işlenirken Excel otomatik biçimlendirme özelliği gen adlarını değiştirerek makale hatalarına yol açıyor
- Üst düzey bilim dergilerindeki genetik makalelerin 5’te 1’inde bu tür hatalar bulundu ve bu durum veri doğrulama sürecindeki zayıflığı ortaya koydu
- Temel neden, gen adlarının Excel’de tarih ya da sayısal değerlere otomatik dönüştürülmesi ve bunun girilen değer ile kaydedilen değerin farklılaşmasına yol açması
- SEPT2 gibi tarih olarak yorumlanabilecek kısaltmalar
2-SEPbiçimine dönüşüyor ve 2 Eylül 2016 gibi bir tarih değeri olarak kaydedilebiliyor - Excel kullanılmaya devam edilecekse sütunlar metin biçiminde ayarlanmalı ve sonuçlar elle kontrol edilmeli; Google Sheets ise aynı otomatik dönüştürme hatasından kaçınmak için bir alternatif olabilir
Excel otomatik biçimlendirmenin yol açtığı gen adı hataları
- Microsoft Excel’in otomatik biçimlendirme özelliği genetik makale verilerinde hatalar oluşturdu; yeni bir analiz, üst düzey bilim dergilerindeki genetik makalelerin 5’te 1’inde bu tür hataların yer aldığını doğruladı
- Sorun, elektronik tablonun bazı gen adlarını takvim tarihi ya da sayısal değer olarak yorumlamasıyla ortaya çıkıyor
- Kullanıcılar gen adını girdiklerini düşünse de kaydedilen veri farklı bir değere dönüşebiliyor
Temsilî örnek
- Septin-2 adlı gen genellikle SEPT2 olarak kısaltılıyor
- Excel, SEPT2 ifadesini
2-SEPolarak değiştirip bunu 2 Eylül 2016 tarihi olarak kaydedebiliyor - Bu tür dönüşümler, makalelerde yer alan gen listelerinin ve analiz verilerinin güvenilirliğini sarsabiliyor
Önleme yöntemleri ve alternatifler
- Excel kullanılmaya devam edilecekse ilgili sütunlar metin biçimi olarak ayarlanmalı ve otomatik dönüşüm olup olmadığı dikkatle kontrol edilmeli
- Google Sheets, gen adlarını girildiği gibi sakladığı için aynı tür otomatik dönüştürme hatasından kaçınmak adına bir alternatif olabilir
- İlgili analiz Genome Biology dergisinde yayımlandı
1 yorum
Hacker News yorumları
Excel’in bilimsel gösterime benziyor diye dizeleri otomatik olarak sayıya dönüştürmesi gerçekten sinir bozucu. Kapatılamıyor da.
Büyük ölçekli veri dışa aktarımlarında benzersiz konum kodları gibi değerler bulunuyor; bir noktada bazılarının tuhaf göründüğünü fark ediyorsunuz ve bunun yalnızca görüntü biçiminin değişmesi değil, hücre içeriğinin bizzat Excel tarafından sorulmadan değiştirilmiş olduğunu görüyorsunuz.
Yıllar geçmesine rağmen böyle küçük ama insanları sürekli tökezleten sorunların düzeltilmemesi akıl alır gibi değil. Microsoft genelde “yalnızca çok sayıda müşteriyi etkileyen şeyler üzerinde çalışıyoruz” diyor; ama hata raporlarını sürekli kapatırsanız her seferinde “yalnızca bir kişiyi etkiliyor” deyip yine kapatabilirsiniz.
Bunun yerine, yeniden üretilemiyorsa bir sonraki sefer için hata ayıklama eklemek ya da “talep eden az ama değiştirirsek başka alanlar veya geriye dönük uyumluluk bozulabilir” gibi izlenebilir bir gerekçe bırakmak gibi düzgün şekilde ele alınmalı.
Teknik olmayan kullanıcıların oluşturduğu sayısız makro, VBA betiği ve iş akışı bu davranışa ince şekillerde bağımlı. JavaScript’in tuhaf kusurlarına benziyor; değiştirirseniz bir yerlerdeki eski şeyler bozuluyor.
Microsoft bunu daha doğrudan söyleyebilir, ama doğal olarak böyle bir tartışmadan kaçınmak isteyecektir.
Ağustos 2020’den önceki popüler başlık: https://news.ycombinator.com/item?id=24070385
Konu, “Bilim insanları, MS Excel’in gen adlarını tarih olarak yanlış okumasını önlemek için insan gen adlarını değiştirdi” idi.
İlgili ayrıntılar arasında, Microsoft’un 2023’te Excel’in gen sembollerini tarihe dönüştürme sorununu engelleyen bir güncelleme yayımlaması ve Excel’in yanlış tanıdığı gen adlarını otomatik olarak düzelten/güncelleyen Gene Updater da var.
https://www.pcmag.com/news/microsoft-finally-fixes-excel-gli...
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC9325790/
Araçları düzgün bilmek gerekir. Böyle bir başlık görünce dünyanın hâline ve ilerlemeyi engelleyen engellere üzülüyorum; tüm araçları en tembel kullanıcıya göre tasarlama aptallığına kızıyorum; aynı zamanda tescilli yazılımların ve kullanıcılarının başarısızlığı bana komik de geliyor.
Kullandığınız araç berbat olabilir. Öyleyse ya o berbat araçla bizzat başa çıkmalı, ya daha iyi bir araç öğrenmeli ya da araç ekosisteminde yolunu bulup sonuç alabilecek yetkin bir bilgisayar uzmanı getirmelisiniz.
Sonuç doğrulama sorununa daha girmedim bile. Kamu kaynaklarıyla yürütülen bir araştırma ortamında Microsoft’a para ödeyip tescilli araçlar kullanarak işi batırmak acı bir tablo.
Bu yüzden zincirin bir yerinde, sorumlu yazar, editör, dergi çalışanı vb. biri dosyayı Excel’de açıp yeniden kaydediyor. Biyoinformatikçiler analizlerini Excel’de yapıyor değil.
Elektronik tabloları eğitimde kullanmayı bırakmamın nedenlerinden biri, aritmetik işlem önceliği hatasını sürdürmeye devam etmeleriydi. Burada “hata” ile kastedilen, uzun süredir yerleşik matematik teamülleriyle çelişmesi
Bir hücreye
-3^2yazıp Enter’a basarsanız elektronik tablo9der. Oysa matematikte üs alma, tekli eksiden önce gelir; dolayısıyla sonuç-9olmalı. Örneğin bir öğrencideny = -x^2grafiğini çizmesini isterseniz, aşağı doğru açılan bir parabol çizmesi gerekirGüncel Excel’i kontrol edemem ama Excel 97’de böyleydi; mevcut LibreOffice Calc da
9döndürüyor. Muhtemelen ilk elektronik tablolardan biri önceliği yanlış uyguladı ve sonrasında herkes uyumluluk için bunu izlediBuna karşılık maxima ve Python ikisi de
-9veriyor. Matematik kitaplarındaki formülleri elektronik tabloya kopyalayan insanların da bu soruna takılıp takılmadığını merak ediyorum^nin bir yan ürünü gibi görünüyor. Matematikte üs, üst simgedir; yani ikili operatör değil, terimin bir parçasıdırBilgisayar metinlerinde doğrudan ifade edilemeyen şeyler için ikili operatörler uyduruldu; şapka işareti yaygın ve ilk ortaya çıkanlardan biri olsa da
**de başka bir örnekGeleneksel olarak tekli eksi terimin bir parçası gibi görüldüğü için ikili operatörlerden daha yüksek önceliğe sahiptir. Ama üssü operatöre dönüştürüp yine de bu mantığı koruyunca işler karışıyor
Bölmede de benzer bir sorun görülür.
/, gerçek bölme işaretinin olmadığı ortamlarda oluşturulmuş bir ikili operatördür ve aslında kesrin yatay çizgisini temsil etmesi gerekir. Kesir çizgisi iki taraftaki ifadenin tamamını gruplar; fakat bunu basitçe/ile değiştirince öncelik kurallarının etkisiyle yanlış sonuçlar çıkabilir-a*b,(-a)*bolarak parse edilir; amac-a*b,c-(a*b)olarak parse edilir. Tekli eksi, ikili operatörlerden daha yüksek önceliğe sahiptirGenelde işareti taşıyabildiğiniz için fark etmezsiniz, ama tanımsız davranışla ilgili sınır durumlarda sorun çıkar
0 - INT_MIN/2,0 - (INT_MIN / 2)olarak parse edilir ve sorun yoktur; fakat-INT_MIN/2,(-INT_MIN) / 2olarak parse edilir ve bu iyi değildir. İkinin tümleyeni gösteriminin özelliği nedeniyleINT_MINiçin toplamsal ters olmayabilirBu konuda iki farklı teamül olduğunu biliyorum; istediğim davranışı elde etmek için de sadece parantez kullanıyorum
Okul yıllarında matematiğim iyiydi ama
-3^2nin-9olması gerektiğini düşünen insanlar olduğunu bilmiyordum; bunu yalnızca bazı hesap makinelerinin veya programların tuhaf bir özelliği olarak görmüştüm. Bu ifadeyi sesli olarak nasıl okuduklarını da merak ediyorum. “Eksi 3’ün karesi” diye düşünürseniz(-3)^2doğal gelir;-9un doğru olması için “3’ün karesinin negatifi” diye okumak gerekirOrtaokulda hesap makinesine böyle bir ifade girip beklediğimizden farklı sonucu görmemiz öğretilmişti; ondan sonra yalnızca “demek ki parantez kullanmak gerekiyor” diye düşündüm. Biraz farklı bir öncelik teamülünü tercih ediyor diye hesap makinesini çöpe atacak ya da başkalarına kullanmamalarını söyleyecek kadar önemli değil
-2^2=4ama0-2^2=-4oluyor; çünkü ilkini üs almadan önce gelen tekli-olarak görüyorTeknik olarak doğru olduğu savunulabilir, ama sıradan mühendislik ve bilim geçmişinden gelip normal işler yapmak isteyen biri için çok sezgiye aykırı. Bu yüzden birçok kişinin Nim kullanmaktan vazgeçebileceğini düşünüyorum
POWERfonksiyonunun kısaltmasıdır. Bu açıdan bakınca matematiksel olarak yanlış olabilir, ama Excel davranışı olarak doğru görüyorumExcel’in sorunu, neredeyse her şeyi tek bir yazılım aracıyla yapmaya çalışmasında: ön uç düzenleme ve sunum, analiz, anlamsal modelleme, veri deposu/veritabanı dahil
Makul mühendislerin çoğu bu yaklaşımda yanlış bir şeyler olduğunu düşünür. Ama sıradan bilgisayar kullanıcılarının çoğu bilişimin zaten böyle olması gerektiğini sanır
Bazen ben de belirli bir iş için neden gönüllü olarak Excel’i açtığımı merak ediyorum. Yine de tüm eleştirilere rağmen Excel benim için Lindy etkisi eşiğini geçti ve kalmaya devam edecek
https://en.wikipedia.org/wiki/Lindy_effect
Birçok teknoloji startup’ı, “insanların Excel’le yaptığı işi özel bir araçla değiştirme” işidir
Yapılandırılmış veriyle yapılandırılmamış veri arasındaki mükemmel noktayı yakaladığı için, hücreleri doldurup ne olduğuna bakmak çok kullanışlı
“Bunu yapmamak gerekir” denmesinin nedeni, çalışan bir çözümden düzgün ürünleştirilmiş, kod tabanlı bir yaklaşıma çıkış yolunun çok sancılı olabilmesidir
http://www.catb.org/jargon/html/Z/Zawinskis-Law.html
Almancada “kötü işçi her zaman aletini suçlar” diye bir söz vardır.
Excel’in pek çok tuhaf yanı var ama sayıları hızla bir araya getirip yine de formül girişlerini değiştirebilmemizi sağladığı için varlığına hâlâ minnettarım.
En azından makalenin yayımlandığı dönemde
SEPT2gibi belirli dizeleri otomatik olarak tarihe dönüştüren özelliği kapatmanın bir yolu yoktu. Bunu kapatan bir ayar olsaydı, gece geç saatlere kadar çalışan ya da teslim tarihine yetişmeye çalışan araştırmacıların büyüttüğü birçok hata engellenebilirdi.Araç kullanıcılarının en iyi kullanım biçimini öğrenmek için çaba göstermesi gereken noktalar elbette var. Ama geliştirici tarafında da çaba harcanırsa yaygın hatalar önlenebilir ve kullanıcıların zamanı ciddi ölçüde tasarruf edilebilir.
Tüm araçları değil. Eski bir endüstri standardı ya da alışkanlık yüzünden dayatılan araçları da değil; normalde asla kullanmayacağınız aptal bir araç olup da seçeneğinizin olmadığı durumları da değil.
Elektronik tabloyu Excel icat etmedi. Excel olmasaydı da o dönemin WhateverCalc halefi gibi bir şey kullanıyor olurduk; Excel de buna sadece gereksiz şeyler ekledi.
https://simple.wikipedia.org/wiki/Spreadsheet
Neden şu otomatik tarih algılama kapatılamıyor ki? Ayarlara bir onay kutusu koyup kullanıcı olarak Excel’e bu saçmalığı yapmamasını söyleyebilmem yeterli.
Bunun her zaman açık olması gerektiğini çürütülemez biçimde savunabilecek biri var mı?
Varsayılan değer ne olacak? Varsayılanlar sürümden sürüme farklı mı olacak? Bilgisayar ve kurulum ortamı farklı olsa da tutarlılık nasıl korunacak? O anda bu özelliğe gerçekten ihtiyaç duyulursa ne olacak?
Aklıma CSV dışa aktarma geliyor. Windows’u 10 yıldır kullanmıyorum ama ondalıklı sayıların dışa aktarılma biçimini değiştirmek için yerel ayarı değiştirip bilgisayarı yeniden başlatmak gerektiğini hatırlıyorum. Tek bir Excel ayarını değiştirmek için bunu yapmak delilik. Onay kutusu yamalarını oraya buraya serpiştirmek de bundan pek farklı değil.
https://insider.microsoft365.com/en-us/blog/control-data-con...
İki hafta önce iş yerinde benzer bir şey yaşadım. Günlük dosyalarını kazırken
HH:MM:SS.uuuuuuzaman damgalarını başka bir aracın okuyabilmesi için epoch’tan bu yana geçen nanosaniyelere dönüştüren birawkbetiği yazdım.Ama
awkın sayılar için içeride kayan nokta kullandığını bilmiyordum; dönüştürme fonksiyonu sonucu yanlış yuvarladı ve sonraki analizi anlaşılması zor bir biçimde mahvetti.Üstüne üstlük Visidata’da veriye göz atarken de aynı sorun yeniden ortaya çıktı, ama tam hatırlayamadığım kolay bir geçici çözüm vardı.
İş yerinde Excel’in farklı yerel biçimler yüzünden sayı girişlerini değiştirmesi sorununu defalarca yaşadım; sebebin Excel olduğunu bulana kadar çoğu kez saatler kaybettim.
Kimlik numarası ya da telefon numarası gibi değerler de Excel için tamamen kullanışsız türler. Genlerden çok daha yaygın kullanım alanları; Excel’in standart kullanım senaryolarına daha yakın olmaları gerekirken yine de bozuluyorlar.
2024’te bile CSV dosyası açmak Excel’de çift tıklamayla bitmesi gereken basit bir iş değil, gereğinden fazla karmaşık bir iş hâline geliyor. Diğer elektronik tablo programları CSV dosyalarını çok daha kolay işliyor.
En kötüsü de Excel’i genellikle teknik olmayan kullanıcıların kullanması; bu tuhaf davranışlar yanlış anlaşılıyor ve zaman tekrar tekrar boşa harcanıyor.
Yine de çoğu zaman bu, benim koruma ve kilitleme özelliklerini yeterince iyi kullanmamamdan kaynaklanıyor. Açıklama notlarının görmezden gelindiğini de biliyorum.
Bu yüzden paylaşılan dosyalarda neredeyse her zaman başlangıç için boş bir yedek bırakıp, fiilen kullanılacak dosyayı ayrı tutarak bunu biraz hafiflettim.
Aynı konudaki 2016 tarihli “Gene name errors are widespread in the scientific literature” yazısı da ilginç.
https://genomebiology.biomedcentral.com/articles/10.1186/s13...
Yazıya göre Excel yazılımının gen sembollerini yanlışlıkla tarihlere ve kayan noktalı sayılara dönüştürmesi sorunu ilk kez 2004’te tanımlandı. Örneğin
SEPT2veMARCH1gibi gen sembolleri varsayılan olarak sırasıyla2-Sep,1-Marbiçimine dönüştürülür.