我试图理解scale
R提供的定义.我有数据(mydata
),我想制作热图,并有一个非常强烈的积极倾斜.我已经创建了两个树形图热图scale(mydata)
和log(my data)
和树状图是两种不同的.为什么?扩展我的数据意味着什么,而不是对数据进行日志转换?如果我想查看说明数据列之间关系的树形图,哪个更合适?
感谢您的任何帮助!我已经阅读了这些定义,但他们对我的看法很高兴.
我的问题是如何计算任何两个对应于某个组的字符串之间的最大距离.我文件中的每一行都以"组号"开头,后跟一个长字符串.我想知道,对于每个组,每组中任何两个字符串之间的最大距离是多少.下面是我正在使用的文件类型(字符串已缩短).请注意,组不一定是有序的,我的一些组只有一个与之关联的字符串,所以我想跳过它们(下面的例子中的组'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完成!我在相同的数据上使用了两个集群程序,而现在两个都有一个集群文件。我重新格式化了文件,使它们看起来像这样:
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工作.有没有办法计算在多个键中找到字典中的值的次数,然后返回计数?
因此,如果我有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个细菌在三个键中找到.
我有一个充满线条的文件,如下所示:
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,你可以做一行脚本是神奇的,但我的工作不行!
python ×3
algorithm ×1
dictionary ×1
difference ×1
heatmap ×1
perl ×1
r ×1
scale ×1
whitespace ×1