一日一条命令-kneaddata写在前面kneaddata是一分结合质控和去除宿主的过程,集合了两个软件Trimmomatic和 Bowtie2,Trimmomatic作为质控软件应用的非常多,但是去除宿主的还有BMTagger软件。。这部分的核心是对序列和宿主的序列进行比对,并去除匹配上的序列,所以需要宿主基因组序列,不同的软件可能要构建不同的所以索引。值得注意的是这是Huttenhower lab开发专门质控宏基因组的工具。 KneadData需要FASTQ文件。它支持单端和双端序列。 安装要求Trimmomatic (版本== 0.33)(自动安装) 今日份—kneaddata这是一个综合软件,用于指控的去除宿主污染,所以这个软件封装了 两个子软件。 第一个就是:TrimmomaticTrimmomatic软件,2014年首次发表在Bioinformatics期刊上,是一款专门对Illumina平台测序产生的reads进行修剪和过滤的软件。自发表以来,Trimmomatic软件凭借其简单的安装方法、较快的运行速度(支持多线程)、强大的去接头能力(simple和palindrome两种模式)、多元化的低质量数据处理方式、人性化的输出格式(clean reads为一一对应的pair-end形式,无需再次处理)等特点,深受数据处理者喜爱! 安装过程直接使用conda即可安装成功 # 测试 Ubuntu 20 Bowtie2Bowtie2 只能索引基因组文件。是将测序reads与长参考序列比对工具,注意着个工具虽然类似我们RNAseq所使用的hisat2,并且用法也类似,但是Bowtie2 只能索引基因组文件。 这个软件已经在安装kneaddata的时候作为依赖安装进去了。 但是却需要基因组索引文件,这里我们需要手动下载,或者使用命令 软件提供的这个地方只有人类和小鼠的基因组索引文件,和几个测试文件,基本上是不够我们做生态的使用的。 下载索引到当前文件夹中 kneaddata_database --download human_genome bowtie2 ./ 可选的数据框有以下几个:可以通过kneaddata_database —available 命令查看。 human_genome : bmtagger = http://huttenhower.sph./kneadData_databases/Homo_sapiens_BMTagger_v0.1.tar.gz 但是如果有其他物种,这里可以单独使用bowtie2构建索引,就可以用使用在kneaddata 中了。kneaddata也没有自己构建很多的基因组供大家下载,还是成本太高啦。 使用Bowtie2构建索引这里我构建了玉米的索引,同样的方式适用于植物或者动物:
注意下载toplevel的全基因组。 bowtie2-build ./Zea_mays.B73_RefGen_v4.dna.toplevel.fa index
Trimmomaticillumina的几个接头和trimmomatic一般illumina就那么几个接头,如果你想知道接头的序列可以去illumina下载,或者再trimmomatic的安装文件里都有的。 点击下载 应该选择什么接头呢?我们一般选择这个接头:trimmomatic-0.39-1//adapters/TruSeq3-PE.fa 为什么选择这个呢?因为这和TruSeq protocol 协议有关系,一般来讲V2 使用在一些比较老的测序机器上,例如:GAII,比较新的及其,例如:HiSeq 。 SE 或者 PE分别代表是单端测序还是双端。 所以 TruSeq-3-PE.fa 就是最近几年的及其测的双端序列。 为什么我们还需要了解其他格式的接头呢?因为在NABI等数据库中的宏基因组数据可能会用到。 reference
kneaddata命令是否去除重复序列注意参数 —run-trim-repetitive ,为去除重复序列,这对于大量的重复序列非常重要,所以我们在运行的过程中添加上,例如:扩增子序列中就有大量的重复序列,添加该参数有助于减少运行时间。 如果不知道是否添加这个参数,可以使用fastqc来检测,添加参数:—fastqc FastQC; kneaddata --input demo.fastq -db demo_db -o kneaddata_output --run-trim-repetitive --fastqc FastQC 如何指定bowtie2和Trimmomatic工具自己的参数使用—bowtie2-options=后面用双引号接参数;Trimmomatic工具也是一样的道理;—trimmomatic-options=后面用双引号接参数;如果同一个工具添加多个参数,那就多用几个这种格式: 例如: kneaddata --input demo.fastq --output kneaddata_output --reference-db database_folder --bowtie2-options="--very-fast" --bowtie2-options="-p 2" 取宿主可可以去除多个宿主这个软件专门设计用于宏基因组,对于处理宿主数据就显得很得心应手,这里可以添加多个宿主,用于复杂环境去除宿主数据,例如: kneaddata --input demo.fastq --output kneaddata_output --reference-db database_folder --reference-db database_folder2/demo 根据示例文件运行数据 time kneaddata -i seq/p144C_1.fq.gz -i seq/p144C_2.fq.gz -o temp/qc -v -t 3 --remove-intermediate-output --trimmomatic /home/wentao/sra/Trimmomatic-0.38/ --trimmomatic-options 'SLIDINGWINDOW:4:20 MINLEN:50' --bowtie2-options '--very-sensitive --dovetail' -db ~/db/kneaddata/human_genome/Homo_sapiens 进行完成后的序列统计kneaddata_read_count_table --input temp/qc --output result/01kneaddata_sum.txt 结果文件
reference
常见问题- 可以不做阅读pip安装此安装方式会同时安装Trimmomatic和Bowtie2,以为好多人都已经安装过这两个依赖了,所以可以在安装过程中添加参数 pip install kneaddata 手动安装过程 Trimmomaticwget http://www./cms/uploads/supplementary/Trimmomatic/Trimmomatic-0.38.zip 创建BMTagger数据库默认情况下,这将生成参考数据库,其名称以开头reference.fasta。 kneaddata_build_database reference.fasta Homo_sapiens_db让多个索引文件具有统一的扩展名。 关于adapters的问题按照刘老师说的,目前公司都去除了接头了,那么如果没有去除接头,我们该如何选择adapters序列文件呢? 进入trimmomatic路径我们发现有很多的adapters。 cd ./metagenome_env/share/trimmomatic-0.39-1/adapters/ 这里有六个,那么如何决定选择哪个adapters来做trimmomatic,去除接头呢呢? NexteraPE-PE.fa TruSeq2-SE.fa TruSeq3-PE.fa java错误: -d64报错信息: Error message returned from Trimmomatic : 我不知道这是什么问题:首先开始修改java的版本 查找ubuntu下面到底安装了多少个java的版本: sudo update-alternatives --config java 发现我安装了好几个java。 0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 auto mode 这种方法选择数字没有更改了默认版本,所以我在这个文件中修改: sudo gedit /etc/profile 在文件中修改JAVA_HOME即可(输入sudo update-alternatives —config java即可看到这些路径) export JAVA_HOME=/usr/local/java/jdk1.7.0_80 完成之后source一下 source /etc/profile
|
|