小编Jen*_*Jen的帖子

了解R中的`scale`

我试图理解scaleR提供的定义.我有数据(mydata),我想制作热图,并有一个非常强烈的积极倾斜.我已经创建了两个树形图热图scale(mydata)log(my data)和树状图是两种不同的.为什么?扩展我的数据意味着什么,而不是对数据进行日志转换?如果我想查看说明数据列之间关系的树形图,哪个更合适?

感谢您的任何帮助!我已经阅读了这些定义,但他们对我的看法很高兴.

r transformation scale heatmap

53
推荐指数
4
解决办法
11万
查看次数

使用Python计算组中任意两个字符串之间的最大距离

我的问题是如何计算任何两个对应于某个组的字符串之间的最大距离.我文件中的每一行都以"组号"开头,后跟一个长字符串.我想知道,对于每个组,每组中任何两个字符串之间的最大距离是多少.下面是我正在使用的文件类型(字符串已缩短).请注意,组不一定是有序的,我的一些组只有一个与之关联的字符串,所以我想跳过它们(下面的例子中的组'3'):

 0 GCAGACGGGUGAGUAACGCGUGGGAACGUACCAUUUGCUACGGAAUAACUCAGG
 0 GCAGACGGGUGAGUAACGCGUGGGAACGUACCAUUUGCUACGGAAUAACUCAGG
 1 CGAACGGGUGAGUAACACGUGGGCAAUCUGCCCUGCACUCUGGGACAAGCCCUG
 1 CGAACGGGUGAGUAACACGUGGGCAAUCUGCCCUGCACUCUGGGACAAGCCCUG
 1 CGAACGGGUGAGUAACACGUGGGCAAUCUGCCCUGCACUCUGGGACAAGCCCUG
 2 GCCCUUCGGGGUACUCGAGUGGCGAACGGGUGAGUAACACGUGGGUGAUCUGCC
 2 GCCCUUCGGGGUACUCGAGUGGCGAACGGGUGAGUAACACGUGGGUGAUCUGCC
 2 GCCCUUCGGGGUACUCGAGUGGCGAACGGGUGAGUAACACGUGGGUGAUCUGCC
 0 GCAGACGGGUGAGUAACGCGUGGGAACGUACCAUUUGCUACGGAAUAACUCAGG
 0 GCAGACGGGUGAGUAACGCGUGGGAACGUACCAUUUGCUACGGAAUAACUCAGG
 3 GCAGACGGGUGAGUAACAAAAAGGAACGUACCAUUUGCUACGGAAUAACUCAGG
Run Code Online (Sandbox Code Playgroud)

我想创建一些能够创建如下输出的东西:

 Group0 = 0
 Group1 = 1.2
 Group2 = 2.1

 Average = 1.1
Run Code Online (Sandbox Code Playgroud)

此输出将为我提供组编号,然后是该组的最大差异.还有所有组之间最大差异的总体平均值(再次跳过只有一个与之关联的字符串的组):

我的真实文件有大约5000个组,我正在比较的字符串长约400个字符.

我想我可以通过查看这个问题开始解决这个问题,但我不确定如何只计算同一组中字符串的百分比差异,避免只有一个字符串的组,并计算所有组的总体平均百分比差异.非常感谢任何帮助,非常感谢您的任何想法!

编辑:这是我正在使用的文件中的一些截断行.'group'数字的范围从0到~6000.字母串实际上是426个字符长.文件格式为[数字] [空格] [字母串] [行尾字符]

7 UGGCGAACGGGUGAGUAAC
35 GUGGGGAUUAGUGGCGAAC
50 AAACGAGAUGUAGCAAUAC
82 GGAGAGAGCUUGCUCUCUU
479 UCAGGAGCUUGCUCCUGU
46 CGAGGAGCUUGCUCCUUU
24 AACUGGGUCUAAUACCUU

python difference

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

如何比较集群?

希望可以用python完成!我在相同的数据上使用了两个集群程序,而现在两个都有一个集群文件。我重新格式化了文件,使它们看起来像这样:

Cluster 0:
Brucellaceae(10)
    Brucella(10)
        abortus(1)
        canis(1)
        ceti(1)
        inopinata(1)
        melitensis(1)
        microti(1)
        neotomae(1)
        ovis(1)
        pinnipedialis(1)
        suis(1)
