新聞動態(tài)
|
工作進(jìn)展
ipybd生物多樣性數(shù)據(jù)清洗開源框架發(fā)布 文章來源:中國科學(xué)院東亞植物多樣性與生物地理學(xué)重點(diǎn)實(shí)驗(yàn)室 | 發(fā)布時(shí)間:2021-06-30 | 作者:徐洲鋒 | 瀏覽次數(shù): | 【打印】 【關(guān)閉】 記錄某個(gè)物種,在什么時(shí)間,出現(xiàn)在哪里,處于什么狀態(tài),是一件多樣性極高的工作。比如要用什么語言、什么術(shù)語、什么結(jié)構(gòu)、什么格式、什么媒介去表達(dá)和記錄。往往不同的平臺和個(gè)體都可能千差萬別。而且這種差異,即便對于經(jīng)過嚴(yán)格訓(xùn)練的科研工作者,也同樣是很難彌合和統(tǒng)一的。學(xué)科的“先天”因素決定了生物多樣性研究中的很多基礎(chǔ)數(shù)據(jù)必須依賴于人工收集,因此即便制定了相應(yīng)的標(biāo)準(zhǔn),也很難徹底的貫徹。這一客觀事實(shí),很大程度上影響著全球生物多樣性數(shù)據(jù)平臺的發(fā)展。事實(shí)上相比分子序列等生物信息學(xué)數(shù)據(jù),生物多樣性數(shù)據(jù)的整合過程走得尤為艱辛。時(shí)至今日,我們已經(jīng)可以很明確的感受到對于標(biāo)準(zhǔn)的應(yīng)用和理解,可以直接決定一個(gè)平臺的發(fā)展速度和發(fā)展高度,而具體到數(shù)據(jù)管理機(jī)構(gòu)和普通科研人員,數(shù)據(jù)的一致和規(guī)范也會大幅降低數(shù)據(jù)治理的成本。 因此,構(gòu)建靈活通用、簡單易用的生物多樣性數(shù)據(jù)清洗體系實(shí)為當(dāng)前國內(nèi)生物多樣性信息學(xué)發(fā)展中較為迫切的工作之一。2020年,NSII特設(shè)立“跨類群生物標(biāo)本數(shù)據(jù)自清理與自規(guī)整程序”專題。該專題成果 ipybd 就是專門針對中文生物多樣性數(shù)據(jù)清洗、統(tǒng)計(jì)與分析的開源框架。目前 ipybd 主要致力于構(gòu)建眾源數(shù)據(jù)集與生物多樣性數(shù)據(jù)庫之間的通道。它實(shí)現(xiàn)了一個(gè)通用的生物多樣性數(shù)據(jù)提取、轉(zhuǎn)換、裝載框架,能夠顯著提升數(shù)據(jù)平臺、數(shù)據(jù)管理機(jī)構(gòu)、數(shù)據(jù)使用者對不同來源、不同格式、不同品質(zhì)、不同規(guī)范的數(shù)據(jù)集進(jìn)行統(tǒng)一的清洗轉(zhuǎn)換與整合利用的能力,因此可以大幅降低數(shù)據(jù)處理的門檻和成本,提高數(shù)據(jù)處理的品質(zhì)和效率。 ipybd 現(xiàn)有版本已經(jīng)具備了以下一些能力: 一、 數(shù)據(jù)的提取與裝載![]() ipybd 選擇 pandas.DataFrame作為框架的基礎(chǔ)數(shù)據(jù)結(jié)構(gòu),這使其在應(yīng)對不同格式的數(shù)據(jù)集時(shí),能夠借助 pandas 完善的功能接口,實(shí)現(xiàn)一致且穩(wěn)定的數(shù)據(jù)提取。目前ipybd 支持 Excel, CSV, TEXT, JSON 等文件的數(shù)據(jù)提取。同時(shí)還可直接接收 DataFrame對象或者通過 SQL 語句進(jìn)一步從各類關(guān)系型數(shù)據(jù)庫中提取所需的數(shù)據(jù)。 二、數(shù)據(jù)處理方法ipybd 為生物多樣性數(shù)據(jù)的處理專門定制了一些基本的內(nèi)置數(shù)據(jù)處理方法,目前這些方法涉及: 物種學(xué)名:能夠?qū)⒏黝愂止まD(zhuǎn)錄的拉丁名轉(zhuǎn)換為規(guī)范的格式,并可以在線實(shí)時(shí)的批量獲取 POWO, IPNI, 中國生物物種名錄上相應(yīng)物種的最新分類階元、分類處理、物種圖片、發(fā)表文獻(xiàn)、相關(guān)異名等信息; 日期與時(shí)間:可以對各類樣式,各種手工轉(zhuǎn)錄的日期和時(shí)間,進(jìn)行嚴(yán)格的校驗(yàn)、清洗和轉(zhuǎn)換,并可根據(jù)需要輸出不同樣式; 經(jīng)緯度:可以對各類樣式,各種手工轉(zhuǎn)錄的經(jīng)緯度,進(jìn)行嚴(yán)格的清洗、校驗(yàn)和轉(zhuǎn)換; 中文行政區(qū)劃:可以對各種自然語言表達(dá)的中文縣級及其以上的行政區(qū)劃進(jìn)行高品質(zhì)的匹配、校正和轉(zhuǎn)換; 選值:能夠?yàn)楦鞣N字段定義標(biāo)準(zhǔn)的選值和別名轉(zhuǎn)換關(guān)系,并根據(jù)轉(zhuǎn)換關(guān)系,自動完成現(xiàn)有值的規(guī)范化; 數(shù)值和數(shù)值區(qū)間:可以對各類數(shù)值或數(shù)值區(qū)間,進(jìn)行自動化的清洗、校正和轉(zhuǎn)換; 重復(fù)值校驗(yàn):可根據(jù)單個(gè)屬性或多個(gè)屬性聯(lián)合標(biāo)注數(shù)據(jù)集中的重復(fù)值; 空值和空列填充:可以使用自定義值對空值或空列進(jìn)行必要的填充; 拆分與合并:ipybd 不僅可以對數(shù)據(jù)列進(jìn)行各種合并和拆分(比如中英文切分),還可以將單列、多列或整個(gè)數(shù)據(jù)集映射為各種復(fù)雜嵌套結(jié)構(gòu)的 Python dict list 對象或者 JSON Object 和 Array,從而為各類數(shù)據(jù)分析和互聯(lián)網(wǎng)平臺的數(shù)據(jù)交換工作提供靈活強(qiáng)大的格式轉(zhuǎn)換支持。
行列表格數(shù)據(jù)可以被 ipybd 轉(zhuǎn)換為具備復(fù)雜嵌套結(jié)構(gòu)的 JSON 對象 三、數(shù)據(jù)模型數(shù)據(jù)模型是 ipybd 實(shí)現(xiàn)數(shù)據(jù)集自動清洗的核心,ipybd 內(nèi)置了涵蓋物種發(fā)現(xiàn)、標(biāo)簽打印、數(shù)據(jù)交換在內(nèi)的一系列數(shù)據(jù)模型,同時(shí)還特別針對國內(nèi)現(xiàn)有的一些生物多樣性平臺比如 NSII、CVH、Kingdonia 定制了一些專有的數(shù)據(jù)模型。用戶只需通過一兩行代碼,即可調(diào)用這些模型實(shí)現(xiàn)眾源數(shù)據(jù)到特定標(biāo)準(zhǔn)數(shù)據(jù)集的清洗和轉(zhuǎn)換。
三行代碼借助 ipybd.Occurrence 模型自動清洗數(shù)據(jù)的效果 四、自定義數(shù)據(jù)模型![]() 通過 ipybd 自定義一個(gè)可以將絕大多數(shù)行列表格轉(zhuǎn)換為含有記錄人、記錄編號、采集日期、省、市、學(xué)名六個(gè)固定字段的泛化轉(zhuǎn)換模型 ipybd 數(shù)據(jù)模型同樣支持用戶自定義。通過 ipbyd 模型定義語義,用戶可以快速定制出個(gè)性化的數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換模型以及數(shù)據(jù)結(jié)構(gòu)映射模型。前者可以針對特定數(shù)據(jù)集構(gòu)建完全定制化的數(shù)據(jù)清洗模型,后者則可以根據(jù)字段別名的映射關(guān)系實(shí)現(xiàn)具有良好泛化能力的眾源數(shù)據(jù)清洗模型。此外ipybd 數(shù)據(jù)模型同樣支持?jǐn)?shù)據(jù)清洗功能的個(gè)性化擴(kuò)展,用戶不僅可以自定義模型結(jié)構(gòu),還可以自定義數(shù)據(jù)處理方法。 五、標(biāo)簽打印標(biāo)簽打印是ipybd為標(biāo)本館等機(jī)構(gòu)專門定制的功能(當(dāng)前版本僅支持植物/菌物標(biāo)簽的打印),標(biāo)簽是數(shù)字標(biāo)本信息最初的轉(zhuǎn)錄依據(jù)。通常中大型標(biāo)本館需要接收來自各方的標(biāo)本,不同來源的標(biāo)本數(shù)據(jù)格式千差萬別。打印標(biāo)本標(biāo)簽時(shí),往往需要耗費(fèi)大量的精力和時(shí)間用于檢查數(shù)據(jù)和轉(zhuǎn)換格式。這不僅顯著增加了工作量,也增加了人工處理數(shù)據(jù)出錯(cuò)的風(fēng)險(xiǎn)。
ipybd 可以利用標(biāo)本采集數(shù)據(jù)表直接生成附有條形碼的采集標(biāo)簽,條形碼會根據(jù)每份采集的標(biāo)本份數(shù)自動編排。同時(shí),ipybd 還會同步生成一份標(biāo)本數(shù)據(jù)表,以避免后期數(shù)字化工作中人工處理數(shù)據(jù)造成的條形碼匹配錯(cuò)誤。 六、數(shù)據(jù)統(tǒng)計(jì)分析的能力ipybd 原生支持 Pandas 完備的數(shù)據(jù)統(tǒng)計(jì)和分析功能。作為 Python 數(shù)據(jù)分析生態(tài)中的核心庫,pandas豐富的應(yīng)用生態(tài)體系也為后續(xù) ipybd 拓展生物多樣性相關(guān)的分析能力提供了堅(jiān)實(shí)的開發(fā)基礎(chǔ)。 七、擁抱開源ipybd 是開源的,遵從 GNU General Public License v3.0 許可。 詳細(xì)的使用說明和開源項(xiàng)目請見 GitHub: https://github.com/leisux/ipybd 歡迎有興趣的同行 Fork ipybd。 (責(zé)任編輯:李雪)
|
版權(quán)所有 Copyright © 2002-2025 中國科學(xué)院昆明植物研究所,All Rights Reserved 【滇ICP備05000394號】
地址:中國云南省昆明市藍(lán)黑路132號 郵政編碼:650201
點(diǎn)擊這里聯(lián)系我們