999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Perl語言的高級維恩圖的設計

2021-12-24 04:30:50金會會
科技資訊 2021年30期

摘 ?要:由于在科研或者教學工作中需要美觀化展現不同數據集的交集,目前維恩圖在各個學科領域應用廣泛。但受制于目前繪制工具和平臺的限制,在線維恩圖繪制方法軟件提供的繪制維度普遍小于5個,所以科研工作人員迫切地需要一款繪圖方法來表達更高維度的維恩圖來展現自己的結果。該文利用Perl語言和SVG相結合,開發出一套可繪制高緯度維恩圖的方法,僅需要準備好純文本數據文件,執行程序命令即可得到高質量的維恩矢量圖。

關鍵詞:維恩圖 ?Perl語言 ?SVG ?科研工具 ?Venn Plot

中圖分類號:TP393.092文獻標識碼:A 文章編號:1672-3791(2021)10(c)-0000-00

Design of High-Level Venn Diagram Based on Perl Language

JIN Huihui

(Yangzhou Institute of Technology, Yangzhou, Jiangsu Province, 225000 China)

Abstract: Because the intersection of different data sets needs to be aesthetically displayed in scientific research or teaching work, Venn diagrams are currently widely used in various disciplines. However, due to the limitations of the current drawing tools and platforms, the online Venn diagram drawing method software provides generally less than 5 drawing dimensions. Therefore, scientific researchers urgently need a drawing method to express a higher-dimensional Venn diagram to show themselves their results. Using the combination of Perl language and SVG, this paper developed a set of methods that can draw high-latitude Venn diagrams. We just need to prepare a plain text data file and execute commands to get the target high-quality diagram.

Key Words: Venn diagram; Perl language; SVG; Research tools; Venn Plot

Venn圖[1]也叫維恩圖, 即用一條封閉曲線直觀地表示集合及其關系的圖形。由英國的邏輯學家韋恩提出,他是第一個想到用這樣的圖來表示事物之間關系的人。維恩圖一直是會議和演示的主要內容,維恩圖提供了一種清晰、有效的方式來直觀地展示數據集之間的關系。在維恩圖中,圓圈代表具有共享屬性的事物組。這些圓圈重疊的區域代表同樣屬于重疊組的個人。維恩圖中的圓圈可以部分重疊、完全重疊,甚至可以分開,一目了然地看到組之間的關系。維恩圖有很多用途:解釋關系、顯示組織系統、說明復雜的事物和系統。維恩圖可以幫助團隊在頭腦風暴或解決問題時分解復雜的想法。維恩圖的應用不勝枚舉,在生物學領域常用來表示不同分組樣本的結果重疊情況。

Perl[2]是一種功能豐富且可以穩定的跨平臺編程語言,Perl語言的應用范圍很廣,運行在超過多種計算機平臺上,適用廣泛,Perl被用于圖形編程、系統管理、網絡編程、金融、生物以及其他領域。Perl被稱為腳本語言中的瑞士軍刀,由于英文翻譯的首字母原因,簡稱為Perl(Practical Extraction and Report Language),在生物學方面的應用較多,其中核酸和蛋白質文本處理能力表現優異,該研究結合Perl的字符處理能力和SVG的表現渲染能力,巧妙地展現了交集數據集。

1 ?維恩圖的現狀分析

1.1 ?基于PubMed公共數據庫的引用統計

美國國家醫學圖書館(The United States National Library of Medicine, NLM),由美國聯邦政府經營管理,是世界上最大的醫學圖書館,其前身為成立于1836年的美國公共衛生部部長辦公室圖書館。在各個學科發展方向具有重要的指導意義。PubMed系統是由美國國家醫學圖書館(NLM)的國家生物技術信息中心(NCBI)開發研制的一個醫學文獻網絡數據庫。維恩圖在PubMed中出現的頻率有逐年上升的趨勢,越來越成為科研人員展現數據的一個熱門方法。圖1展示的圖片數據來源PubMed系統檢索,通過搜索“Venn Diagram”關鍵詞匹配下載到最近10年的公共醫學論文引用數據,引用趨勢如圖1所示。

