【利用perl的基因数据处理】复杂数据结构:矩阵 and Edit Distance Matrix

来源:互联网 发布:图片热点 js 编辑:程序博客网 时间:2024/06/03 20:48

在perl语言中,没有对矩阵数据结构的的内设,在序列比对中,有很多矩阵的使用场景,比如编辑距离矩阵,匹配得分矩阵等,要使用perl语言表达这些矩阵,首先要进行矩阵数据结构的定义或者矩阵数据结构的表达;

一、矩阵数据结构

1、矩阵数据结构的定义在perl语言中,是使用复杂的索引组合方式来定义的,例如:

my $array = [    [1,2,3,4],    [2,2,3,4],    [3,2,3,4],    [4,2,3,4],];

就是一个简单的矩阵定义,采用了两层索引结构嵌套的方式,定义了一个二维矩阵。矩阵中特定元素可以是数字,字符串或者其他数据类型,如果是列表或者哈希,可能会改变矩阵的维度。以下是矩阵中元素表达的方法:

$array ->[$i][$j]

也可以直接改变矩阵中的元素的值:

$array ->[$i][$j] = "apple"

如何构建一个简单的数列以及构建数列的结果如下:

my $array = [];for (my $i = 0;$i < 4;$i++){    for(my $j = 0;$i < 4;$i++){        $array -> [$i][$j] = $i * $j;    }}for (my $i = 0;$i < 4;$i++){    for(my $j = 0;$i < 4;$i++){        printf("%3d",$array ->[$i][$j]);    }    print "\n";}
以上就是对一个数列的构建和打印的过程。

高阶矩阵的声明和处理也可以用近似的方法。

原创粉丝点击