![]() |
1
7
我也有一些其他的评论,但这里是第一个观察:
所以
以下是我的写作方式:
|
![]() |
2
9
您得到了一些关于语法的建议,但是我也建议使用更模块化的方法,如果没有其他原因的话,代码的可读性。如果你能在担心低级细节之前了解全局,那么就更容易掌握代码的速度。 您的主要方法可能如下所示。
您还可以使用以下几种较小的方法:
通过定义更小的方法(getter、setter等等),您可能会做得更进一步。在那一点上,你的中层方法
|
![]() |
3
8
一个简单的改变是使用
有关详细信息,请参阅上的Perl文档 foreach loops 以及 range operator . |
![]() |
4
7
而不是像这样取消对二维数组的引用:
这样做:
此外,您还做了很多if/then/else语句来匹配特定的子序列:这可以更好地写成
|
![]() |
5
5
您的大多数代码都在操作二维数组。我认为最大的改进是改用 PDL 如果你想对数组做很多事情,特别是在效率问题上。它是一个Perl模块,提供了出色的数组支持。为了提高效率,底层例程在C中实现,因此速度也很快。 |
![]() |
6
0
我总是建议你看看 CPAN 对于以前的解决方案或如何在Perl中进行操作的示例。你看过吗 Algorithm::NeedlemanWunsch ? 本模块的文档包括一个匹配DNA序列的示例。下面是一个使用相似矩阵的示例 wikipedia .
下面是一些示例输出:
|
![]() |
Alex Nesta · R熔化数据帧秩 7 年前 |
![]() |
Gloom · 使用python在单个BLAST文件中查找最佳交互命中 7 年前 |
|
kkcheng · 使用递归的生成器对象 7 年前 |
|
Pramod · 使用JQ创建嵌套的Json对象 7 年前 |
![]() |
user1993 · 在MATLAB中创建火山图时出错 7 年前 |
![]() |
roblanf · 在直方图的y轴上绘制变量和 7 年前 |