小编Alo*_*los的帖子

将矩阵转换为1维数组

我有一个矩阵(32X48).

如何将矩阵转换为单维数组?

arrays r matrix

102
推荐指数
8
解决办法
20万
查看次数

如何在r中使用heatmap.2让簇在对角线上排列?

我正在尝试聚类蛋白质dna相互作用数据集,并使用来自R包gplots的heatmap.2绘制热图.以下是生成这些图形的完整过程:在我的案例中,使用一些相关性生成距离矩阵.

library(RColorBrewer);
library(gplots);
args <- commandArgs(TRUE);
matrix_a <- read.table(args[1], sep='\t', header=T, row.names=1);
mtscaled <- as.matrix(scale(matrix_a))
pdf("result.pdf", pointsize = 15, width = 18, height = 18)
result <- heatmap.2(mtscaled, Colv=T,Rowv=T, scale='none',symm = T, col = brewer.pal(9,"Reds"))
dev.off() 
Run Code Online (Sandbox Code Playgroud)

通过执行以下操作,我可以使用正常的热图功能来完成此操作:

result <- heatmap(mtscaled, Colv=T,Rowv=T, scale='none',symm = T)
Run Code Online (Sandbox Code Playgroud)

但是,当我对Heatmap.2使用相同的设置时,群集在对角线上也不会对齐.我附加了2张图像,第一张图片使用热图,第二张图片使用热图.我使用了RColorBrewer包中的Reds颜色来帮助更好地显示我正在拍摄的内容.我通常只使用默认的热图功能,但我需要heatmap.2提供的颜色变化.

以下是用于生成热图的数据集的列表,在将其转换为距离矩阵后: DataSet

从热图中绘制的热图

热图来自Heatmap.2

r data-visualization cluster-analysis matrix

10
推荐指数
1
解决办法
4143
查看次数

在尝试使用一个图像创建网格并将其应用于另一个图像时,我需要帮助补偿图像的移位

我有两张酵母板图片:

许可:

替代文字

XGAL:

替代文字

图像应该在相同的位置和大致相同的大小.我试图使用其中一个图像生成网格,然后将该网格应用于另一个图像.通过观察允许板上的菌落来制作网格,该板上应该有1536个菌落.问题在于,用于拍摄图像的相机会上下移动一点,并且由于另一个板不在完全相同的位置,图像也可能会稍微移位.

这意味着当我使用许可板在板上生成网格时xgal,网格会移动.有谁知道我可以弥补这一点的方式?我正在使用带有gd模块的perl.任何建议将不胜感激.谢谢

perl gd image-processing

6
推荐指数
1
解决办法
196
查看次数

如何修改perl脚本以使用多个处理器?

嗨,我有一个简单的脚本,它接受一个文件,并在其上运行另一个Perl脚本.该脚本对当前文件夹中的每个图片文件执行此操作.这是在一台配备2个四核Xeon处理器,16GB内存,运行RedHat Linux的机器上运行的.

第一个脚本work.pl基本上调用magicplate.pl传递一些参数和magicplate.pl文件的名称来处理.Magic Plate需要大约一分钟来处理每个图像.因为work.pl正在执行相同的功能超过100次,并且因为系统有多个处理器和核心,所以我正在考虑将任务拆分,以便它可以并行运行多次.如有必要,我可以将图像分割到不同的文件夹.任何帮助都会很棒.谢谢

这是我到目前为止:

use strict;
use warnings;


my @initialImages = <*>;

foreach my $file (@initialImages) {

    if($file =~ /.png/){
        print "processing $file...\n";
        my @tmp=split(/\./,$file);
        my $name="";
        for(my $i=0;$i<(@tmp-1);$i++) {
            if($name eq "") { $name = $tmp[$i]; } else { $name=$name.".".$tmp[$i];}
        }

        my $exten=$tmp[(@tmp-1)];
        my $orig=$name.".".$exten;

        system("perl magicPlate.pl -i ".$orig." -min 4 -max 160 -d 1");
     }
}       
Run Code Online (Sandbox Code Playgroud)

linux perl multithreading file multiprocessor

6
推荐指数
2
解决办法
3336
查看次数

使用R中的层次聚类生成描绘数据集中的聚类的热图

树状图这是我能够生成的热图我正在尝试使用由蛋白质dna相互作用组成的数据集,对数据进行聚类并生成热图,该热图显示结果数据,使得数据看起来与在对角线上排列的聚类聚集在一起.我能够对数据进行聚类并生成该数据的树形图,但是当我使用R中的热图函数生成数据的热图时,聚类不可见.如果你看前两个图像,一个是我能够生成的树形图,第二个是我能够生成的热图,第三个是集群热图的一个例子,它显示了我对结果的期望粗略地看.从比较第二和第三张图像可以看出,很明显第三张图像中有簇,而第二张图像中没有簇. 示例热图

这是我的数据集的链接:http: //pastebin.com/wQ9tYmjy

我能够聚集数据并在R中生成一个好的:

args <- commandArgs(TRUE);

matrix_a <- read.table(args[1], sep='\t', header=T, row.names=1);

location <- args[2];

matrix_d <- dist(matrix_a);

hc <- hclust(matrix_d,"average");

mypng <- function(filename = "mydefault.png") {

png(filename)

}

options(device = "mypng")

plot(hc);

我也可以生成热图也可以:

