2021.4.3
持續(xù)更新中遮晚。性昭。。
目的:從Illumina原始下機(jī)數(shù)據(jù)拼接細(xì)菌基因組草圖县遣。
軟件:FastQC糜颠、Cutadapt、Velvet萧求、SSPACE其兴、gapfiller
1. FastQC(v0.11.9) —— 質(zhì)控
fastqc <sequence_1.fastq.gz> <sequence_2.fastq.gz> -o <目錄名> -t 線程數(shù)
重要參數(shù):
1. -o:輸出文件目錄(需要提前新建一個(gè)目錄)
2. -t:選擇程序運(yùn)行的線程數(shù)
3. -f:指定輸入文件格式
主要結(jié)果文件:
*.html
2. Cutadapt(v3.3) —— 過濾
cutadapt -a AGATCGGAAGAGCACACGTCTGAACTCCAGTCA -A AGATCGGAAGAGCACACGTCTGAACTCCAGTCA
-o <sequence_filtered_1.fastq.gz> -p <sequence_filtered_2.fastq.gz>
-q 20,20 --max-n 0.1 -m 75 <sequence_1.fastq.gz> <sequence_2.fastq.gz>
我在另一臺(tái)計(jì)算機(jī)上安裝之后使用過程中遇到一些麻煩,好像是讀入文件的哪個(gè)模塊缺失夸政,暫時(shí)還未解決
重要參數(shù)
1. -a:paired-end測(cè)序文件中正向序列文件接頭序列(文件1)
2. -A:paired-end測(cè)序文件中反向序列文件接頭序列(文件2)
3. -o:文件1去接頭后的結(jié)果文件
4. -p:文件2去接頭后的結(jié)果文件
5. -q:序列兩端堿基質(zhì)量低于某一數(shù)值時(shí)被切除元旬,用,
隔開,例如:-q 20,20
。
6. -m:reads1和reads2中切除接頭后的序列長度最小值法绵,低于這個(gè)數(shù)值則去除,例如:-m 75
酪碘。
7. --max-n:N堿基占比一定比例時(shí)被去除朋譬,例如--max-n 0.1
,表示N堿基占read比例到10%時(shí)會(huì)被去除兴垦。
8:最后是兩個(gè)原始序列文件徙赢。
可選參數(shù)
1. -- pair-filter=(any|both):any表示read1 和 read2任何一個(gè)檢測(cè)到接頭均舍棄;both表示 read1 和 read2 全部檢測(cè)到接頭才舍棄read1 和 read2探越。(默認(rèn)any)
2. -O :默認(rèn)為3狡赐,即至少三個(gè)堿基配才認(rèn)為是adapter序列。
3. -e:最大錯(cuò)配比例钦幔,默認(rèn)是0.1枕屉。(解釋:cutadapt在一條read中檢測(cè)到20bp的接頭序列,那么允許該
20bp的接頭序列有2個(gè)堿基的錯(cuò)配)
3. Kmergenie —— 預(yù)測(cè)最佳kmer值和估計(jì)基因組大小
kmergenie <fq.list> -o <result> -s 10 -t 10
重要參數(shù):
1. fq.list:包含需要查詢的文件鲤氢,一行一個(gè)文件名(文件所在的絕對(duì)路徑)
2. -o:結(jié)果輸出的前綴名
3. -l:系統(tǒng)考慮的最小k值(默認(rèn):15)
4. -k:系統(tǒng)考慮的最大k值(默認(rèn):121)
5. -s:從最小k值到最大k值搀擂,每次增加的值(默認(rèn):10)
6. -t:線程數(shù)
我在另一臺(tái)計(jì)算機(jī)上安裝之后使用過程中遇到一些麻煩!原因還沒有弄清楚卷玉!
3. Velvet —— 拼接contigs
步驟一:利用velveth對(duì)數(shù)據(jù)構(gòu)建一個(gè)hash表
velveth <output> 111 -shortPaired -fastq -separate
<sequence_filtered_1.fastq.gz> <sequence_filtered_2.fastq.gz>
重要參數(shù):
1. output:輸出文件目錄
2. 111:即hash_lenghth哨颂,用來設(shè)置k-mer的大小。也可以是31,97,2
的形式相种,指分別拼接kmer從31到97威恼,依次增加2的序列(默認(rèn):31)
3. -shortPaired:reads的類型。
4. -fastq:輸入文件的格式(默認(rèn)是fasta)寝并。
5. -separate:分開兩個(gè)文件讀入箫措。
步驟二:velvetg進(jìn)行序列拼接
velvetg <output> -exp_cov auto -cov_cutoff auto
重要參數(shù):
1. <output>:velveth生成的結(jié)果目錄
2. -exp_cov:期望的kmer覆蓋度,設(shè)置成auto用于標(biāo)準(zhǔn)的基因組測(cè)序衬潦。該參數(shù)設(shè)置成auto后蒂破,-cov_cutoff也許設(shè)置成auto。
4. SSPACE —— 拼接scaffolds
4.1 下載安裝
1. 下載bowtie(或者bowtie2)
conda install bowtie2
2. 從github下載最新版本加壓縮進(jìn)入后進(jìn)入加壓縮目錄别渔。(最新的免費(fèi)版本是v2.1.1)
① 最新的版本可以用bwa直接處理壓縮包附迷,可惜作者并不是免費(fèi)提供的。
② 解壓縮后的SSPACE_Basic.pl
即是主要的執(zhí)行命令
4.2 使用
步驟一:寫配置文件library.txt
#中間以空格符隔開
#1 2 3 4 5 6
#文庫 正向序列 反向序列 插入文庫大小 偏差 reas方向(pairend測(cè)序和matepaire不一樣)
lib1 FP822_filtered_R1.fastq FP822_filtered_R2.fastq 500 0.25 FR
步驟二:scaffold
perl SSPACE_Basic_v2.0.pl -l <library.txt> -s <velvet_contigs.fa> -T 20 -b standard_out
重要參數(shù):
1. -l:后接配置文
2. -s:要連接的contig序列
3. -T:-T:線程數(shù)(默認(rèn):1)
4. -b:輸出文件前綴名
可選參數(shù):
① -m:利用reads對(duì)contig進(jìn)行衍生時(shí)哎媚,最小overlap的長度(默認(rèn):32bp)
② -o:利用reads對(duì)contig進(jìn)行衍生時(shí)喇伯,最小reads覆蓋的數(shù)量(默認(rèn):20)
③ -k:連接兩條contig連接時(shí),最小支持reads對(duì)數(shù)(默認(rèn):5對(duì))
④ -a:連接兩條contig連接時(shí)拨与,最大連接的比率(默認(rèn):0.7)
⑤ -n:連接兩條contig連接時(shí)稻据,最小需要的overlap長度(默認(rèn):15bp)
⑥ -z:用于連接scaffold的最小contig長度(默認(rèn):0)
⑦ -g:比對(duì)過程中,允許的gap數(shù)(默認(rèn):0)
⑧-p:是否輸出dot文件用于圖形展示(默認(rèn):0,不輸出)
5. GapFiller —— 拼接scaffolds
????由于無法獲得該軟件捻悯,因此補(bǔ)洞的時(shí)候選擇了其他的替代軟件:soapdenovo2-gapcloser匆赃。其配置文件的書寫方法總體同soapdenovo2,需要將asm_flags
的參數(shù)設(shè)置為4即可今缚。
- 配置文件
max_rd_len=150
[LIB]
avg_ins=439
reverse_seq=0
asm_flags=4
rank=1
pair_num_cutoff=3
map_len=32
q1=FP822_R1.fastq.gz
q2=FP822_R2.fastq.gz
- 使用方法
GapCloser -a <scaffolds.fasta> -b <config_file> -o <gapcloser_scaffolds.fasta> -l 150 -t 10
重要參數(shù):
-a:輸入scaffold文件
-b:輸入配置文件
-o:輸出文件名
-l:read的最大程度(默認(rèn)100)
-t:線程數(shù)(默認(rèn)1)
6. 結(jié)果
7. 總結(jié)
- 根據(jù)目前所獲得信息(拼接知識(shí)和軟件)算柳,該套流程拼接結(jié)果和公司較為接近。
- 影響最終拼接效果的因素有很多姓言,其中kmer取值較為關(guān)鍵瞬项。
- 如果有更好的軟件,后續(xù)會(huì)繼續(xù)更新何荚,也希望有高手指出不足之處囱淋。