小编eri*_*fas的帖子

Pandas:查找名称中包含特定字符串的列

所以,我有一个带有列名的数据框,我想找到一个包含某个字符串的数据框,但是并不完全匹配它.我在寻找'spike'像列名'spike-2','hey spike','spiked-in'(该'spike'部分总是连续).

我希望列名称作为字符串或变量返回,因此我稍后使用df['name']df[name]正常访问该列.我试图找到办法做到这一点,但无济于事.有小费吗?

python string dataframe python-3.x pandas

104
推荐指数
6
解决办法
14万
查看次数

在Python中计算调整后的p值

所以,我花了一些时间寻找一种方法来获得Python中调整后的p值(也就是更正的p值,q值,FDR),但我还没有找到任何东西.有R功能p.adjust,但我想坚持Python编码,如果可能的话.Python有什么类似的东西吗?

如果这是一个不好的问题,请提前抱歉!我首先搜索了答案,但没有找到(除了Matlab版本)...感谢任何帮助!

python statistics p-value q-value

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

按字符串的一部分对字符串列表进行排序

我有一个字符串列表,其格式如下:

['variable1 (name1)', 'variable2 (name2)', 'variable3 (name3)', ...]
Run Code Online (Sandbox Code Playgroud)

...我希望(nameX)按字母顺序对部分进行排序.我该怎么做呢?

python sorting string list

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

熊猫:.groupby().size()和百分比

我有一个源自df.groupby().size()操作的DataFrame,如下所示:

Localization                           RNA level      
cytoplasm                              1 Non-expressed     7
                                       2 Very low         13
                                       3 Low               8
                                       4 Medium            6
                                       5 Moderate          8
                                       6 High              2
                                       7 Very high         6
cytoplasm & nucleus                    1 Non-expressed     5
                                       2 Very low          8
                                       3 Low               2
                                       4 Medium           10
                                       5 Moderate         16
                                       6 High              6
                                       7 Very high         5
cytoplasm & nucleus & plasma membrane  1 Non-expressed     6
                                       2 Very low          3
                                       3 Low               3
                                       4 Medium            7
                                       5 Moderate          8
                                       6 High …
Run Code Online (Sandbox Code Playgroud)

python bioinformatics pandas

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

熊猫:将多个列绘制为相同的x值

关于使用pandas进行数据分析的上一个问题的后续内容.我现在想要绘制我的数据,如下所示:

PrEST ID    Gene    Sequence        Ratio1    Ratio2    Ratio3
HPRR12  ATF1    TTPSAXXXXXXXXXTTTK  6.3222    4.0558    4.958   
HPRR23  CREB1   KIXXXXXXXXPGVPR     NaN       NaN       NaN     
HPRR23  CREB1   ILNXXXXXXXXGVPR     0.22691   2.077     NaN
HPRR15  ELK4    IEGDCEXXXXXXXGGK    1.177     NaN       12.073  
HPRR15  ELK4    SPXXXXXXXXXXXSVIK   8.66      14.755    NaN
HPRR15  ELK4    IEGDCXXXXXXXVSSSSK  15.745    7.9122    9.5966  
Run Code Online (Sandbox Code Playgroud)

...除了有更多的行,我实际上并不想绘制比率,而是从它们派生出一些其他计算值,但这对我的绘图问题无关紧要.我有一个看起来或多或少像上面的数据的数据框,我想要的是这样的:

  • 应将每行(3个比率)与行的ID作为点绘制
  • 具有相同ID的所有行应绘制为相同的x值/ ID,但使用其他颜色
  • x刻度应该是ID,并且(如果可能的话)相应的基因也是如此(因此一些基因将出现在几个x刻度上,因为它们有多个ID映射到它们)

下面是我之前的非pandas版本的脚本生成的图像:

在此输入图像描述

...其中红色三角形表示用于设置y轴最大值的截止值之外的值.ID被涂黑了,但你应该能够看到我正在追求的东西.复制数基本上是在它们之上进行计算的比率,因此它们只是另一个数字,而不是我在上面的数据中显示的数字.

我试图在文档中找到类似的问题和解决方案,但没有找到.大多数人似乎需要使用日期来做这个,因为日期似乎有现成的绘图功能,这对我没有帮助(我认为).任何帮助非常感谢!

python plot matplotlib pandas

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

prcomp和ggbiplot:无效的'rot'值

我正在尝试使用R对我的数据进行PCA分析,我找到了这个很好的指南,使用prcompggbiplot.我的数据是两种样本类型,每种类型有三个生物重复(即6行)和大约20000个基因(即变量).首先,使用指南中描述的代码获取PCA模型不起作用:

>pca=prcomp(data,center=T,scale.=T)
Error in prcomp.default(data, center = T, scale. = T) : 
cannot rescale a constant/zero column to unit variance
Run Code Online (Sandbox Code Playgroud)