從圖1中可以看出,近10年來,韋恩圖方法[3]的引用頻率逐年提高,其中增幅較大的是2020年度。說明這個展示和統計方法在各個學科的應用越來越多,但是目前市面上可以供使用的工具方法有較大的缺陷和局限性,其中數據集表現維度就受到嚴格的控制,普遍是4個維度的表現形式,對于科研人員來說,是個需要急需解決的問題。

1.2 ?維恩圖的主流在線軟件情況

目前網絡上提供免費在線維恩繪圖軟件眾多[4],表1為常用軟件信息比較。其中以有權威性的西班牙馬德里大學國家生物技術中心提供的在線工具VENNY 2.1版本為例,如圖2所示,目前該網站可以提供的繪圖維度最高為4個維度,對應科研人員來說,如果數據集超過4個,則展示會受制于在線軟件[5]。

通過圖2為案例,運用VENNY2.1版本工具展示,可以看出在線工具的巨大局限性,其只可以提供4個維度的數據交集展示,這對于實際的科研、統計等需求是不足的。

2 ?基于Perl語言開發程序原理

2.1 程序開發思路

基于SVG[6]的格式模板,利用Perl語言進行輸入文件讀取并依據文本文件的個數和文本文件的單行關鍵詞進行哈希存儲處理,然后對哈希存儲的數據重新進行SVG文件寫入,生成新的SVG格式模板文件,利用常規的illustrator或者Photoshop既可以打開該文件,同時可以對高質量的矢量圖(SVG圖)進行PNG、JPG等格式轉換。

2.2 程序開發代碼

#!/bin/perl

use strict;

use warnings;

use Getopt::Long;

use Pod::Usage;

my ($help);

my $figlabel = "";

GetOptions(

'help'=>\$help,

'figlabel:s'=>\$figlabel,

);

pod2usage 1 if($help or @ARGV < 2 or @ARGV > 7);

my %venn;

my %lab;

my $count = 0;

for my $name(@ARGV){

open FILEINPUT,"$name" or die "Please Check Directory file : $name\n";

my @family = <FILEINPUT>;

close FILEINPUT;

chomp @family;

my %fam;

for(@family){

next if(/^\s*$/);

$fam{$_} = 1;

}

for(keys %fam){

$venn{$_} += 2**$count;

}

$name = `basename $name`;

chomp $name;

$name =~ s/.txt//;

$lab{2**$count} = $name;

$count ++;

}

my %count;

for(keys %venn){

$count{$venn{$_}} ++;

print ($count{$venn{$_}} ++);

print ("\n");

}

open FILE,"/svgDB/venn$count.svg";

while(<FL>){

if(/>(\d+)<\/text>/){

my $num = defined $count{ $1 } ? $count{ $1 } : 0;

s/>(\d+)<\/text>/>$num<\/text>/;

}elsif(/>([A-Z])<\/text>/){

my $flag = 2 ** (ord($1) - ord("A"));

my $lab = defined $lab{$flag} ? $lab{$flag} : "undef";

s/>[A-Z]<\/text>/>$lab<\/text>/;

}else{

s/>figlabel<\/text>/>$figlabel<\/text>/;

}

print;

}

close FILE;

3 ?基于Perl語言的繪制過程及結果

3.1 程序執行

在windows系統或mac系統環境安裝perl編程語言,進入終端界面調用perl解釋器運行,執行命令如下:

perl venn.pl A_file.txt B_file.txt C_file.txt > A_B_C.svg

3.2 程序執行結果文件匯總

分別模擬了7個數據文件,各個文件命名為A.txt、B.txt、C.txt、D.txt、E.txt、F.txt、G.txt,在每個文件里是單行一個關鍵詞,通常情況下是英文狀態下的關鍵詞。文件里面行與行之間允許出現空行。表2是對7個數據集分別進行6個組合計算。

分別對6個組合執行運算得到對應的圖表數據,并展示不同維度的韋恩圖,具體見圖3,按照環形圖的個數依次分類,其中最高7個數據集維度見圖4。

圖4中A、B、C、D、E、F、G標簽分別對應每個數據集的名稱,各個交叉區域單元的數字是指交集共有部分的統計頻率,按照維恩統計規律來看,目前呈現表3分布如下。

如圖5所示,隨著維恩圖維度的提供,出現的交集區域(亞區域)個數快速上升,難度也越來越大。通過分析可以發現,設定維度個數為N,亞區域對應為Mn,則對應關系公式為:Mn=2N-1。

