小编dar*_*ber的帖子

为什么BufferedReader read()比readLine()慢得多?

我需要一次读取一个文件,我正在使用该read()方法BufferedReader.*

我发现这read()比约慢10倍readLine().这是预期的吗?或者我做错了什么?

这是Java 7的基准测试.输入测试文件大约有500万行和2.54亿个字符(~242 MB)**:

read()方法需要大约7000毫秒来读取所有字符:

@Test
public void testRead() throws IOException, UnindexableFastaFileException{

    BufferedReader fa= new BufferedReader(new FileReader(new File("chr1.fa")));

    long t0= System.currentTimeMillis();
    int c;
    while( (c = fa.read()) != -1 ){
        //
    }
    long t1= System.currentTimeMillis();
    System.err.println(t1-t0); // ~ 7000 ms

}
Run Code Online (Sandbox Code Playgroud)

readLine()方法只需约700毫秒:

@Test
public void testReadLine() throws IOException{

    BufferedReader fa= new BufferedReader(new FileReader(new File("chr1.fa")));

    String line;
    long t0= System.currentTimeMillis();
    while( (line = fa.readLine()) != null ){
        // …
Run Code Online (Sandbox Code Playgroud)

java benchmarking bufferedreader

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

pheatmap:NA的颜色

使用R package pheatmap绘制热图.有没有办法为输入矩阵中的NA分配颜色?看来NA默认为白色.例如:

library(pheatmap)
m<- matrix(c(1:100), nrow= 10)
m[1,1]<- NA
m[10,10]<- NA
pheatmap(m, cluster_rows=FALSE, cluster_cols=FALSE)
Run Code Online (Sandbox Code Playgroud)

谢谢

r na pheatmap

12
推荐指数
3
解决办法
7358
查看次数

R:使用system()调用的别名命令

在我的~/.bash_profile文件中,我把这个alias命令:

which mvsync
alias mvsync='rsync --remove-source-files -arvuP'
    /usr/bin/rsync
Run Code Online (Sandbox Code Playgroud)

它可以从bash shell中正常工作,但是当我从R中调用它时,system我得到一个未找到的命令:

R
system('mvsync --help')
sh: mvsync: command not found

## Or
system('mvsync --help', intern=TRUE)
sh: mvsync: command not found
Error in system("mvsync --help", intern = TRUE) : 
  error in running command

## Or
system("bash -i -c mvsync")
bash: mvsync: command not found

[4]+  Stopped                 R
Run Code Online (Sandbox Code Playgroud)

R/system()可以正确识别bash_profile中的其他环境变量.知道如何/如果它可以修复?

这是R会话信息:

sessionInfo()
R version 3.1.3 (2015-03-09)
Platform: x86_64-redhat-linux-gnu (64-bit)
Running under: CentOS release 6.6 (Final)

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C …
Run Code Online (Sandbox Code Playgroud)

bash r .bash-profile

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

Conda 环境中出现意外的 Python 路径

在 Conda 环境中(base此处),我对 Python 路径中的目录顺序感到惊讶:

python -c "import sys; print(sys.path)"
['', 
'/export/projects/III-data/wcmp_bioinformatics/db291g/miniconda3/lib/python37.zip',
'/export/projects/III-data/wcmp_bioinformatics/db291g/miniconda3/lib/python3.7',
'/export/projects/III-data/wcmp_bioinformatics/db291g/miniconda3/lib/python3.7/lib-dynload',
'/export/home/db291g/.local/lib/python3.7/site-packages',
'/export/projects/III-data/wcmp_bioinformatics/db291g/miniconda3/lib/python3.7/site-packages']
Run Code Online (Sandbox Code Playgroud)

如您所见,我本地的非 Conda 路径:

/export/home/db291g/.local/lib/python3.7/site-packages
Run Code Online (Sandbox Code Playgroud)

出现在 Conda 对应项之前:

/export/projects/III-data/wcmp_bioinformatics/db291g/miniconda3/lib/python3.7/site-packages
Run Code Online (Sandbox Code Playgroud)

这意味着安装在 中的 Python 包miniconda3/lib/python3.7/site-packages如果也在.local/lib/python3.7/site-packages. 事实上,在.local/lib/python3.7/site-packages我有numpyv1.20,但在Conda环境中我需要v1.19,它已正确安装,但被v1.20取代。这似乎违背了使用 Conda 的意义。

我的配置有问题还是我在这里遗漏了一些东西?

一些信息:

which python
/export/projects/III-data/wcmp_bioinformatics/db291g/miniconda3/bin/python

python -V
Python 3.7.12

which conda
/export/projects/III-data/wcmp_bioinformatics/db291g/miniconda3/bin/conda

conda --version
conda 4.11.0
Run Code Online (Sandbox Code Playgroud)

python path conda

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

R/ggplot:带facet_wrap的垂直条带文本

我在R中使用ggplot用facet_wrap绘制几个条件.我想把带有情节名称的条带放在右边的垂直轴上,而不是放在顶部.

这是一个例子:

library(ggplot2)
dat<- data.frame(name= rep(LETTERS[1:5], each= 4), value= rnorm(20), time= rep(1:5, 4))
gg<- ggplot(data= dat, aes(x= time, y= value)) +
    geom_point() +
    facet_wrap(~ name, ncol= 1)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述 这里的情节名称(A,B,C,D,E)位于顶部,我希望它们位于右侧,如下所示:

gg + facet_grid(name ~ .)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

有一个简单的开关来做吗?(我没有使用,facet_grid因为我想使用选项nrowncol随附facet_wrap).

谢谢!达里奥

sessionInfo()
R version 3.0.1 (2013-05-16)
Platform: x86_64-apple-darwin10.8.0 (64-bit)

locale:
[1] en_GB.UTF-8/en_GB.UTF-8/en_GB.UTF-8/C/en_GB.UTF-8/en_GB.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] ggplot2_0.9.3.1

loaded via a namespace (and not attached):
 [1] colorspace_1.2-4   dichromat_2.0-0 …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 facet-wrap

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

sympy:如何在缺少常数项时获得零

在 SymPy 0.7.5(Python 2.7.8-64 位)上。当常数项为零或不存在时,我无法从表达式中获得常数项(不存在的常数与零常数相同,对吗?)。

我可以从表达式中得到常数项expr.coeff(x, 0)。例如:

isympy ## Load sympy etc...

(x + 3).coeff(x, 0)        #-> 3 ok
(x).coeff(x, 0)            #-> 0 ok
(4*x**2 + 3*x).coeff(x, 0) #-> 0 ok
Run Code Online (Sandbox Code Playgroud)

现在,在这些情况下我怎样才能得到 0?

(4*x).coeff(x, 0)     #-> 4 
(4*x**2).coeff(x, 0)  #-> 4 why not 0?!
Run Code Online (Sandbox Code Playgroud)

我确定这之前已经被问过并记录在案,但至少在没有一些尴尬的解决方法的情况下我无法找到答案。谢谢达里奥

编辑交互式会话的完整输出:

python
Python 2.7.8 (default, Sep 14 2014, 18:20:38) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 
>>> import sympy …
Run Code Online (Sandbox Code Playgroud)

python sympy coefficients

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

使用扩展类代替基类

Java 1.6.我扩展了一个类来包含一些方法.现在我想用扩展类代替基类.但是,可以使用基类的类无法"识别"扩展类.什么是(推荐)修复?

我知道这种情况已被多次提出不同的口味,但我无法得到它!

示例 - 扩展类SAMRecord并使用SAMRecordExt后缀:

public class SAMRecordExt extends SAMRecord{

    public SAMRecordExt(SAMFileHeader header) {
        super(header);
    }       

}
Run Code Online (Sandbox Code Playgroud)

现在,虽然这有效:

SAMRecord rec= sam.iterator().next();
Run Code Online (Sandbox Code Playgroud)

这给了我一个编译错误

SAMRecordExt recext= sam.iterator().next();
>>> Type mismatch: cannot convert from SAMRecord to SAMRecordExt
Run Code Online (Sandbox Code Playgroud)

不出所料,这也不起作用(运行时错误):

SAMRecordExt recext= (SAMRecordExt) sam.iterator().next();
>>> Exception in thread "main" java.lang.ClassCastException: htsjdk.samtools.SAMRecord cannot be cast to markDupsByStartEnd.SAMRecordExt
at markDupsByStartEnd.Main.main(Main.java:96)
Run Code Online (Sandbox Code Playgroud)

如何使扩展类在基类工作的地方工作?

编辑:关于我正在使用的类的更多细节.sam对象来自

SamReaderFactory sf = SamReaderFactory.makeDefault();
SamReader sam= sf.open(new File(insam));
Run Code Online (Sandbox Code Playgroud)

完整文档是https://samtools.github.io/htsjdk/javadoc/htsjdk/index.html

java extends class type-mismatch

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

readthedocs 中自动生成的索引文件

我无法将我为项目准备的文档上传到readthedocs,并且我正在尝试了解问题所在。该文档在本地构建得很好,make html但我无法上传它。

GitHub 项目是ASCIIGenome,文档位于docs/目录中(现在可能有更多的 readme.rst 和 index.rst 文件)。

因此,我登录阅读文档并按照他们的指示进行操作:

仪表板 ->导入项目->选择:https ://github.com/dariober/ASCIIGenome.git

然后对于 ASCIIGenome 项目我设置:

然后“build”->构建完成(通过)。

但是,一旦我访问http://asciigenome.readthedocs.io/en/latest/上的文档,我就会看到以下页面:

Welcome to Read the Docs
This is an autogenerated index file.

Please create a /home/docs/checkouts/readthedocs.org/user_builds/asciigenome/checkouts/latest/index.rst 

or /home/docs/checkouts/readthedocs.org/user_builds/asciigenome/checkouts/latest/README.rst file with your own content.

If you want to use another markup, choose a different builder in your settings.
Run Code Online (Sandbox Code Playgroud)

如果我点击该页面顶部的“在 GitHub 上编辑”链接,我会转到https://github.com/dariober/ASCIIGenome/blob//trunk//index.rst,在那里我发现了 404 …

svn github read-the-docs

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

处理蛇形中的SIGPIPE错误

以下snakemake脚本:

rule all:
    input:
        'test.done'

rule pipe:
   output:
       'test.done'
   shell:
        """
        seq 1 10000 | head > test.done
        """
Run Code Online (Sandbox Code Playgroud)

失败并显示以下错误:

snakemake -s test.snake

Provided cores: 1
Rules claiming more threads will be scaled down.
Job counts:
    count   jobs
    1   all
    1   pipe
    2

rule pipe:
    output: test.done
    jobid: 1

Error in job pipe while creating output file test.done.
RuleException:
CalledProcessError in line 9 of /Users/db291g/Tritume/test.snake:
Command '
        seq 1 10000 | head > test.done
        ' returned non-zero exit status 141. …
Run Code Online (Sandbox Code Playgroud)

sigpipe snakemake

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

gcc找不到cc1plus

我正在尝试在CentOS 6上安装python包pandas但是我遇到了gcc编译器的问题:

sudo pip install pandas
...    
creating build/temp.linux-x86_64-2.7/pandas/msgpack

gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -D__LITTLE_ENDIAN__=1 -Ipandas/src/msgpack -Ipandas/src/klib -Ipandas/src -I/opt/rh/python27/root/usr/lib64/python2.7/site-packages/numpy/core/include -I/opt/rh/python27/root/usr/include/python2.7 -c pandas/msgpack/_packer.cpp -o build/temp.linux-x86_64-2.7/pandas/msgpack/_packer.o -Wno-unused-function

gcc: error trying to exec 'cc1plus': execvp: No such file or directory

error: command 'gcc' failed with exit status 1

----------------------------------------
Cleaning up...
...
Run Code Online (Sandbox Code Playgroud)

所以看起来我需要cc1plus,通过阅读需要gcc-g ++.但我已经有了gcc-c ++:

sudo yum …
Run Code Online (Sandbox Code Playgroud)

python gcc centos pandas

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