[snippy]使用時遇到的問題和困惑

問題1:使用snippy用于fasta序列的文件SNP calling。發(fā)現(xiàn)結果中core.full.aln中,有開頭100bp和結尾的100bp被標記為NN

>JN580301
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGCTCACTCCTTGGCGCCTGC
CTGATCCTCCAAATCACCACAGGACTATTCCTAGCCATGCACTACTCACCAGACGCCTCA
ACCGCCTTTTCATCAATCGCCCACATCACTCGAGACGTAAATTATGGCTGAATCATCCGC
TACCTTCACGCCAATGGCGCCTCAATATTCTTTATCTGCCTCTTCCTACACATCGGGCGA
GGCCTATATTACGGATCATTTCTCTACTCAGAAACCTGAAACATCGGCATcATCCTCCTG
CTTGCAACTATAGCAACAGCCTTCATAGGCTATGTCCTCCCGTGAGGCCAAATATCATTC
TGAGGGGCCACAGTAATTACAAACTTACTATCCGCCATCCCATACATTGGGACAGACCTA
GTTCAATGAATCTGAGGAGGCTACTCAGTAGACAGTCCCACCCTCACACGATTCTTTACC
TTTCACTTCATCTTGCCCTTCATTATTGCAGCCCTAGCAgCACTCCACCTCCTATTCTTG
CACGAAACGGGATCAAACAACCCCCTAGGAATCACCTCCCATTCCGATAAAATCACCTTC
CACCCTTACTACACAATCAAAGACGCCCTCGGCTTACTTCTCTTCCTTCTCTCCTTAATG
ACATTAACACTATTCTCACCAGACCTCCTAGGCGACCCAGACAATTATACCCTAGCCAAC
CCCTTAAACACCCCTCCCCACATCAAGCCCGAATGATATTTCCTATTCGCCTACACAATT
CTCCGATCCGTCCCTAACAAACTAGGAGGCGTCCTTGCCCTATTACTATCCATCCTCATC
CTAGCAATAATCCCCATCCTCCATATATCCAAACAACAAAGCATAATATTTCGCCCACTA
AGCCAATCACTTTATTGACTCCTAGCCGCAGACCTCCTCATTCTAACCTGAATCGGAGGA
CAACCAGTAAGCTACNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN-----

查看snippy github的操作說明是和--mincov這個參數(shù)有關,--mincov N Minimum site depth to for calling alleles (default '10')
想著是不是調整為 --mincov 1 就可以避免前后100bp被替換成N。

  • mincov=1
    [23:09:25] Wrote 14 fake 250bp reads (2x, stride 250bp) to fake_reads.fq
    此時無SNP識別出,序列頭尾沒有替換成N

  • mincov=2
    [06:10:29] Wrote 28 fake 250bp reads (4x, stride 125bp) to fake_reads.fq
    此時有SNP識別出,且序列頭尾沒有替換成N

  • mincov=3
    [06:40:16] Wrote 40 fake 250bp reads (6x, stride 83.3333333333333bp) to fake_reads.fq
    此時有SNP識別出(同2),且序列頭尾有51bp替換成N

  • mincov=4
    [06:50:21] Wrote 54 fake 250bp reads (8x, stride 62.5bp) to fake_reads.fq
    此時有SNP識別出(同2),且序列頭尾有61bp替換成N

  • mincov=5
    [18:40:59] Wrote 66 fake 250bp reads (10x, stride 50bp) to fake_reads.fq
    此時有SNP識別出(同2),且序列頭尾有85bp替換成N

  • mincov=6
    [19:09:08] Wrote 80 fake 250bp reads (12x, stride 41.6666666666667bp) to fake_reads.fq
    此時有SNP識別出(同2),且序列頭尾有83bp替換成N

  • mincov=7
    [19:36:36] Wrote 92 fake 250bp reads (14x, stride 35.7142857142857bp) to fake_reads.fq
    此時有SNP識別出(同2),且序列頭尾有100bp替換成N

  • mincov=8
    [21:54:21] Wrote 106 fake 250bp reads (16x, stride 31.25bp) to fake_reads.fq
    此時有SNP識別出(同2),且序列頭尾有93bp替換成N

  • mincov=9
    [22:06:31] Wrote 118 fake 250bp reads (18x, stride 27.7777777777778bp) to fake_reads.fq
    此時有SNP識別出(同2),且序列頭尾有108bp替換成N

  • mincov=10 也是程序默認的參數(shù)
    [23:17:21] Wrote 132 fake 250bp reads (20x, stride 25bp) to fake_reads.fq
    此時有SNP識別出(同2),且序列頭尾有100bp替換成N

嘗試了多個mincov,在使用fasta序列進行SNP calling時,參數(shù)不同,最后生成的比對序列被替換的N也不同。沒有深究程序里思維,從表面看即使是使用組裝好的fasta基因組序列或contig,在SNP calling的過程中是先生成fake_reads.fq(250bp,單端),然后基于此fastq序列進行calling。運行結束又刪除了此文件。
在--mincov 2 時,開頭和結尾沒有N替換,不知道是我此次的序列數(shù)據的特例還是都是如此,需要多次實踐去嘗試了。

問題2:在有差異度比較大的序列存在時,容易出現(xiàn)SNP找不出來的狀況。比如一個物種有些特異序列,另一個物種里無特異序列,則這些特異序列就會被忽略掉,會造成最后的core SNP位點特別少。所以snippy看起來僅適合近源物種的SNP calling。

問題3:若一組基因序列中,有1條序列中有連續(xù)的若干個N存在,則此位點在合并后的序列中被去除,容易造成假的序列保守性的推論。故需要在做SNP calling時確保序列為高質量序列。比如測序基因組,若有明顯測序覆蓋度低的基因組,須在SNP calling前剔除。

這幾個問題是在有限的幾次嘗試中發(fā)現(xiàn)的。是不是真實如此,且解釋是否合適還需進一步探索,也歡迎各位同行留言討論~~~~

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容