Bedtools使用

歡迎關(guān)注天下博客:http://blog.genesino.com/2018/04/bedtools/
Jump to...

  1. 內(nèi)容摘要
  2. 功能列表
  3. 安裝bedtools
  4. 獲得測試數(shù)據(jù)集(http://quinlanlab.org/tutorials/bedtools/bedtools.html)
  5. 交集 (intersect)
  6. 合并區(qū)域
  7. 計算互補(bǔ)區(qū)域
  8. 基因組覆蓋廣度和深度
  9. 數(shù)據(jù)集相似性

Bedtools是處理基因組信息分析的強(qiáng)大工具集合,其主要功能如下:

Bedtools是處理基因組信息分析的強(qiáng)大工具集合毕莱,本文列出自己學(xué)習(xí)其官方文檔的幾個點维费,對后面計算不同樣品peak相似性的腳本做了下更新和調(diào)整,使用起來更為簡單方便响谓。

內(nèi)容摘要

  1. 區(qū)域注釋,如peak注釋殿雪,peak分布分析钧栖,peak與調(diào)控元件交集等嘿悬。
  2. 區(qū)域合并,如求算多樣品peak合集水泉,或合并重疊區(qū)域
  3. 區(qū)域互補(bǔ)善涨,如得到非基因區(qū)
  4. 利用比對結(jié)果對測序廣度和深度評估
  5. 多樣品peak相似性計算,評估ChIP類區(qū)域結(jié)果的樣品相似性草则。

功能列表

bedtools: flexible tools for genome arithmetic and DNA sequence analysis.

usage:    bedtools <subcommand> [options]

The bedtools sub-commands include:

[ Genome arithmetic ]

    intersect     Find overlapping intervals in various ways.

                  求區(qū)域之間的交集钢拧,可以用來注釋peak,計算reads比對到的基因組區(qū)域
                  不同樣品的peak之間的peak重疊情況炕横。

    window        Find overlapping intervals within a window around an interval.
    closest       Find the closest, potentially non-overlapping interval.

                  尋找最近但可能不重疊的區(qū)域

    coverage      Compute the coverage over defined intervals.

                  計算區(qū)域覆蓋度

    map           Apply a function to a column for each overlapping interval.
    genomecov     Compute the coverage over an entire genome.
    merge         Combine overlapping/nearby intervals into a single interval.

                  合并重疊或相接的區(qū)域

    cluster       Cluster (but don't merge) overlapping/nearby intervals.
    complement    Extract intervals _not_ represented by an interval file.

                  獲得互補(bǔ)區(qū)域

    subtract      Remove intervals based on overlaps b/w two files.

                  計算區(qū)域差集

    slop          Adjust the size of intervals.

                  調(diào)整區(qū)域大小源内,如獲得轉(zhuǎn)錄起始位點上下游3 K的區(qū)域

    flank         Create new intervals from the flanks of existing intervals.

    sort          Order the intervals in a file.

                  排序,部分命令需要排序過的bed文件

    random        Generate random intervals in a genome.

                  獲得隨機(jī)區(qū)域份殿,作為背景集

    shuffle       Randomly redistrubute intervals in a genome.

                  根據(jù)給定的bed文件獲得隨機(jī)區(qū)域膜钓,作為背景集

    sample        Sample random records from file using reservoir sampling.
    spacing       Report the gap lengths between intervals in a file.
    annotate      Annotate coverage of features from multiple files.

[ Multi-way file comparisons ]

    multiinter    Identifies common intervals among multiple interval files.
    unionbedg     Combines coverage intervals from multiple BEDGRAPH files.

[ Paired-end manipulation ]

    pairtobed     Find pairs that overlap intervals in various ways.
    pairtopair    Find pairs that overlap other pairs in various ways.

[ Format conversion ]

    bamtobed      Convert BAM alignments to BED (& other) formats.
    bedtobam      Convert intervals to BAM records.
    bamtofastq    Convert BAM records to FASTQ records.
    bedpetobam    Convert BEDPE intervals to BAM records.
    bed12tobed6   Breaks BED12 intervals into discrete BED6 intervals.

[ Fasta manipulation ]

    getfasta      Use intervals to extract sequences from a FASTA file.

                  提取給定位置的FASTA序列

    maskfasta     Use intervals to mask sequences from a FASTA file.
    nuc           Profile the nucleotide content of intervals in a FASTA file.

[ BAM focused tools ]

    multicov      Counts coverage from multiple BAMs at specific intervals.
    tag           Tag BAM alignments based on overlaps with interval files.

[ Statistical relationships ]

    jaccard       Calculate the Jaccard statistic b/w two sets of intervals.

                  計算數(shù)據(jù)集相似性

    reldist       Calculate the distribution of relative distances b/w two files.
    fisher        Calculate Fisher statistic b/w two feature files.

[ Miscellaneous tools ]

    overlap       Computes the amount of overlap from two intervals.
    igv           Create an IGV snapshot batch script.

                  用于生成一個腳本,批量捕獲IGV截圖

    links         Create a HTML page of links to UCSC locations.

    makewindows   Make interval "windows" across a genome.

                  把給定區(qū)域劃分成指定大小和間隔的小區(qū)間 (bin)

    groupby       Group by common cols. & summarize oth. cols. (~ SQL "groupBy")

                  分組結(jié)算卿嘲,不只可以用于bed文件颂斜。

    expand        Replicate lines based on lists of values in columns.
    split         Split a file into multiple files with equal records or base pairs.

安裝bedtools

Linux - Conda軟件安裝方法

ct@ehbio:~$ conda install bedtools

獲得測試數(shù)據(jù)集(http://quinlanlab.org/tutorials/bedtools/bedtools.html)

ct@ehbio:~$ mkdir bedtools
ct@ehbio:~$ cd bedtools
ct@ehbio:~$ url=https://s3.amazonaws.com/bedtools-tutorials/web
ct@ehbio:~/bedtools$ curl -O ${url}/maurano.dnaseI.tgz
ct@ehbio:~/bedtools$ curl -O ${url}/cpg.bed
ct@ehbio:~/bedtools$ curl -O ${url}/exons.bed
ct@ehbio:~/bedtools$ curl -O ${url}/gwas.bed
ct@ehbio:~/bedtools$ curl -O ${url}/genome.txt
ct@ehbio:~/bedtools$ curl -O ${url}/hesc.chromHmm.bed

交集 (intersect)

bedtools intersect

查看輸入文件,bed格式拾枣,至少三列沃疮,分別是染色體起始位置(0-based,

包括)梅肤,終止位置

(1-based司蔬,不包括)。第四列一般為區(qū)域名字姨蝴,第五列一般為空俊啼,第六列為鏈的信息。更詳細(xì)解釋見http://www.genome.ucsc.edu/FAQ/FAQformat.html#format1似扔。

自己做研究CpG島信息可以從UCSC的Table Browser獲得吨些,具體操作見http://blog.genesino.com/2013/05/ucsc-usages/搓谆。

ct@ehbio:~/bedtools$ head -n 3 cpg.bed exons.bed

==> cpg.bed <==

chr1    28735   29810   CpG:_116
chr1    135124  135563  CpG:_30
chr1    327790  328229  CpG:_29

==> exons.bed <==

chr1    11873   12227   NR_046018_exon_0_0_chr1_11874_f 0   +
chr1    12612   12721   NR_046018_exon_1_0_chr1_12613_f 0   +
chr1    13220   14409   NR_046018_exon_2_0_chr1_13221_f 0   +

獲得重疊區(qū)域(既是外顯子,又是CpG島的區(qū)域)

ct@ehbio:~/bedtools$ bedtools intersect -a cpg.bed -b exons.bed | head -5

chr1    29320   29370   CpG:_116
chr1    135124  135563  CpG:_30
chr1    327790  328229  CpG:_29
chr1    327790  328229  CpG:_29
chr1    327790  328229  CpG:_29

輸出重疊區(qū)域?qū)?yīng)的原始區(qū)域(與外顯子存在交集的CpG島)

ct@ehbio:~/bedtools$ bedtools intersect -a cpg.bed -b exons.bed -wa -wb > | head -5

  • chr1 28735 29810 CpG:_116 chr1 29320 29370

    NR_024540_exon_10_0_chr1_29321_r 0 -

  • chr1 135124 135563 CpG:_30 chr1 134772 139696

    NR_039983_exon_0_0_chr1_134773_r 0 -

  • chr1 327790 328229 CpG:_29 chr1 324438 328581

    NR_028322_exon_2_0_chr1_324439_f 0 +

  • chr1 327790 328229 CpG:_29 chr1 324438 328581

    NR_028325_exon_2_0_chr1_324439_f 0 +

  • chr1 327790 328229 CpG:_29 chr1 327035 328581

    NR_028327_exon_3_0_chr1_327036_f 0 +

計算重疊堿基數(shù)

ct@ehbio:~/bedtools$ bedtools intersect -a cpg.bed -b exons.bed -wo | head -10

  • chr1 28735 29810 CpG:_116 chr1 29320 29370

    NR_024540_exon_10_0_chr1_29321_r 0 - 50

  • chr1 135124 135563 CpG:_30 chr1 134772 139696

    NR_039983_exon_0_0_chr1_134773_r 0 - 439

  • chr1 327790 328229 CpG:_29 chr1 324438 328581

    NR_028322_exon_2_0_chr1_324439_f 0 + 439

  • chr1 327790 328229 CpG:_29 chr1 324438 328581

    NR_028325_exon_2_0_chr1_324439_f 0 + 439

  • chr1 327790 328229 CpG:_29 chr1 327035 328581

    NR_028327_exon_3_0_chr1_327036_f 0 + 439

  • chr1 713984 714547 CpG:_60 chr1 713663 714068

    NR_033908_exon_6_0_chr1_713664_r 0 - 84

  • chr1 762416 763445 CpG:_115 chr1 761585 762902

    NR_024321_exon_0_0_chr1_761586_r 0 - 486

  • chr1 762416 763445 CpG:_115 chr1 762970 763155

    NR_015368_exon_0_0_chr1_762971_f 0 + 185

  • chr1 762416 763445 CpG:_115 chr1 762970 763155

    NR_047519_exon_0_0_chr1_762971_f 0 + 185

  • chr1 762416 763445 CpG:_115 chr1 762970 763155

    NR_047520_exon_0_0_chr1_762971_f 0 + 185

計算第一個(-a)bed區(qū)域有多少個重疊的第二個(-b)bed文件中有多少個區(qū)域

ct@ehbio:~/bedtools$ bedtools intersect -a cpg.bed -b exons.bed -c | head

chr1    28735   29810   CpG:_116    1
chr1    135124  135563  CpG:_30 1
chr1    327790  328229  CpG:_29 3
chr1    437151  438164  CpG:_84 0
chr1    533219  534114  CpG:_94 0
chr1    544738  546649  CpG:_171    0
chr1    713984  714547  CpG:_60 1
chr1    762416  763445  CpG:_115    10
chr1    788863  789211  CpG:_28 9

另外還有-v取出不重疊的區(qū)域,

-f限定重疊最小比例豪墅,-sorted可以對按sort -k1,1 -k2,2n排序好的文件加速操作泉手。

同時對多個區(qū)域求交集 (可以用于peak的多維注釋)

# -names標(biāo)注注釋來源
# -sorted: 如果使用了這個參數(shù),提供的一定是排序好的bed文件

ct@ehbio:~/bedtools$ bedtools intersect -a exons.bed \
    -b cpg.bed gwas.bed hesc.chromHmm.bed -sorted -wa -wb -names cpg gwas chromhmm \
    | head -10000  | tail -10

  • chr1 27632676 27635124

    NM_001276252_exon_15_0_chr1_27632677_chromhmm chr1 27633213

    27635013 5_Strong_Enhancer

  • chr1 27632676 27635124

    NM_001276252_exon_15_0_chr1_27632677_chromhmm chr1 27635013

    27635413 7_Weak_Enhancer

  • chr1 27632676 27635124 NM_015023_exon_15_0_chr1_27632677_f

    chromhmm chr1 27632613 27632813 6_Weak_Enhancer

  • chr1 27632676 27635124 NM_015023_exon_15_0_chr1_27632677_f

    chromhmm chr1 27632813 27633213 7_Weak_Enhancer

  • chr1 27632676 27635124 NM_015023_exon_15_0_chr1_27632677_f

    chromhmm chr1 27633213 27635013 5_Strong_Enhancer

  • chr1 27632676 27635124 NM_015023_exon_15_0_chr1_27632677_f

    chromhmm chr1 27635013 27635413 7_Weak_Enhancer

  • chr1 27648635 27648882 NM_032125_exon_0_0_chr1_27648636_f cpg

    chr1 27648453 27649006 CpG:_63

  • chr1 27648635 27648882 NM_032125_exon_0_0_chr1_27648636_f

    chromhmm chr1 27648613 27649413 1_Active_Promoter

  • chr1 27648635 27648882 NR_037576_exon_0_0_chr1_27648636_f cpg

    chr1 27648453 27649006 CpG:_63

  • chr1 27648635 27648882 NR_037576_exon_0_0_chr1_27648636_f

    chromhmm chr1 27648613 27649413 1_Active_Promoter

合并區(qū)域

bedtools merge

bedtools merge輸入的是按sort -k1,1 -k2,2n排序好的bed文件偶器。

只需要輸入一個排序好的bed文件斩萌,默認(rèn)合并重疊或鄰接區(qū)域。

ct@ehbio:~/bedtools$ bedtools merge -i exons.bed | head -n 5

chr1    11873   12227
chr1    12612   12721
chr1    13220   14829
chr1    14969   15038
chr1    15795   15947

合并區(qū)域并輸出此合并后區(qū)域是由幾個區(qū)域合并來的

ct@ehbio:~/bedtools$ bedtools merge -i exons.bed -c 1 -o count | head -n 5

chr1    11873   12227   1
chr1    12612   12721   1
chr1    13220   14829   2
chr1    14969   15038   1
chr1    15795   15947   1

合并相距90 nt內(nèi)的區(qū)域颊郎,并輸出是由哪些區(qū)域合并來的

# -c: 指定對哪些列進(jìn)行操作
# -o: 與-c對應(yīng)唁盏,表示對指定列進(jìn)行哪些操作
# 這里的用法是對第一列做計數(shù)操作刽严,輸出這個區(qū)域是由幾個區(qū)域合并來的
# 對第4列做收集操作,記錄合并的區(qū)域的名字,并逗號分隔顯示出來

ct@ehbio:~/bedtools$ bedtools merge -i exons.bed -d 340 -c 1,4 -o count,collapse | head -4

chr1    11873   12227   1   NR_046018_exon_0_0_chr1_11874_f
chr1    12612   12721   1   NR_046018_exon_1_0_chr1_12613_f
chr1    13220   15038   3   NR_046018_exon_2_0_chr1_13221_f,NR_024540_exon_0_0_chr1_14362_r,NR_024540_exon_1_0_chr1_14970_r
chr1    15795   15947   1   NR_024540_exon_2_0_chr1_15796_r

計算互補(bǔ)區(qū)域

給定一個全集安皱,再給定一個子集居砖,求另一個子集蔗草。比如給定每條染色體長度和外顯子區(qū)域模叙,求非外顯子區(qū)域。給定基因區(qū),求非基因區(qū)灭返。給定重復(fù)序列,求非重復(fù)序列等坤邪。

重復(fù)序列區(qū)域的獲取也可以用下面提供的鏈接: http://blog.genesino.com/2013/05/ucsc-usages/熙含。

ct@ehbio:~/bedtools$ head genome.txt 

chr1    249250621
chr10   135534747
chr11   135006516
chr11_gl000202_random   40103
chr12   133851895
chr13   115169878
chr14   107349540
chr15   102531392

ct@ehbio:~/bedtools$ bedtools complement -i exons.bed -g genome.txt | head -n 5

chr1    0   11873
chr1    12227   12612
chr1    12721   13220
chr1    14829   14969
chr1    15038   15795

基因組覆蓋廣度和深度

計算基因組某個區(qū)域是否被覆蓋,覆蓋深度多少艇纺。有下圖多種輸出格式怎静,也支持RNA-seq數(shù)據(jù),計算junction-reads覆蓋黔衡。

bedtools genomecov

genome.txt里面的內(nèi)容就是染色體及對應(yīng)的長度蚓聘。

# 對單行FASTA,可如此計算
# 如果是多行FASTA盟劫,則需要累加

ct@ehbio:~/bedtools$ awk 'BEGIN{OFS=FS="\t"}{\
    if($0~/>/) {seq_name=$0;sub(">","",seq_name);} \
    else {print seq_name,length;} }' ../bio/genome.fa | tee ../bio/genome.txt 

chr1    60001
chr2    54001
chr3    54001
chr4    60001

ct@ehbio:~/bedtools$ bedtools genomecov -ibam ../bio/map.sortP.bam -bga \
    -g ../bio/genome.txt | head

# 這個warning很有意思夜牡,因為BAM中已經(jīng)有這個信息了,就不需要提供了

*****
*****WARNING: Genome (-g) files are ignored when BAM input is provided. 
*****

# bedgraph文件侣签,前3列與bed相同塘装,最后一列表示前3列指定的區(qū)域的覆蓋度急迂。

chr1    0   11  0
chr1    11  17  1
chr1    17  20  2
chr1    20  31  3
chr1    31  36  4
chr1    36  43  6
chr1    43  44  7
chr1    44  46  8
chr1    46  48  9
chr1    48  54  10

兩個思考題:

  1. 怎么計算有多少基因組區(qū)域被測到了?
  1. 怎么計算平均測序深度是多少蹦肴?

數(shù)據(jù)集相似性

bedtools jaccard計算的是給定的兩個bed文件之間交集區(qū)域(intersection)占總區(qū)域(union-intersection)的比例(jaccard)和交集的數(shù)目(n_intersections)僚碎。

ct@ehbio:~/bedtools$ bedtools jaccard \
    -a fHeart-DS16621.hotspot.twopass.fdr0.05.merge.bed \
    -b fHeart-DS15839.hotspot.twopass.fdr0.05.merge.bed

intersection    union-intersection  jaccard n_intersections
81269248    160493950   0.50637 130852

小思考:1. 如何用bedtools其它工具算出這個結(jié)果?2. 如果需要比較的文件很多冗尤,怎么充分利用計算資源听盖?

一個辦法是使用for循環(huán),

雙層嵌套。這種用法也很常見裂七,不管是單層還是雙層for循環(huán)皆看,都有利于簡化重復(fù)運(yùn)算。

ct@ehbio:~/bedtools$ for i in *.merge.bed; do \
    for j in *.merge.bed; do \
    bedtools jaccard -a $i -b $j | cut -f3 | tail -n +2 | sed "s/^/$i\t$j\t/"; \
    done; done >total.similarity

另一個辦法是用parallel背零,不只可以批量腰吟,更可以并行。

root@ehbio:~# yum install parallel.noarch
# parallel 后面雙引號("")內(nèi)的內(nèi)容為希望用parallel執(zhí)行的命令徙瓶,
# 整體寫法與Linux下命令寫法一致毛雇。
# 雙引號后面的 三個相鄰冒號 (:::)默認(rèn)用來傳遞參數(shù)的固歪,可多個連寫搔预。
# 每個三冒號后面的參數(shù)會被循環(huán)調(diào)用,而在命令中的引用則是根據(jù)其出現(xiàn)的位置拟蜻,分別用{1}, {2}
# 表示第一個三冒號后的參數(shù)壳繁,第二個三冒號后的參數(shù)震捣。
#
# 這個命令可以替換原文檔里面的整合和替換, 相比于原文命令生成多個文件,這里對每個輸出結(jié)果
# 先進(jìn)行了比對信息的增加闹炉,最后結(jié)果可以輸入一個文件中蒿赢。
#

ct@ehbio:~/bedtools$ parallel "bedtools jaccard -a {1} -b {2} | awk 'NR> | cut -f 3 \
    | sed 's/^/{1}\t{2}\t/'" ::: `ls *.merge.bed` ::: `ls *.merge.bed`  >totalSimilarity.2

# 上面的命令也有個小隱患,并行計算時的輸出沖突問題渣触,可以修改為輸出到單個文件,再cat到一起
ct@ehbio:~/bedtools$ parallel "bedtools jaccard -a {1} -b {2} | awk 'NR> | cut -f 3 \
    | sed 's/^/{1}\t{2}\t/' >{1}.{2}.totalSimilarity_tmp" ::: `ls *.merge.bed` ::: `ls *.merge.bed` 
ct@ehbio:~/bedtools$ cat *.totalSimilarity_tmp >totalSimilarity.2

# 替換掉無關(guān)信息

ct@ehbio:~/bedtools$ sed -i -e 's/.hotspot.twopass.fdr0.05.merge.bed//' \
    -e 's/.hg19//' totalSimilarity.2  

totalSimilarity.2數(shù)據(jù)表格式如下 (數(shù)據(jù)是假的):

fMusle_leg-DS19115  fMusle_back-DS18454 0.55
fMusle_leg-DS19115  fHeart-DS15643  0.4
fHeart-DS15643  fHeart-DS16621  0.8
fHeart-DS15643  fHeart-DS15839  0.7
fHeart-DS16621  fHeart-DS15839  0.7

得到結(jié)果后羡棵,就可以繪制相關(guān)性熱圖PCA了。

[圖片上傳失敗...(image-f68e-1524733427640)]

也可以使用下面的命令轉(zhuǎn)換成Wide format矩陣嗅钻,用高顏值可定制在線繪圖工具-第三版繪制皂冰。

# 這里面b和c可以用一個,因為是一個對稱陣
# 如果2和3列內(nèi)容不同啊犬,此腳本也可用
ct@ehbio:~/bedtools$ awk 'BEGIN{OFS=FS="\t"}{a[$1, $2]=$3; b[$1]=1; c[$2]=1;}END\
    {printf("ID"); for(i in c) printf("\t%s",  i); \
        for (i in b) {printf("%s", i); for(j in c) {printf("\t%s", a[i, j]);} print "";}}

原文檔(http://quinlanlab.org/tutorials/bedtools/bedtools.html)的命令灼擂,稍微有些復(fù)雜,利于學(xué)習(xí)不同命令的組合觉至。使用時推薦使用上面的命令剔应。

ct@ehbio:~/bedtools$ parallel "bedtools jaccard -a {1} -b {2} \
      | awk 'NR>1' | cut -f 3 \
      > {1}.{2}.jaccard" \
     ::: `ls *.merge.bed` ::: `ls *.merge.bed`

This command will create a single file containing the pairwise Jaccard

measurements from all 400 tests.

find . \

    | grep jaccard \
    | xargs grep "" \
    | sed -e s"/\.\///" \
    | perl -pi -e "s/.bed./.bed\t/" \
    | perl -pi -e "s/.jaccard:/\t/" \
    > pairwise.dnase.txt

A bit of cleanup to use more intelligible names for each of the samples.

cat pairwise.dnase.txt \
| sed -e 's/.hotspot.twopass.fdr0.05.merge.bed//g' \
| sed -e 's/.hg19//g' \
> pairwise.dnase.shortnames.txt

Now let’s make a 20x20 matrix of the Jaccard statistic. This will allow

the data to play nicely with R.

awk 'NF==3' pairwise.dnase.shortnames.txt \
| awk '$1 ~ /^f/ && $2 ~ /^f/' \
| python make-matrix.py \
> dnase.shortnames.distance.matrix

在廣大粉絲的期待下,《生信寶典》聯(lián)合《宏基因組》于2018年4月14在北京鼓樓推出《ChIP-seq分析專題培訓(xùn)》,為大家提供一條走進(jìn)生信大門的捷徑峻贮、為同行提供一個ChIP-seq實戰(zhàn)分析學(xué)習(xí)和交流的機(jī)會席怪、助力學(xué)員真正理解分析原理和完成實戰(zhàn)分析, 獨創(chuàng)線下集中授課2天+自行練習(xí)5天+再集中講解答疑2天+后期學(xué)習(xí)群的四段式教學(xué)纤控,并提供學(xué)習(xí)視頻挂捻,教、學(xué)船万、練刻撒、答結(jié)合,真正實現(xiàn)獨立分析大數(shù)據(jù)耿导。

關(guān)于學(xué)習(xí)生物信息學(xué)分析的重要性声怔,請閱讀《生物信息9天速成班—成為團(tuán)隊中不可或缺的人》

ChIP-seq基本分析流程見流程舱呻。課程將在這個基礎(chǔ)上醋火,提供更深入地分析指導(dǎo)。

課程介紹

  1. 座位按報名并成功繳費順序從前到后龍擺尾式排序箱吕。
  2. 贈送價值188元線上生信基礎(chǔ)課程一門芥驳,目前的《應(yīng)用Python處理生物信息數(shù)據(jù)和作圖》、《生物信息作圖系列R茬高、Cytoscape及圖形排版》和《生物信息中的Linux應(yīng)用》任選其一兆旬。
  3. 獲贈32G品牌定制U盤 (內(nèi)含數(shù)據(jù)資料)。
  4. 多人(N怎栽,10>N>1)組團(tuán)報名并同時繳費爵憎,每人還可獲得價值N百元的禮品(京東購物卡)。

<footer class="entry-meta" style="box-sizing: border-box; display: block; font-size: 0.75rem; text-transform: uppercase; color: rgba(187, 187, 187, 0.8); margin: 50px 30px 30px; text-align: center; font-family: Lato, Calibri, Arial, sans-serif; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;">RBIOINFOCHENTONG
版權(quán)聲明:本文為博主原創(chuàng)文章婚瓜,轉(zhuǎn)載請注明出處。

alipay.png
WeChatPay.png

</footer>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末刑棵,一起剝皮案震驚了整個濱河市巴刻,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蛉签,老刑警劉巖胡陪,帶你破解...
    沈念sama閱讀 206,013評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異碍舍,居然都是意外死亡柠座,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,205評論 2 382
  • 文/潘曉璐 我一進(jìn)店門片橡,熙熙樓的掌柜王于貴愁眉苦臉地迎上來妈经,“玉大人,你說我怎么就攤上這事〈蹬荩” “怎么了骤星?”我有些...
    開封第一講書人閱讀 152,370評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長爆哑。 經(jīng)常有香客問我洞难,道長,這世上最難降的妖魔是什么揭朝? 我笑而不...
    開封第一講書人閱讀 55,168評論 1 278
  • 正文 為了忘掉前任队贱,我火速辦了婚禮,結(jié)果婚禮上潭袱,老公的妹妹穿的比我還像新娘柱嫌。我一直安慰自己,他們只是感情好敌卓,可當(dāng)我...
    茶點故事閱讀 64,153評論 5 371
  • 文/花漫 我一把揭開白布慎式。 她就那樣靜靜地躺著,像睡著了一般趟径。 火紅的嫁衣襯著肌膚如雪瘪吏。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 48,954評論 1 283
  • 那天蜗巧,我揣著相機(jī)與錄音掌眠,去河邊找鬼。 笑死幕屹,一個胖子當(dāng)著我的面吹牛蓝丙,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播望拖,決...
    沈念sama閱讀 38,271評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼渺尘,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了说敏?” 一聲冷哼從身側(cè)響起鸥跟,我...
    開封第一講書人閱讀 36,916評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎盔沫,沒想到半個月后医咨,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,382評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡架诞,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,877評論 2 323
  • 正文 我和宋清朗相戀三年拟淮,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片谴忧。...
    茶點故事閱讀 37,989評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡很泊,死狀恐怖角虫,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情撑蚌,我是刑警寧澤上遥,帶...
    沈念sama閱讀 33,624評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站争涌,受9級特大地震影響粉楚,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜亮垫,卻給世界環(huán)境...
    茶點故事閱讀 39,209評論 3 307
  • 文/蒙蒙 一模软、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧饮潦,春花似錦燃异、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,199評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至稀并,卻和暖如春仅颇,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背碘举。 一陣腳步聲響...
    開封第一講書人閱讀 31,418評論 1 260
  • 我被黑心中介騙來泰國打工忘瓦, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人引颈。 一個月前我還...
    沈念sama閱讀 45,401評論 2 352
  • 正文 我出身青樓耕皮,卻偏偏與公主長得像,于是被迫代替她去往敵國和親蝙场。 傳聞我的和親對象是個殘疾皇子凌停,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,700評論 2 345

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