【SV分析】02如何使用smartie-sv Calling SV

上一次小編介紹了如何下載物種的contig數(shù)據(jù),沒看過的小伙伴可以點(diǎn)擊以下鏈接:
http://www.reibang.com/p/08104688516f

這次小編介紹下如何做Alignment以及SV 譜系分配(lineage assignment)震鹉?
第一步: 配置所需程序路徑俱笛,配置前請確保你的機(jī)器上安裝了以下軟件:

hdf5,bzip传趾,lzmalib迎膜,openssl,snakemake1浆兰,python星虹,blasr零抬,smartie-sv-master

配置過程:

export HDF5INCLUDEDIR=/path /hdf5/include
export HDF5LIBDIR=/path/hdf5/lib
export LD_LIBRARY_PATH=/path/hdf5/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/path/zlib-1.2.7:/path/bzip2-1.0.6:/path/lzmalib-0.0.1:/path/curl-7.28.1/lib:/path/openssl-1.0.1:$LD_LIBRARY_PATH
export PATH=/path/snakemake/bin:$PATH
export PYTHONPATH=/path/python3.6/lib/python3.6/site-packages:/path/snakemake

第二步:構(gòu)建基因組索引,在此我們用人類(GRCh38) & 黑猩猩(pantro6)為例

/smartie-sv-master/bin/sawriter panTro6.contig.fasta
/smartie-sv-master/bin/sawriterGCF_000001405.38_GRCh38.p12_genomic.fa

第三步:運(yùn)行snakefile

# target:hg38 query:pantro6
snakemake -s Snakefile -w 50  -p -k -j 20

Snakefile:


shell.prefix("source config.sh; set-eo pipefail ; ")

configfile: "config.json"

def _get_target_files(wildcards):

   return config["targets"][wildcards.target] 

def _get_query_files(wildcards):

       return config["queries"][wildcards.query] 

rule dummy:

    input: expand("variants/{target}-{query}.svs.bed",target=config["targets"], query=config["queries"])

rule callSVs:

    message: "Calling SVs"

    input  :SAM="mappings/{target}-{query}-aligned.sam",TARGET=_get_target_files, PG=config["install"] +"/bin/printgaps"

    output : "variants/{target}-{query}.svs.bed"

    shell  : """

           cat {input.SAM} | {input.PG} {input.TARGET}variants/{wildcards.target}-{wildcards.query}

     """ 

rule runBlasr:

    message: "Aligning query to target"

    input:  BL=config["install"] + "/bin/blasr",TARGET=_get_target_files, QUERY=_get_query_files

    output: "mappings/{target}-{query}-aligned.sam","unmappings/{target}-{query}-unaligned.fasta"

    shell:   """

              {input.BL} -clipping hard-alignContigs -sam -minMapQV 30 -nproc 6 -minPctIdentity 50 -unaligned{output[1]} {input.QUERY} {input.TARGET} -out {output[0]}

    """

config.json

{
       "install" :"/path /smartie-sv-master",
       "targets" : {
                  "hg38" : "/hg38/GCA_000001405.27_GRCh38.p12_genomic.retain.fasta"
                  },
       "queries" : {
                 "pantro6"   : "/Path/pantro6/panTro6.contig.fasta "
          },
}

config.sh

# this is only if you don't have hdflibrary globally installed
exportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:/net/eichler/vol5/home/mchaisso/software/hdf/lib

以上是如何進(jìn)行Alignment以及Calling SV宽涌,下面介紹下如何做SV assignment平夜?

首先介紹下Assignment原理

Assignment原理

表格中1表示在物種中出現(xiàn),0表示不出現(xiàn)卸亮,1-5表示物種1-5
如果SV1在物種1中出現(xiàn)忽妒,且只與物種2中某一個SV(任何一個都可以)重疊,則認(rèn)為該SV是1,2shared SV兼贸。
如果SV1在物種1中出現(xiàn)段直,且與物種2和3中某一個SV(任何一個都可以)重疊,則認(rèn)為該SV是1,2,3 shared SV溶诞。
表格中的其他lineage分配類似鸯檬。

注意:

1)后期在分配時只考慮SV有沒有重疊,不需要考慮他們的坐標(biāo)螺垢,也不需要合并他們的坐標(biāo)喧务。
2)后期判斷某一個SV在物種中有沒有,就看他有沒有和物種里的SV重疊枉圃,只要有一個重疊功茴,就認(rèn)為它在該物種中有

1, AssignDeletion缺失

第一步:得到每兩兩物種之間overlap的SV列表,

只要兩個SV重疊度大于50%則認(rèn)為是同一個SV(這里采用的標(biāo)準(zhǔn)是參照reference【1】里的標(biāo)準(zhǔn)孽亲,也可以設(shè)置其他的標(biāo)準(zhǔn))
for i in `ls *del.bed`
do
for j in `ls *del.bed`
do
if[ $i != $j ]
then
bedtools intersect -a $i -b $j -f 0.5 -r -wo >${i%.*}.${j%.*}.common
fi
done
done

第二步:將SV分配到各個分支上去

perl convert5SpeciesSVToLineageSV-v2.pl--allSVList allSVList --commonSVFileMat commonMat-5 --outPrefix out > log

2. Assign insertion插入

首先你需要將SV_end =SV_start + svLen. 生成一個新的SV bed文件坎穿,然后參照缺失deletion的做法進(jìn)行分配。

注:convert5SpeciesSVToLineageSV-v2.pl是小編自寫腳本返劲。如有需要玲昧,請進(jìn)QQ群下載,群號:756263353篮绿, 文件分享在群文件里面
參考資料:

【1】2018-Science- High-resolution comparative analysis of great apegenomes

歡迎轉(zhuǎn)載酌呆,轉(zhuǎn)載請說明出處!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末搔耕,一起剝皮案震驚了整個濱河市隙袁,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌弃榨,老刑警劉巖菩收,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異鲸睛,居然都是意外死亡娜饵,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進(jìn)店門官辈,熙熙樓的掌柜王于貴愁眉苦臉地迎上來箱舞,“玉大人遍坟,你說我怎么就攤上這事∏绻桑” “怎么了愿伴?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長电湘。 經(jīng)常有香客問我隔节,道長,這世上最難降的妖魔是什么寂呛? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任怎诫,我火速辦了婚禮,結(jié)果婚禮上贷痪,老公的妹妹穿的比我還像新娘幻妓。我一直安慰自己,他們只是感情好劫拢,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布肉津。 她就那樣靜靜地躺著,像睡著了一般尚镰。 火紅的嫁衣襯著肌膚如雪阀圾。 梳的紋絲不亂的頭發(fā)上哪廓,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天狗唉,我揣著相機(jī)與錄音,去河邊找鬼涡真。 笑死分俯,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的哆料。 我是一名探鬼主播缸剪,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼东亦!你這毒婦竟也來了杏节?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤典阵,失蹤者是張志新(化名)和其女友劉穎奋渔,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體壮啊,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡嫉鲸,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了歹啼。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片玄渗。...
    茶點(diǎn)故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡座菠,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出藤树,到底是詐尸還是另有隱情浴滴,我是刑警寧澤,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布也榄,位于F島的核電站巡莹,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏甜紫。R本人自食惡果不足惜降宅,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望囚霸。 院中可真熱鬧腰根,春花似錦、人聲如沸拓型。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽劣挫。三九已至册养,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間压固,已是汗流浹背球拦。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留帐我,地道東北人坎炼。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像拦键,于是被迫代替她去往敵國和親谣光。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評論 2 353

推薦閱讀更多精彩內(nèi)容