Cluster 1:
    Streptomycetaceae(28)
        Streptomyces(28)
            achromogenes(1)
            albaduncus(1)
            anthocyanicus(1)

etc.
Run Code Online (Sandbox Code Playgroud)

这些文件包含细菌种类信息。因此,我有了簇号(簇0),然后是它的“家族”(布鲁氏菌科)正下方,以及那个家族中的细菌数(10)。在此之下的是该科中发现的属(名称后跟数字Brucella(10)),最后是每个属中的物种(abortus(1)等)。

我的问题:我用这种方式格式化了2个文件,并希望编写一个程序来查找两者之间的差异。唯一的问题是两个程序的群集方式不同,因此即使实际的“群集号”不同,两个群集也可能相同(因此,一个文件中群集1的内容可能与另一个文件中群集43的匹配,唯一不同的是实际群集号)。因此,我需要采取一些措施来忽略群集编号,并专注于群集内容。

有什么办法可以比较这两个文件来检查差异吗?可能吗?任何想法将不胜感激!

python algorithm cluster-analysis

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

计算使用多个键找到字典值的次数

我在python工作.有没有办法计算在多个键中找到字典中的值的次数,然后返回计数?

因此,如果我有50个值并且我运行了一个脚本来执行此操作,我会得到一个看起来像这样的计数:

1: 23  
2: 15  
3: 7  
4: 5  
Run Code Online (Sandbox Code Playgroud)

以上将告诉我23个值出现在1个键中,15个值出现在2个键中,7个值出现在3个键中,5个值出现在4个键中.

此外,如果我的字典中每个键有多个值,这个问题会改变吗?

这是我的字典样本(它的细菌名称):

{'0': ['Pyrobaculum'], '1': ['Mycobacterium', 'Mycobacterium', 'Mycobacterium', 'Mycobacterium', 'Mycobacterium', 'Mycobacterium', 'Mycobacterium', 'Mycobacterium', 'Mycobacterium', 'Mycobacterium', 'Mycobacterium', 'Mycobacterium', 'Mycobacterium', 'Mycobacterium'], '3': ['Thermoanaerobacter', 'Thermoanaerobacter'], '2': ['Helicobacter', 'Mycobacterium'], '5': ['Thermoanaerobacter', 'Thermoanaerobacter'], '4': ['Helicobacter'], '7': ['Syntrophomonas'], '6': ['Gelria'], '9': ['Campylobacter', 'Campylobacter'], '8': ['Syntrophomonas'], '10': ['Desulfitobacterium', 'Mycobacterium']}

所以从这个样本中,有8个独特的值,我将得到理想的反馈:

1:4
2:3
3:1
Run Code Online (Sandbox Code Playgroud)

所以4个细菌名称仅在一个键中,3个细菌在两个键中找到,1个细菌在三个键中找到.

python dictionary

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

单行Perl脚本:在数字后面添加一个空格

我有一个充满线条的文件,如下所示:

 D50541CGGAUCGUAAAGCUCUGUUGUUAGAGAAGAACAGCGCAUAGAGUAACUGC
 AB303221GAGUUAAUCGUCUUGAAGGUACCUGAAGAGGAAGCCCCGGCUAACUCC
 AJ812213AGGGAACAAGGCUAGUUUGCUAGUUGAGGGUACCUGCAGAAGAAGCAC
Run Code Online (Sandbox Code Playgroud)

我试图在每行的数字字符串后插入1个空白字符,这是我的尝试(test2.txt是我正在使用的文件的文件名):

 perl -pe 's/(\w+\d+)\s(.+)/' test2.txt 
Run Code Online (Sandbox Code Playgroud)

它不起作用(我得到错误Substitution replacement not terminated at -e line 1,但这是我想要的输出看起来像:

 D50541 CGGAUCGUAAAGCUCUGUUGUUAGAGAAGAACAGCGCAUAGAGUAACUGC
 AB303221 GAGUUAAUCGUCUUGAAGGUACCUGAAGAGGAAGCCCCGGCUAACUCC
 AJ812213 AGGGAACAAGGCUAGUUUGCUAGUUGAGGGUACCUGCAGAAGAAGCAC
Run Code Online (Sandbox Code Playgroud)

我只是在学习perl,你可以做一行脚本是神奇的,但我的工作不行!

perl whitespace

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