Ubuntu下安装java和多版本java共存控制

教你通过命令jdk7,jdk8就可以优雅的切换java版本

我在机器上已有java7(java1.7),目前而言java7应该是用的最广泛的,被java8取代还需要一段时间。不过我遇到最新版的picard要求java8版本,才遇到了安装新版java的问题,并且我不想删掉老版本java,我希望很方便的调用。

我查找的方法介绍,大部分都是通过update-alternatives –config java来选择,个人不喜欢这种方法。下面介绍一种比较优雅的方法,通过一个命令就能切换java版本。

更新Bioconductor包--update a Bioconductor package

A package belong to Bioconductor was updated (major revision) and released. I want to use the up to date package while in analysing. I am willing to use the new feature, so I need to update this package. I had tried many ways and many times, and finally found a possible way.

更新Bioconductor中的特定包到最新版本。需要首先更新R,其次更新Bioconductor,最终更新包。

1, First your should update your R version

1
2
sudo apt-get update
sudo apt-get install r-base

This will allow the latest Bioconductor to work compitablly.

2, Second update Bioconductor

1
2
3
>remove.packages("BiocInstaller")  
source("http://bioconductor.org/biocLite.R") 
biocLite()  

# this will fix an error: Error: Bioconductor version *** cannot be upgraded with R version *** # install latest BiocInstaller # update Bioconductor

3,Third update your target package

1
2
emove.packages("package-name")   
biocLite("package-name")  

# remove old version # install the latest version

思考--在比对时,关于是否将chr*_random和chrUn_*序列放在参考基因组中的思考

通常认为chr1-22,chrY,chrX和chrM为参考基因组序列,于是包括我在内的很多人,分别下载了25条染色体序列,合并成一个fasta文件,用bowtie2或者BWA构建index,用于下一步的read比对,然后是各种分析(包括突变、转录表达等)。

UCSC下载的HG19版本的整个参考基因组文件http://hgdownload.cse.ucsc.edu/goldenPath/hg19/bigZips/chromFa.tar.gz中,除还包括chr*random和chrUn序列(暂时理解为补丁序列,真实的补丁序列称呼常见assemble过程,见http://www.ncbi.nlm.nih.gov/projects/genome/assembly/grc/info/patches.shtml,有fix 和novel patch,这里我们现在只讨论chrrandom和chrUn*)。

The chr_random* sequences are unplaced sequence on those reference chromosomes.

The chrUn_* sequences are unlocalized sequences where the corresponding reference chromosome has not been determined.

当然如果DNA或RNA测序的read比对到chr*random 和 chrUn* 序列上,显示大多数人都不关注这些序列上信息,我想这也是很多人不把chr*random 和 chrUn* 放到参考基因组fasta文件中的原因。但是,chr*random 和 chrUn* 显然是存在的,只不过现在暂时没有确定位置或者后续用于基因组序列更正。

如果参考基因组序列中不包含chr*random 和 chrUn序列,那么原来属于chrrandom 和 chrUn的read则有可能比对到(不是一定)chr1-22,chrX,chrY上的相似区域(这些区域与chrrandom 和 chrUn*中的部分区域相似),造成假阳性比对,后续这些reads提供的信息都是不可靠的。

如果参考基因组序列中包含chr*random 和 chrUn序列,那么来自这些区域的reads则会正确的比对到这个地方,没有假阳性比对,只不过后续分析不需要考虑chrrandom 和 chrUn*即可。

1
2
3
4
假设有一条read来自chr1_random,
条件                                     比对结果             分析结果
基因组fa文件包含chr1_random序列          比对到chr1_random    后续不考虑
基因组fa文件中不包含chr1_random序列      比对到chr1           造成假阳性<

举个例子,以前,我们确认一个突变是否存在,看覆盖这个点的read上有多少突变的碱基,如果覆盖这个点的read本来属于chr*random 和 chrUn*序列的,但比对到这个地方,即使这个位点的突变碱基再多,也是个假阳性突变,影响后续分析。

Breakdancer------Error: no bams files in config file!

breakdancer在call structure variant的时候,生成的文件中只有一行报错的信息 Error: no bams files in config file!

这是因为breakdancer在call SV之前,要先生成配置文件cfg文件。生成cfg文件的依据,是统计bam文件中paired read的插入长度,read的平均长度等信息。如果bam文件中的read都不是配对的或者很少有配对的,在运行bam2cfg.pl时,就会生成空的配置文件,导致检测不出SV,报 Error: no bams files in config file! 错误。

解决方法:

1,准备正确的bam文件,确保足够的配对读长paired reads,以便生成cfg配置文件

2,同一批样本的插入长度,read平均长度等都差不多,可以将其他文件生成的cfg文件中的 map: 选项后改为你的bam文件。即利用其他bam文件生成的cfg文件,当作要检测SV的bam的配置。