4 結語

該文通過分析國外研究趨勢和現實發展需要,通過結合Perl編程語言和SVG語言的功能,開發出繪制高緯度的Venn圖流程,使得在該應用層面的繪圖可能性得到擴展。在平時的科研工作中,匯報及寫作以及數據展示能力得到提升,同時也為指導學生論文工作提供了更廣泛的科研工具,可應用在學生論文的插入圖表提供工具支撐。同樣,在其他相關數據領域,對于同類型的數據繪圖具有較好的平移、適應和普適性的應用。

參考文獻

[1] JIA ?A Q,XU ?L,WANG ?Y.Venn Diagrams in Bioinformatics[J].Briefings in Bioinformatics,2021,5(22):108.

[2] 張婷婷,龐雪原,晏佳蕓.Perl語言統計核酸GC含量程序開發[J].科技資訊,2019,17(13):22,24.

[3] 羅紅梅,張永鋒.基于Venn方法與ArgGis的水上交通安全隱患點風險等級初步研究[J].科技資訊,2018,16(21):118-121,123.

[4] 馬玉芬. 韋恩圖在高中生物學教學中的應用研究[D].貴陽:貴州師范大學,2020.

[5] 郭丹丹,邰楊芳.基于韋恩圖的國內圖書情報領域智庫研究主題演化分析[J].晉圖學刊,2021(4):8-15.

[6] 潘博.SVG圖形在Web設計中的應用研究[J].科學技術創新,2020(15):88-89.

作者簡介:金會會(1990—),男,碩士,助教,研究方向為生物信息學。

主站蜘蛛池模板: 国产福利免费视频| 性激烈欧美三级在线播放| 99国产精品国产高清一区二区| 黄色三级网站免费| 国产手机在线小视频免费观看| 亚洲人成网站在线观看播放不卡| 国产精品一区二区无码免费看片| a在线亚洲男人的天堂试看| 色综合a怡红院怡红院首页| 国产好痛疼轻点好爽的视频| 久久国产精品娇妻素人| 青青草原偷拍视频| www.av男人.com| 爽爽影院十八禁在线观看| 好紧好深好大乳无码中文字幕| 精品乱码久久久久久久| 亚洲视频一区在线| 国产在线一二三区| 一本大道视频精品人妻| 特级毛片免费视频| 成人中文在线| 亚洲精品卡2卡3卡4卡5卡区| 日本草草视频在线观看| 蜜桃视频一区二区| 亚洲成在线观看| 老色鬼欧美精品| 国产中文一区二区苍井空| 亚洲欧美综合精品久久成人网| 91精品伊人久久大香线蕉| 亚洲国产系列| 一级成人a做片免费| 亚洲欧美日本国产专区一区| 国产精品成| 91福利片| a欧美在线| 最新日韩AV网址在线观看| 91尤物国产尤物福利在线| 精品免费在线视频| 日韩精品一区二区三区免费| 91久久性奴调教国产免费| 欧美区一区| 亚洲精品国产精品乱码不卞| 久久精品人人做人人爽| 亚洲男人天堂久久| 久热精品免费| 欲色天天综合网| 扒开粉嫩的小缝隙喷白浆视频| 欧美a在线| 91精品国产丝袜| 亚洲国产91人成在线| 性欧美久久| 亚洲国产中文综合专区在| 波多野结衣一区二区三区四区视频 | 亚洲IV视频免费在线光看| 欧美精品1区2区| 真实国产乱子伦视频| 5388国产亚洲欧美在线观看| 久热这里只有精品6| 中文国产成人精品久久| 性视频久久| 欧美有码在线| 成人福利在线观看| 国产精欧美一区二区三区| 久久男人视频| 精品国产Av电影无码久久久| 五月婷婷综合网| 无码一区二区三区视频在线播放| 亚洲视频影院| 99久久国产综合精品女同| 中文一级毛片| 五月天久久综合| 日韩黄色精品| 欧美一级夜夜爽| 欧美亚洲欧美| 欧美成人h精品网站| 亚洲AⅤ永久无码精品毛片| 亚洲侵犯无码网址在线观看| 青青极品在线| 久久毛片网| 玖玖精品在线| 国产成人精品高清在线| 久久精品嫩草研究院|