但是,如果我删除该scale. = T部件,它工作正常,我得到一个模型.这是为什么,这是下面错误的原因?

> summary(pca)
Importance of components:
                             PC1       PC2       PC3       PC4       PC5
Standard deviation     4662.8657 3570.7164 2717.8351 1419.3137 819.15844
Proportion of Variance    0.4879    0.2861    0.1658    0.0452   0.01506
Cumulative Proportion     0.4879    0.7740    0.9397    0.9849   1.00000
Run Code Online (Sandbox Code Playgroud)

其次,绘制PCA.即使只是使用基本代码,我得到一个错误和一个空的情节图像:

> ggbiplot(pca)
Error: invalid 'rot' value
Run Code Online (Sandbox Code Playgroud)

这意味着什么,我该如何解决?是否与制作PCA的(非)规模有关,还是有所不同?我认为它必须与我的数据有关,因为如果我使用标准示例代码(下面),我会得到一个非常好的PCA图.

> data(wine)
> wine.pca=prcomp(wine,scale.=T)
> print(ggbiplot(wine.pca, obs.scale = 1, …
Run Code Online (Sandbox Code Playgroud)

r bioinformatics pca ggbiplot

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

R:source()和源文件的路径

在R中必须有一些我对这个source()命令不了解的东西.我还是新手,但我不能为我的生活理解它是如何得到它的目录的!我的问题是:

我有一个包装器脚本,wrapper.R和一个包含一些函数的源文件functions.R.这两个都在同一个目录中.如果我source('functions.R')在包装器脚本内部调用,当站在两个文件所在的目录中时,一切都很好.但是,我希望能够wrapper.R其他目录运行我的脚本,不是这些脚本所在的目录.如果我为另一个目录运行我的包装器,它不起作用,我收到一个cannot open the file错误.

我用Google搜索并找到了许多不同的主题,但这个问题似乎很清楚.我理解它的方式,我正在做的方式应该工作.显然,我误解了一些事情.我对该线程的阅读使我相信它source()可以在调用文件所在的目录中工作source().我的阅读也让我相信我不应该使用chdir = TRUE,因为我想保留广告的相对目录.

看来它不起作用......我有什么误解?当从其他地方调用时,如何从与我的包装器脚本相同的目录中获取文件?

r function relative-path chdir

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

SLURM / Sbatch创建许多小的输出文件

我在SLURM群集上运行管道,由于某种原因,许多较小的文件(大小在500到2000字节之间)沿slurm-XXXXXX.out(其中XXXXXX是数字)的行命名。我试图在SLURM网站上找到这些文件的内容,但找不到任何提及。我假设它们是系统在解析管道时使用的某种正在进行中的文件?

如果重要的话,我正在运行的管道正在使用snakemake。我知道我以前曾经见过这些类型的文件,但是没有snakemake,但那时我还没什么大问题。恐怕在工作流程的每一步之后清除这些文件的工作目录都会中断正在进行的步骤,因此我目前不对其进行任何处理。

这些文件是什么?如何抑制它们的输出,或者在对应的作业完成后将其删除?我是否以某种方式弄乱了我的工作流程,所以才创建它们?

slurm sbatch snakemake

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

R:读取和操作奇怪格式的文件

我有一个文件格式有点奇怪,如下所示:

Cluster 1       Score:3.96  
Category        Term        Count
GOTERM_BP_FAT   GO:0006412  34
KEGG_PATHWAY    hsa00970    9
GOTERM_BP_FAT   GO:0043038  9
GOTERM_BP_FAT   GO:0043039  9

Cluster 2       Score:3.94  
Category        Term        Count
GOTERM_BP_FAT   GO:0006414  21
KEGG_PATHWAY    hsa03010    20
GOTERM_BP_FAT   GO:0034660  16
GOTERM_BP_FAT   GO:0006399  11
GOTERM_BP_FAT   GO:0042254  10
GOTERM_BP_FAT   GO:0022613  12
Run Code Online (Sandbox Code Playgroud)

...以及行之后的Cluster X行的几个"子数据帧"(包括其间的空间)和附加(此处省略)列.

我想要做的是以某种方式读取每个单独的集群,将其作为数据帧(即具有名称Category, Term, Count的数据帧),稍微操纵数据帧(主要基于计算添加列)然后写入操纵数据框架和Cluster X行到新文件的格式与它开始时的格式相同.

我已经绞尽脑汁想要做一些明智的方法,但除了分别阅读每一行并根据行的类型做不同的事情之外,我还没有真正想出任何东西,如下所示:

con  <- file('test.txt', open="r")

# Read file line for line
while ( length(currentLine <- readLines(con, n=1, warn=FALSE)) > 0 ) {
  line = strsplit(currentLine, …
Run Code Online (Sandbox Code Playgroud)

r bioinformatics dataframe

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