我需要一次读取一个文件,我正在使用该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) 使用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)
谢谢
在我的~/.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) 在 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) 我在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因为我想使用选项nrow和ncol随附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) 在 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) 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
我无法将我为项目准备的文档上传到readthedocs,并且我正在尝试了解问题所在。该文档在本地构建得很好,make html但我无法上传它。
GitHub 项目是ASCIIGenome,文档位于docs/目录中(现在可能有更多的 readme.rst 和 index.rst 文件)。
因此,我登录阅读文档并按照他们的指示进行操作:
仪表板 ->导入项目->选择:https ://github.com/dariober/ASCIIGenome.git
然后对于 ASCIIGenome 项目我设置:
名称:ASCII基因组
存储库 URL: https: //github.com/dariober/ASCIIGenome.git
存储库类型:Git
然后“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 …
以下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) 我正在尝试在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)