matrix_a <- read.table("Arda_list.txt.binary.matrix.txt", sep='\t', header=T, row.names=1);

mtscaled <- as.matrix(scale(matrix_a))

heatmap(mtscaled, Colv=F, scale='none')

我试着按照以下帖子:http: //digitheadslabnotebook.blogspot.com/2011/06/drawing-heatmaps-in-r.html by Christopher Bare,但我遗漏了一些东西.任何想法,将不胜感激.我附上了我得到的热图的图像,以及树形图.图3取自Christopher Bare的帖子.谢谢

r cluster-analysis hierarchical-clustering dendrogram heatmap

5
推荐指数
1
解决办法
8386
查看次数

如何使用Bash在文件夹中获取.png文件数组

嗨,我是bash编程的新手,需要一些帮助.我正在构建一个用于图像处理的管道.我希望能够将png图像放在一个文件夹中并将它们传递给clusterImage.pl一旦完成,我想将输出的文件传递给seperateObjects.pl,输出的文件具有相同的名称但具有kmeansOutput. all.matrix附在最后.以下是我到目前为止所做的,但它不起作用.任何帮助将不胜感激.谢谢

#!/bin/bash
#This script will take in an image and a matrix file.
#The output will be an image and a matrix file.

list=`ls *.png`
for i in $list
do
$file="./$list"
$image_array = $list
echo $file
#Cheching to see if the file exists.
for((j=0;j<=i;j++))
do
if [ -e image_array[j] ]; then
echo $file
echo "Begining processing"
#Take in an image and create a matrix from it.
perl clusterImage.pl SampleImage.png
#Take in a matrix and draw a picture showing the …
Run Code Online (Sandbox Code Playgroud)

linux bash

4
推荐指数
2
解决办法
3904
查看次数

在Perl中需要有关峰值信号检测的帮助

大家好,我从酵母菌落板的图像中得到一些强度值.我需要能够从强度值中找到峰值.下面是一个示例图像,显示绘制时值的外观.

一些值的示例

5.7
5.3
8.2
16.5
34.2
58.8
**75.4**
75
65.9
62.6
58.6
66.4
71.4
53.5
40.5
26.8
14.2
8.6
5.9
7.7
14.9
30.5
49.9
69.1
**75.3**
69.8
58.8
57.2
56.3
67.1
69
45.1
27.6
13.4
8
5

这些值在75.4和75.3处显示两个峰值,您可以看到值增加然后减少.变化并不总是一样的.

强度值图

http://lh4.ggpht.com/_aEDyS6ECO8s/THKTLgDPhaI/AAAAAAAAAio/HQW7Ut-HBhA/s400/peaks.png来自研究

我正在考虑做的事情之一是存储每个组,即哈希值中的山,然后查找组中的最大值.如果我看到的问题是如何确定每个组的边界.

这是我到目前为止的代码的链接:http: //paste-it.net/public/y485822/

以下是完整数据集的链接:http: //paste-it.net/public/ub121b4/

我在Perl中编写代码.任何帮助将不胜感激.谢谢

perl signal-processing bioinformatics

3
推荐指数
1
解决办法
1009
查看次数

如何在Perl中创建二维数组?

我目前正在尝试将32 x 48的矩阵文件传递给Perl中的多维数组.我能够访问所有值,但访问特定值时遇到问题.任何帮助将不胜感激.我已经设置了数据集的链接以及我下面的代码.

以下是数据集的链接:http: //paste-it.net/public/x1d5301/

这就是我现在的代码.

#!/usr/bin/perl

open FILE, "testset.txt" or die $!;
my @lines = <FILE>;

my $size = scalar @lines;

my @matrix = (1 .. 32);
my $i = 0;
my $j = 0;
my @micro;

foreach ($matrix)
{

foreach ($lines)
{
    push @{ $micro[$matrix]}, $lines;
}
}
Run Code Online (Sandbox Code Playgroud)

arrays perl file matrix multidimensional-array

3
推荐指数
1
解决办法
1万
查看次数

查找包含 NA 的矩阵中每一行的最大值

当矩阵包含 NA 时,我试图找到 r 矩阵中每一行的最大值。

我尝试使用“qlcMatrix”包中的函数 rowMax(),但它不能处理 NA(如果该行包含至少一个 NA 值,它会返回“NA”)。

r max matrix na

1
推荐指数
1
解决办法
5145
查看次数

从'int'类型的表达式获取类型'std :: istream&'的引用的无效初始化

我正在尝试创建一个使用有理数字并对它们执行运算符重载的类.我在程序的一部分,即输入流上遇到问题.

例如,我应该以"12/8"格式输入,它应该将12存储到变量a中,然后将8存储到变量b中.

这是我的代码:

istream& operator>>( istream& In, Rational& Item )
{
    char division_sign;
    int a,b;

    In >> a >> division_sign;
    if (division_sign != '/' || !In.good())
    {
        In.setstate( ios::failbit );
    }
    else
    {
        In >> b;
        if (b != 0 || !In.good())
        {
        return Item.numerator_ = a, Item.denominator_ = b;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我收到的错误:

In function 'std::istream& operator>>(std::istream&, Rational&)':
131: error: invalid initialization of reference of type 'std::istream&' from expression of type 'int'
Run Code Online (Sandbox Code Playgroud)

Line 131return声明

c++ compiler-errors istream

-1
推荐指数
1
解决办法
1980
查看次数