作者:龙炎
联系邮箱:[email protected]
时间:2016/07/25
一.ABySS的功能
分别为: 组装paired-end库(paired-endlibrary),
组装多个库(multiplelibraries),
组装长距离的mate-pair库(Long-distance mate-pair libraries),
Rescaffolding with long sequences。
1.组装paired-end库(paired-end library)
$abyss-pename=ecoli k=64 in='reads1.fa reads2.fa'
参数的说明:
in: 输入文件来读,格式可能为FASTA,FASTQ, qseq, export, SRA, SAM or BAM或者打包为gz, bz2, xz, tar文件
name: 组装的contigs将会储存在文件${name}-contigs.fa中
k:简单来说就是两条序列重叠区段的碱基数,kmer越小,越容易将不同的reads连接起来,但是拼出来的contig就会相对比较碎,kmer越大,容易将测序等引入的错误被认为不匹配,从而人为的摒弃掉了相对较多的数据,这样得到的contig就较少
C:表示运行前换目录
n:表示一个contig含有的reads的最小个数,推荐设为10
2. 组装多个库(multiple libraries):
$abyss-pe k=64name=ecoli lib='pe200 pe500' pe200='pe200_1.fa pe200_2.fa' pe500='pe500_1.fape500_2.fa' se='se1.fa se2.fa'
组装库中的文件说明:
pe200库有文件pe200_1.fa和 pe200_2.fa
pe500库有文件pe500_1.fa和 pe500_2.fa
没有mates的reads放在se文件中,single-end的reads有文件se1.fa和se2.fa
3. 组装长距离的mate-pair库(Long-distance mate-pair libraries)
长距离的mate-pair 库可用来支架的组装,mate-pair的库的名字用mp表示
$abyss-pe k=64name=ecoli lib='pe1 pe2' mp='mp1 mp2' pe1='pe1_1.fa pe1_2.fa' pe2='pe2_1.fape2_2.fa' mp1='mp1_1.fa mp1_2.fa' mp2='mp2_1.fa mp2_2.fa'
4.Rescaffolding with long sequences
$abyss-pe k=64name=ecoli lib='pe1 pe2' mp='mp1 mp2' long=long1 \
pe1='pe1_1.fape1_2.fa' pe2='pe2_1.fa pe2_2.fa' \
mp1='mp1_1.famp1_2.fa' mp2='mp2_1.fa mp2_2.fa' \
long1=long1.fa
二.K的取值影响运行的结果,可以对K优化:
实例:
使用的数据reads1.fastq和reads2.fastq可由下面命令获取:
$wget http://www.bcgsc.ca/platform/bioinfo/software/abyss/releases/1.3.4/test-data.tar.gz
$export k
$for k in {20..25};do
> mkdir k$k
> abyss-pe–C k$k name=ecoli in=’../test-data/reads1.fastq ../test-data/reads2.fastq’
>done
$abyss-fack*/ecoli-contigs.fa
屏幕输出如下:
对结果的评判标准有N80, N50, N20
以N80为标准:k=20更优
以N50为标准:k=21更优
以N20为标准:k=23更优
二.并行运行
ABySS可直接调用这个命令:
$abyss-pe np=8
四.在集群系统下运行ABySS的实例
在SGE作业调度系统下提交作业
实例1:
to submit an array of jobs to assemble every odd value of k
between 51 and 63 using 64 processes for eachjob:
$mkdir k{51..63..2}
$qsub –N ecoli–pe openmpi 64 –t 51-63:2 ‘abyss-pe –C k$SGE_TASK_ID in=/data/reads.fa’
-N ecoli指定作业的名字
-pe openmpi 64表示在openmpi的环境下并行运行64个进程
在PBS作业调度系统下提交作业
实例1:
在中山大学南方1号集群系统上,用单节点12个进程运行ABySS,脚本文件test.sh内容如下:
#!/bin/bash
#PBS -N abyss_run
### 单节点12个进程
#PBS -l nodes=1:ppn=12
#PBS -j oe
#PBS -l walltime=00:00:30
cd $PBS_O_WORKDIR
NSLOTS=`cat ${PBS_NODEFILE} | wc -l`
source /public/scripts/openmpi143-gnu.sh
abyss-pe np=12 k=33 name=test in='/parastor/users/lnszyd/longyan/test-data-abyss/reads1.fastq /parastor/users/lnszyd/longyan/test-data-abyss/reads2.fastq'
提交作业
$qsub test.sh
实例2:
在中山大学南方1号集群系统上,用2个节点,每个节点12个进程,共24个进程运行ABySS,为了在多个节点上运行,必须创建一个hostfile文件用于分配节点,脚本文件test2.sh内容如下
#!/bin/bash
#PBS -N abyss_run
### 使用2个节点,共24个进程。
#PBS -lnodes=2:ppn=12
#PBS -j oe
#PBS -lwalltime=00:00:30
cd $PBS_O_WORKDIR
source/public/scripts/openmpi143-gnu.sh
abyss-pempirun="mpirun -x PATH -hostfile ${PWD}/myhostfile.txt" k=31 np=24name=C2 in=' /parastor/users/lnszyd/longyan/test-data-abyss/reads1.fastq /parastor/users/lnszyd/longyan/test-data-abyss/reads2.fastq'
myhostfile.txt内容:
c0 slots=12
c1 slots=12
提交:
$qsub test2.sh
实例3:
在中山大学南方1号集群系统上,用2个节点,每个节点12个进程,共24个进程运行ABySS,自动分配节点,脚本文件test3.sh内容如下:
#!/bin/bash
#PBS -N abyss_run
#PBS -l nodes=2:ppn=12
#PBS -j oe
#PBS -l walltime=00:00:30
#PBS -q compsci
cd $PBS_O_WORKDIR
source/public/scripts/openmpi143-gnu.sh
abyss-pempirun="mpirun -x PATH" k=31 np=24 name=C in='/parastor/users/lnszyd/longyan/test-data-abyss/reads1.fastq /parastor/users/lnszyd/longyan/test-data-abyss/reads2.fastq'
不需要写hostfile文件,提交脚本:
$qsub test3.sh
名词附录:
Reads:高通量测序平台产生的序列就称为reads
Contig:拼接软件基于reads之间的overlap区,拼接获得的序列称为Contig(重叠群)
Scaffold:基因组de novo测序,通过reads拼接获得Contigs后,往往还需要构建454 Paired-end库或Illumina Mate-pair库,以获得一定大小片段(如3Kb、6Kb、10Kb、20Kb)两端的序列。基于这些序列,可以确定一些Contig之间的顺序关系,这些先后顺序已知的Contigs组成Scaffold
Contig N50:Reads拼接后会获得一些不同长度的Contigs。将所有的Contig长度相加,能获得一个Contig总长度。然后将所有的Contigs按照从长到短进行排序,如获得Contig 1,Contig 2,Contig 3...………Contig 25。将Contig按照这个顺序依次相加,当相加的长度达到Contig总长度的一半时,最后一个加上的Contig长度即为Contig N50。举例:Contig 1+Contig 2+ Contig 3 +Contig 4=Contig总长度*1/2时,Contig 4的长度即为ContigN50。Contig N50可以作为基因组拼接的结果好坏的一个判断标准。
Contig N80:Reads拼接后会获得一些不同长度的Contigs。将所有的Contig长度相加,能获得一个Contig总长度。然后将所有的Contigs按照从长到短进行排序,如获得Contig 1,Contig 2,Contig 3...………Contig 25。将Contig按照这个顺序依次相加,当相加的长度达到Contig总长度的80%时,最后一个加上的Contig长度即为Contig N80。
Contig N20:Reads拼接后会获得一些不同长度的Contigs。将所有的Contig长度相加,能获得一个Contig总长度。然后将所有的Contigs按照从长到短进行排序,如获得Contig 1,Contig 2,Contig 3...………Contig 25。将Contig按照这个顺序依次相加,当相加的长度达到Contig总长度的20%时,最后一个加上的Contig长度即为Contig N80。
Scaffold N50:Scaffold N50与Contig N50的定义类似。Contigs拼接组装获得一些不同长度的Scaffolds。将所有的Scaffold长度相加,能获得一个Scaffold总长度。然后将所有的Scaffolds按照从长到短进行排序,如获得Scaffold 1,Scaffold 2,Scaffold 3...………Scaffold 25。将Scaffold按照这个顺序依次相加,当相加的长度达到Scaffold总长度的一半时,最后一个加上的Scaffold长度即为Scaffold N50。举例:Scaffold 1+Scaffold 2+ Scaffold 3 +Scaffold 4 +Scaffold 5=Scaffold总长度*1/2时,Scaffold 5的长度即为ScaffoldN50。Scaffold N50可以作为基因组拼接的结果好坏的一个判断标准
单端测序(Single-read)首先将DNA样本进行片段化处理形成200-500bp的片段,引物序列连接到DNA片段的一端,然后末端加上接头,将片段固定在flow cell上生成DNA簇,上机测序单端读取序列
Paired-end方法是指在构建待测DNA文库时在两端的接头上都加上测序引物结合位点,在第一轮测序完成后,去除第一轮测序的模板链,用对读测序模块(Paired-End Module)引导互补链在原位置再生和扩增,以达到第二轮测序所用的模板量,进行第二轮互补链的合成测序
Mate-pair文库制备旨在生成一些短的DNA片段,这些片段包含基因组中较大跨度(2-10 kb)片段两端的序列,更具体地说:首先将基因组DNA随机打断到特定大小(2-10 kb范围可选);然后经末端修复,生物素标记和环化等实验步骤后,再把环化后的DNA分子打断成400-600 bp的片段并通过带有链亲和霉素的磁珠把那些带有生物素标记的片段捕获。这些捕获的片段再经末端修饰和加上特定接头后建成mate-pair文库,然后上机测序
文章浏览阅读1.6k次。安装配置gi、安装数据库软件、dbca建库见下:http://blog.csdn.net/kadwf123/article/details/784299611、检查集群节点及状态:[root@rac2 ~]# olsnodes -srac1 Activerac2 Activerac3 Activerac4 Active[root@rac2 ~]_12c查看crs状态
文章浏览阅读1.3w次,点赞45次,收藏99次。我个人用的是anaconda3的一个python集成环境,自带jupyter notebook,但在我打开jupyter notebook界面后,却找不到对应的虚拟环境,原来是jupyter notebook只是通用于下载anaconda时自带的环境,其他环境要想使用必须手动下载一些库:1.首先进入到自己创建的虚拟环境(pytorch是虚拟环境的名字)activate pytorch2.在该环境下下载这个库conda install ipykernelconda install nb__jupyter没有pytorch环境
文章浏览阅读5.2k次,点赞19次,收藏28次。选择scoop纯属意外,也是无奈,因为电脑用户被锁了管理员权限,所有exe安装程序都无法安装,只可以用绿色软件,最后被我发现scoop,省去了到处下载XXX绿色版的烦恼,当然scoop里需要管理员权限的软件也跟我无缘了(譬如everything)。推荐添加dorado这个bucket镜像,里面很多中文软件,但是部分国外的软件下载地址在github,可能无法下载。以上两个是官方bucket的国内镜像,所有软件建议优先从这里下载。上面可以看到很多bucket以及软件数。如果官网登陆不了可以试一下以下方式。_scoop-cn
文章浏览阅读4.5k次,点赞2次,收藏3次。首先要有一个color-picker组件 <el-color-picker v-model="headcolor"></el-color-picker>在data里面data() { return {headcolor: ’ #278add ’ //这里可以选择一个默认的颜色} }然后在你想要改变颜色的地方用v-bind绑定就好了,例如:这里的:sty..._vue el-color-picker
文章浏览阅读640次。基于芯片日益增长的问题,所以内核开发者们引入了新的方法,就是在内核中只保留函数,而数据则不包含,由用户(应用程序员)自己把数据按照规定的格式编写,并放在约定的地方,为了不占用过多的内存,还要求数据以根精简的方式编写。boot启动时,传参给内核,告诉内核设备树文件和kernel的位置,内核启动时根据地址去找到设备树文件,再利用专用的编译器去反编译dtb文件,将dtb还原成数据结构,以供驱动的函数去调用。firmware是三星的一个固件的设备信息,因为找不到固件,所以内核启动不成功。_exynos 4412 刷机
文章浏览阅读2w次,点赞24次,收藏42次。Linux系统配置jdkLinux学习教程,Linux入门教程(超详细)_linux配置jdk
文章浏览阅读3.3k次,点赞5次,收藏19次。xlabel('\delta');ylabel('AUC');具体符号的对照表参照下图:_matlab微米怎么输入
文章浏览阅读119次。顺序读写指的是按照文件中数据的顺序进行读取或写入。对于文本文件,可以使用fgets、fputs、fscanf、fprintf等函数进行顺序读写。在C语言中,对文件的操作通常涉及文件的打开、读写以及关闭。文件的打开使用fopen函数,而关闭则使用fclose函数。在C语言中,可以使用fread和fwrite函数进行二进制读写。 Biaoge 于2024-03-09 23:51发布 阅读量:7 ️文章类型:【 C语言程序设计 】在C语言中,用于打开文件的函数是____,用于关闭文件的函数是____。
文章浏览阅读3.4k次,点赞2次,收藏13次。跟随鼠标移动的粒子以grid(SOP)为partical(SOP)的资源模板,调整后连接【Geo组合+point spirit(MAT)】,在连接【feedback组合】适当调整。影响粒子动态的节点【metaball(SOP)+force(SOP)】添加mouse in(CHOP)鼠标位置到metaball的坐标,实现鼠标影响。..._touchdesigner怎么让一个模型跟着鼠标移动
文章浏览阅读178次。项目运行环境配置:Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。项目技术:Springboot + mybatis + Maven +mysql5.7或8.0+html+css+js等等组成,B/S模式 + Maven管理等等。环境需要1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。_基于java技术的停车场管理系统实现与设计
文章浏览阅读3.5k次。前言对于MediaPlayer播放器的源码分析内容相对来说比较多,会从Java-&amp;gt;Jni-&amp;gt;C/C++慢慢分析,后面会慢慢更新。另外,博客只作为自己学习记录的一种方式,对于其他的不过多的评论。MediaPlayerDemopublic class MainActivity extends AppCompatActivity implements SurfaceHolder.Cal..._android多媒体播放源码分析 时序图
文章浏览阅读2.4k次,点赞41次,收藏13次。java 数据结构与算法 ——快速排序法_快速排序法