宏轉錄組學習筆記(二)

上次竟然忘記把學習的教程地址放上了,這裏首先放上:2018-cicese-metatranscriptomics

繼續前面的學習,前面已經把軟件安裝完成,數據庫準備好,下面就是分析的過程了,基本上按照原文的命令進行的,由於教程中沒有給出tara_f135_full_megahit.fasta這個文件,這裏我們就把這幾個樣本的組裝提到了前面,自己組裝獲得這個序列,然後再進行物種註釋。

質控

把不合格的數據去除,這裏使用了fastqc對每個樣本進行檢查,multiqc匯兌結果,然後Trimmomatic進行去除。

1.fastqc檢查,multiqc匯兌結果

#激活工作環境
conda activate tera
#爲了方便,設置變量,臨時有用,退出失效,所以再運行一次
export PROJECT=~/work
#進入文件夾
cd ${PROJECT}
#建立質控文件夾並進入,每個步驟建立文件夾是個好習慣
mkdir -p quality
cd quality
#軟鏈接數據,省去路徑問題,也是一個好方法
ln -s ../data/*.fq.gz ./
#再次check一切就緒
printf "I see $(ls -1 *.fq.gz | wc -l) files here.\n"
#開始質控,原文沒有加入多線程, 這裏我使用4線程
fastqc *.fq.gz -t 4
#查看確認運行完成,一般沒有問題
ls -d *fastqc.zip*
'''
TARA_135_DCM_5-20_rep1_1m_1_fastqc.zip TARA_135_SRF_5-20_rep2_1m_1_fastqc.zip 
...
TARA_135_SRF_5-20_rep1_1m_2_fastqc.zip TARA_136_SRF_5-20_rep2_1m_2_fastqc.zip
'''
#multiqc匯兌結果
multiqc .

運行完成後使用瀏覽器查看下結果如TARA_135_SRF_5-20_rep1_1m_1_fastqc.html,就是我們熟悉的網頁了。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-8yujkrcM-1585208089194)(https://jiawen.zd200572.com/wp-content/uploads/2020/03/qc.jpg)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-Q4SkJ6LV-1585208089199)(https://jiawen.zd200572.com/wp-content/uploads/2020/03/multiqc.jpg)]

2.根據質量修剪和過濾

#建立新的文件夾,軟鏈文件,準備adapters
cd $PROJECT
mkdir -p trim
cd trim
ln -s ../data/*.fq.gz .
cat ~/Miniconda/envs/tera/share/trimmomatic-*/adapters/* > combined.fa
#一個大的for循環解決問題
for filename in *1.fq.gz;
do
#使用 basename 變量去除 _1.fq.gz 產生 base變量,第一次見這種操作
base=$(basename $filename _1.fq.gz)
echo $base

# 運行 Trimmomatic
trimmomatic PE ${base}_1.fq.gz \
              ${base}_2.fq.gz \
     ${base}_1.qc.fq.gz s1_se \
     ${base}_2.qc.fq.gz s2_se \
     ILLUMINACLIP:combined.fa:2:40:15 \
     LEADING:2 TRAILING:2 \
     SLIDINGWINDOW:4:2 \
     MINLEN:25
# 保存orphans序列
gzip -9c s1_se s2_se >> orphans.qc.fq.gz
rm -f s1_se s2_se

done
#看下質控效果,同樣是fastqc-multiqc,一起完成,稍微看了眼,只去掉了很少序列數
fastqc *.qc.fq.gz -t 4 
multiqc .
#取消目錄下的所有文件可寫權限
chmod a-w ${PROJECT}/trim/*.qc.fq.gz

更多質控trim策略看這, MacManes, 2014 ,這是轉錄組的教程,但是原理應該通用。

Khmer錯誤修剪

前面的trimmomatic修剪後,依然有序列包含錯誤,Q30意味着1000個Q值是30的鹼基中,約有一個是錯的。高質量鹼基也會小概率的錯誤,反過來,許多低質量鹼基也是正確的。然後,我們修剪地很輕微,只去除了質量極低的鹼基。這是有意爲之,因爲組裝需要保留儘可能大的測序深度,組裝軟件可以通過測序深度判斷正確與否。另一個修剪選擇是基於k-mer丰度(kmer spectral error),文章顯示結果優於基於質量修剪。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-vqzESdQs-1585208089200)(https://ngs-docs.github.io/2018-cicese-metatranscriptomics/files/2014-zhang.png)]

它的邏輯是這樣的:如果你在高測序深度發現低丰度的K-mers,這些很可能就是錯誤。當然,菌株變異也會引起這樣。在宏轉錄組中可能遇到極低丰度的菌的情況,所以我們不必須做這一步。我們實驗室開發了一個方法,把序列按丰度高低分成兩個組,僅修剪高丰度的序列,這樣可以兼得低丰度序列,又能去除錯誤

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-wuKj6rjC-1585208089201)(https://ngs-docs.github.io/2018-cicese-metatranscriptomics/files/kmer-trimming.png)]

#建立文件夾並進入
cd ${PROJECT}
mkdir -p khmer_trim
cd khmer_trim
#選擇一個樣本開始,鏈接文件
ln -s ${PROJECT}/trim/TARA_135_SRF_5-20_*qc.fq.gz ./
#還是for循環運行,這一步是最耗內存和時間的,運行需要8G以上內存,否則會使用swap,運行速度變得超慢
#實測在8G內存上,如果有圖形界面的系統會卡死,開的無圖形界面的去服務器使用內存7.8G
#參數裏已經設置了內存8G,可能改小點也能運行,速度差別,沒有測試
for filename in *_1.qc.fq.gz
do
  #Use the program basename to remove _1.qc.fq.gz to generate the base
  base=$(basename $filename _1.qc.fq.gz)
  echo $base

  interleave-reads.py ${base}_1.qc.fq.gz ${base}_2.qc.fq.gz | \
  trim-low-abund.py - -V -Z 10 -C 3 -o - --gzip -M 8e9 | \
  extract-paired-reads.py --gzip -p ${base}.khmer.pe.fq.gz -s ${base}.khmer.se.fq.gz

done
'''
removing ./tmph8zrazrjkhmer/-.pass2
removing temp directory & contents (./tmph8zrazrjkhmer)
read 1995938 reads, 194677930 bp
wrote 1980263 reads, 192516464 bp
looked at 1910590 reads twice (1.96 passes)
removed 15675 reads and trimmed 36041 reads (2.59%)
trimmed or removed 1.11%% of bases (2161466 total)
1995938 reads were high coverage (100.00%);
skipped 0 reads/0 bases because of low coverage
fp rate estimated to be 0.000
output streamed to stdout
DONE; read 1980263 sequences, 982692 pairs and 14879 singletons
wrote to: TARA_135_SRF_5-20_rep2_1m.khmer.pe.fq.gz and TARA_135_SRF_5-20_rep2_1m.khmer.se.fq.gz
'''
#查看k-mer丰度變化,去除了少部分序列(幾萬條)
unique-kmers.py TARA_135_SRF_5-20_rep1_1m_1.qc.fq.gz TARA_135_SRF_5-20_rep1_1m_2.qc.fq.gz
'''
Estimated number of unique 32-mers in TARA_135_SRF_5-20_rep1_1m_1.qc.fq.gz: 58871706
Estimated number of unique 32-mers in TARA_135_SRF_5-20_rep1_1m_2.qc.fq.gz: 57626073
Total estimated number of unique 32-mers: 100687408
'''
unique-kmers.py TARA_135_SRF_5-20_rep1_1m.khmer.pe.fq.gz
'''
Estimated number of unique 32-mers in TARA_135_SRF_5-20_rep1_1m.khmer.pe.fq.gz: 100296061
Total estimated number of unique 32-mers: 100296061
'''

因爲這是專門用來培訓的小數據,如果真實數據去除的序列數應該比這個大得多。這裏有更多相關知識。

宏轉錄組組裝

基本過程就是你丟給軟件一些reads,獲得一些代表你的轉錄組的contigs,或者拉長沒有太多明顯多態性和長重複的reads。你使用修剪好的reads運行一個轉錄組組裝程序,得到一些組裝好的RNA。這些contigs代表環境中真核生物中的轉錄本(Poly-A mRNA)。

#建立文件夾,鏈接文件
cd $PROJECT
mkdir -p assembly
cd assembly
ln -fs ${PROJECT}/khmer_trim/*.khmer.pe.fq.gz .
ls
#組裝,這裏我採用12G內存,2線程,已經是我的筆記本的極限,實際運行下來只使用了幾百M的樣子
time megahit --12 TARA_135_SRF_5-20_rep1_1m.khmer.pe.fq.gz,TARA_135_SRF_5-20_rep2_1m.khmer.pe.fq.gz  --memory 12e9 --num-cpu-threads 4 --out-prefix TARA_135_SRF --out-dir ./TARA_135_SRF_khmer -f
詳細輸出如下:
'''
2020-03-15 13:29:51 - MEGAHIT v1.2.9
2020-03-15 13:29:51 - Using megahit_core with POPCNT and BMI2 support
2020-03-15 13:29:51 - Convert reads to binary library
2020-03-15 13:29:55 - b'INFO  sequence/io/sequence_lib.cpp  :   77 - Lib 0 (/home/ubuntu/work/assembly/TARA_135_SRF_5-20_rep1_1m.khmer.pe.fq.gz): interleaved, 1958670 reads, 101 max length'
2020-03-15 13:29:58 - b'INFO  sequence/io/sequence_lib.cpp  :   77 - Lib 1 (/home/ubuntu/work/assembly/TARA_135_SRF_5-20_rep2_1m.khmer.pe.fq.gz): interleaved, 1965384 reads, 101 max length'
2020-03-15 13:29:58 - b'INFO  utils/utils.h                 :  152 - Real: 7.6951\tuser: 2.6234\tsys: 0.4533\tmaxrss: 102644'
2020-03-15 13:29:58 - k-max reset to: 119 
2020-03-15 13:29:58 - Start assembly. Number of CPU threads 4 
2020-03-15 13:29:58 - k list: 21,29,39,59,79,99,119 
2020-03-15 13:29:58 - Memory used: 8000000000
2020-03-15 13:29:58 - Extract solid (k+1)-mers for k = 21 
2020-03-15 13:30:55 - Build graph for k = 21 
......
2020-03-15 13:42:29 - Build graph for k = 119 
2020-03-15 13:42:31 - Assemble contigs from SdBG for k = 119
2020-03-15 13:42:41 - Merging to output final contigs 
2020-03-15 13:42:41 - 16707 contigs, total 8656583 bp, min 202 bp, max 9085 bp, avg 518 bp, N50 520 bp
2020-03-15 13:42:41 - ALL DONE. Time elapsed: 770.087650 seconds 
#時間有點長,有十二分鐘。可以休息下,或者繼續閱讀後面的內容,準備下。
real    12m50.137s
user    23m11.702s
sys     0m7.025s
'''

查看組裝文件

輸出文件會是TARA_135_SRF_khmer/TARA_135_SRF.contigs.fa

#複製並重命名組裝文件
cp ./TARA_135_SRF_khmer/*contigs.fa tara135_SRF_megahit.fasta
head tara135_SRF_megahit.fasta 

我們爲什麼組裝,組裝的優點是什麼,對於組裝文件,我們能對它做些什麼呢?

  • 組裝集減少讀取冗餘,因此組裝每個轉錄本應具有大約一個序列,而不是讀取,因爲讀取每個腳本具有許多讀取。
  • 組裝的連續體比讀取時間長,因此更容易對它們進行基因搜索。我們明天再報道!
  • 程序集的錯誤也比讀取少,因此樣本比較等可能更準確。但是,如果數據覆蓋範圍確實很低,並且大量信息也會丟失,則程序集也可能消除某些數據。

進一步參考

還有其他的組裝軟件,你可以用您的數據嘗試,其中一些列在我們的參考頁。我們感興趣的一個是PLASS,它在蛋白質水平組裝!

組裝評估和定量

Transrate是一個可用於幾種不同類型的組裝評估的程序。第一個也是最簡單的方法是計算有關組裝基於長度的指標,例如總鹼基數和contigs的 N50。Transrate還可用於比較兩個組裝或給出一個分數,該分數表示爲組裝提供積極支持的輸入reads的比例。有關指標以及如何運行基於參考的Transrate的更多信息,請參閱Smith-Unna 等人 2016 年的文檔和論文。

#檢查$PROJECT變量
echo $PROJECT
cd $PROJECT
#建立文件夾並進入
mkdir -p evaluation
cd evaluation
#把組裝文件複製過來,應該是文件比較小就不鏈接了
cp $PROJECT/assembly/tara135_SRF_megahit.fasta ./
#使用transrate產生組裝統計數據,這裏我沒有加環境變量,直接絕對路徑運行了
./transrate-1.0.3-osx/transrate -h #查看幫助,測試軟件可用
#統計
time ./transrate-1.0.3-osx/transrate --assembly tara135_SRF_megahit.fasta
'''
[ INFO] 2020-03-15 14:15:45 : Loading assembly: /Users/zd200572/work/evaluation/evaluation/tara135_SRF_megahit.fasta
[ INFO] 2020-03-15 14:15:46 : Analysing assembly: /Users/zd200572/work/evaluation/evaluation/tara135_SRF_megahit.fasta
[ INFO] 2020-03-15 14:15:46 : Results will be saved in /Users/zd200572/work/evaluation/evaluation/transrate_results/tara135_SRF_megahit
[ INFO] 2020-03-15 14:15:46 : Calculating contig metrics...
[ INFO] 2020-03-15 14:15:48 : Contig metrics:
[ INFO] 2020-03-15 14:15:48 : -----------------------------------
[ INFO] 2020-03-15 14:15:48 : n seqs                        16707
[ INFO] 2020-03-15 14:15:48 : smallest                        202
[ INFO] 2020-03-15 14:15:48 : largest                        9085
[ INFO] 2020-03-15 14:15:48 : n bases                     8656583
[ INFO] 2020-03-15 14:15:48 : mean len                     518.14
[ INFO] 2020-03-15 14:15:48 : n under 200                       0
[ INFO] 2020-03-15 14:15:48 : n over 1k                       909
[ INFO] 2020-03-15 14:15:48 : n over 10k                        0
[ INFO] 2020-03-15 14:15:48 : n with orf                     5531
[ INFO] 2020-03-15 14:15:48 : mean orf percent              84.25
[ INFO] 2020-03-15 14:15:48 : n90                             331
[ INFO] 2020-03-15 14:15:48 : n70                             408
[ INFO] 2020-03-15 14:15:48 : n50                             520
[ INFO] 2020-03-15 14:15:48 : n30                             711
[ INFO] 2020-03-15 14:15:48 : n10                            1208
[ INFO] 2020-03-15 14:15:48 : gc                              0.5
[ INFO] 2020-03-15 14:15:48 : bases n                           0
[ INFO] 2020-03-15 14:15:48 : proportion n                    0.0
[ INFO] 2020-03-15 14:15:48 : Contig metrics done in 2 seconds
[ INFO] 2020-03-15 14:15:48 : No reads provided, skipping read diagnostics
[ INFO] 2020-03-15 14:15:48 : No reference provided, skipping comparative diagnostics
[ INFO] 2020-03-15 14:15:48 : Writing contig metrics for each contig to /Users/zd200572/work/evaluation/evaluation/transrate_results/tara135_SRF_megahit/contigs.csv
[ INFO] 2020-03-15 14:15:48 : Writing analysis results to assemblies.csv

real    0m4.218s
user    0m3.837s
sys     0m0.291s
'''
ln -s ../assembly/tara_f135_full_megahit.fasta
# full vs. subset 因爲這裏沒有全部的,這步沒做
./transrate-1.0.3-osx/transrate --reference=tara_f135_full_megahit.fasta --assembly=tara135_SRF_megahit.fasta --output=full_v_subset

# subset vs. full 因爲這裏沒有全部的,這步沒做
./transrate-1.0.3-osx/transrate --assembly=tara_f135_full_megahit.fasta --reference=tara135_SRF_megahit.fasta --output=subset_v_full

用salmon量化reads

這個組裝對我們測序reads的代表性如何,我們將使用鮭魚來量化表達。Salmon 是一種用於量化 RNAseq reads的新軟件,它既運行快,又考慮了轉錄本的長度(Patro等人,2017 年)。

您可以在此處閱讀更多有關salmon類似的"pseudoalignment":

#首先鏈接文件
ln -s ${PROJECT}/trim/TARA_135_SRF_5-20_*.qc.fq.gz ./ 
#用salmon進行定量
#檢查salmon是否可用,並查看運行選項:
salmon -h
'''
salmon v1.1.0

Usage:  salmon -h|--help or
        salmon -v|--version or
        salmon -c|--cite or
        salmon [--no-version-check] <COMMAND> [-h | options]

Commands:
     index Create a salmon index
     quant Quantify a sample
     alevin single cell analysis
     swim  Perform super-secret operation
     quantmerge Merge multiple quantifications into a single file
'''
#set -u 讓你知道是否有任何未設置的變量,即如果變量未定義。
set -u
printf "\nMy trimmed data is in $PROJECT/trim/, and consists of $(ls -1 ${PROJECT}/trim/*.qc.fq.gz | wc -l) files\n\n"
set +u
cd ${PROJECT}
mkdir -p quant
cd quant
#文章中原文使用的是全部的數據集,因爲手上沒有,就用前面組裝的那個代替了 
ln -s  $PROJECT/assembly/tara135_SRF_megahit.fasta ./tara_f135_full_megahit.fasta
#首先 索引
salmon index --index tara135 --transcripts tara_f135_full_megahit.fasta
'''
index ["tara135"] did not previously exist  . . . creating it
[2020-03-15 15:18:00.055] [jLog] [info] building index
out : tara135
[2020-03-15 15:18:00.077] [puff::index::jointLog] [info] Running fixFasta
[Step 1 of 4] : counting k-mers
counted k-mers for 10000 transcripts
[2020-03-15 15:18:00.705] [puff::index::jointLog] [info] Replaced 0 non-ATCG nucleotides
[2020-03-15 15:18:00.705] [puff::index::jointLog] [info] Clipped poly-A tails from 22 transcripts
[2020-03-15 15:18:01.220] [puff::index::jointLog] [info] ntHll estimated 7962681 distinct k-mers, setting filter sizeto 2^28
Threads = 2
Vertex length = 31
Hash functions = 5
Filter size = 268435456
Capacity = 2
Files:
tara135/ref_k31_fixed.fa
--------------------------------------------------------------------------------
Round 0, 0:268435456
Pass    Filling Filtering
1       3       87
2       76      0
True junctions count = 13582
False junctions count = 42694
Hash table size = 56276
Candidate marks count = 75419
--------------------------------------------------------------------------------
Reallocating bifurcations time: 0
True marks count: 61643
Edges construction time: 49
--------------------------------------------------------------------------------
Distinct junctions = 13582

approximateContigTotalLength: 7171187
counters:
245 39 48 2
contig count: 34564 element count: 9003711 complex nodes: 334
# of ones in rank vector: 34563
[2020-03-15 15:21:38.689] [puff::index::jointLog] [info] Setting the index/BinaryGfa directory tara135
size = 9003711
-----------------------------------------
| Loading contigs | Time = 2.9299 ms
-----------------------------------------
size = 9003711
-----------------------------------------
| Loading contig boundaries | Time = 2.6109 ms
-----------------------------------------
Number of ones: 34563
Number of ones per inventory item: 512
Inventory entries filled: 68
[2020-03-15 15:21:38.735] [puff::index::jointLog] [info] Done wrapping the rank vector with a rank9sel structure.
[2020-03-15 15:21:38.761] [puff::index::jointLog] [info] contig count for validation: 34563
[2020-03-15 15:21:38.792] [puff::index::jointLog] [info] Total # of Contigs : 34,563
[2020-03-15 15:21:38.792] [puff::index::jointLog] [info] Total # of numerical Contigs : 34,563
[2020-03-15 15:21:38.839] [puff::index::jointLog] [info]
Total # of segments we have position for : 34,563
[2020-03-15 15:21:38.845] [puff::index::jointLog] [info] total contig vec entries 45,794
[2020-03-15 15:21:38.845] [puff::index::jointLog] [info] bits per offset entry 16
[2020-03-15 15:21:38.896] [puff::index::jointLog] [info] there were 21,081  equivalence classes
[2020-03-15 15:21:38.952] [puff::index::jointLog] [info] # segments = 34,563
[2020-03-15 15:21:38.952] [puff::index::jointLog] [info] total length = 9,003,711
[2020-03-15 15:21:38.962] [puff::index::jointLog] [info] Reading the reference files ...
[2020-03-15 15:21:39.035] [puff::index::jointLog] [info] positional integer width = 24
[2020-03-15 15:21:39.035] [puff::index::jointLog] [info] seqSize = 9,003,711
[2020-03-15 15:21:39.035] [puff::index::jointLog] [info] rankSize = 9,003,711
[2020-03-15 15:21:39.035] [puff::index::jointLog] [info] edgeVecSize = 0
[2020-03-15 15:21:39.035] [puff::index::jointLog] [info] num keys = 7,966,821
for info, total work write each  : 2.331    total work inram from level 3 : 4.322  total work raw : 25.000
[Building BooPHF]  100  %   elapsed:   0 min 4  sec   remaining:   0 min 0  sec
Bitarray        41749312  bits (100.00 %)   (array + ranks )
final hash             0  bits (0.00 %) (nb in final hash 0)
[2020-03-15 15:21:43.505] [puff::index::jointLog] [info] mphf size = 4.97691 MB
[2020-03-15 15:21:43.514] [puff::index::jointLog] [info] chunk size = 4,501,856
[2020-03-15 15:21:43.516] [puff::index::jointLog] [info] chunk 0 = [0, 4,501,856)
[2020-03-15 15:21:43.525] [puff::index::jointLog] [info] chunk 1 = [4,501,856, 9,003,681)
[2020-03-15 15:21:44.832] [puff::index::jointLog] [info] finished populating pos vector
[2020-03-15 15:21:44.832] [puff::index::jointLog] [info] writing index components
[2020-03-15 15:21:51.498] [puff::index::jointLog] [info] finished writing dense pufferfish index
[2020-03-15 15:21:51.507] [jLog] [info] done building index
'''
#然後,比對定量
 ln -s ../trim/*.qc.fq.gz ./
for sample in *1.qc.fq.gz
do
  base=$(basename $sample _1.qc.fq.gz)
  echo $base
  salmon quant -i tara135 -p 2 -l A -1 ${base}_1.qc.fq.gz -2 ${base}_2.qc.fq.gz -o ${base}_quant
done 
'''
將建立一系列文件夾,每個包含幾個文件,
   aux_info
   cmd_info.json
   lib_format_counts.json
   libParams
   logs
   quant.sf
#以下是輸出
TARA_135_DCM_5-20_rep1_1m
Version Info: Could not resolve upgrade information in the alotted time.
Check for upgrades manually at https://combine-lab.github.io/salmon
### salmon (mapping-based) v1.1.0
### [ program ] => salmon
### [ command ] => quant
### [ index ] => { tara135 }
### [ threads ] => { 2 }
### [ libType ] => { A }
### [ mates1 ] => { TARA_135_DCM_5-20_rep1_1m_1.qc.fq.gz }
### [ mates2 ] => { TARA_135_DCM_5-20_rep1_1m_2.qc.fq.gz }
### [ output ] => { TARA_135_DCM_5-20_rep1_1m_quant }
......
[2020-03-15 15:23:42.811] [jointLog] [info] Mapping rate = 7.51527%
[2020-03-15 15:23:42.811] [jointLog] [info] finished quantifyLibrary()
[2020-03-15 15:23:42.811] [jointLog] [info] Starting optimizer
[2020-03-15 15:23:42.838] [jointLog] [info] Marked 0 weighted equivalence classes as degenerate
[2020-03-15 15:23:42.839] [jointLog] [info] iteration = 0 | max rel diff. = 389.945
[2020-03-15 15:23:43.007] [jointLog] [info] iteration = 100 | max rel diff. = 4.15249e-16
[2020-03-15 15:23:43.010] [jointLog] [info] Finished optimizer
[2020-03-15 15:23:43.010] [jointLog] [info] writing output
'''
#查看下contig表達的相關信息
 head -20 TARA_135_SRF_5-20_rep1_1m_quant/quant.sf 
 '''
 Name    Length  EffectiveLength TPM     NumReads
k119_0  520     307.784 37.218819       6.000
k119_1  365     183.149 31.273300       3.000
k119_8414       1160    975.533 27.399576       14.000
k119_2  585     380.586 45.148977       9.000
k119_3  429     245.318 38.913383       5.000
k119_8415       971     786.533 38.838355       16.000
k119_8416       391     208.092 64.224392       7.000
k119_4  1078    878.533 14266.484104    6564.736
k119_8417       434     250.228 30.519799       4.000
k119_8418       419     235.507 32.427598       4.000
k119_5  881     696.533 38.374625       14.000
k119_8419       308     130.702 58.429974       4.000
k119_6  341     160.515 59.471764       5.000
k119_8420       411     227.646 83.868114       10.000
k119_7  365     183.149 106.604899      10.226
k119_8421       818     633.533 75.340516       25.000
k119_8422       321     142.271 67.098405       5.000
k119_8423       371     188.900 70.749454       7.000
k119_8424       491     306.791 24.892887       4.000
'''
#查看下總比對率,因爲沒有真正的數據,所以比對率極低。。。。。。
less TARA_135_SRF_5-20_rep1_1m_quant/logs/salmon_quant.log
grep Mapping *quant/logs/*
'''
TARA_135_DCM_5-20_rep1_1m_quant/logs/salmon_quant.log:[2020-03-15 15:23:15.464] [jointLog] [info] Usage of --validateMappings implies use of minScoreFraction. Since not explicitly specified, it is being set to 0.65
...
TARA_137_DCM_5-20_rep2_1m_quant/logs/salmon_quant.log:[2020-03-15 15:27:18.742] [jointLog] [info] Mapping rate = 1.65539%
'''

評估讀取映射的另一種方法

Transrate 實際上具有一種用於將reads"比對"到轉錄組的模式,並在讀取映射上生成一些指標。read assessmentsalmon

./transrate --assembly=tara135_SRF_megahit.fasta --threads=2 --left=*_1.qc.fq.gz --right *_2.qc.fq.gz --output=${PROJECT}/evaluation/tara135_SRF_transrate

其他有用的教程和參考資料

  • https://github.com/ngs-docs/2015-nov-adv-rna/blob/master/salmon.rst
  • http://angus.readthedocs.io/en/2016/rob_quant/tut.html
  • https://2016-aug-nonmodel-rnaseq.readthedocs.io/en/latest/quantification.html
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章