Pairedearly readss是什么

你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
输入文件:转录组双端测序原始数据(FASTQ文件,并非已比对后的SAM/BAM文件)
因为inner distance= 180 ± 50 - 100*2 ,同时可能出现测通【inner&=0】或者没有测通【inner >0】的两种情况
抽取10,000个fragment记录,对同一fragment来源的两个reads进行重叠分析。
发生overlap的fragment记录 6198(≈62%)
overlap长度范围
length:-18~-100
(比对过滤掉overlap小于18bp的记录,故真实overlap length范围应该为1~100)
!!overlap长度分布不符合正态分布
若此数据(同时存在fragment测通和未测通)进行Tophat比对时,
-r/--mate-inner-dist &int>
This is the expected (mean) inner distance between mate pairs. For, example, for paired end runs with fragments selected at 300bp, where each end is 50bp, you should set -r to be 200. The default is 50bp.
-i/--min-intron-length &int>
The minimum intron length. TopHat will ignore donor/acceptor pairs closer than this many bases apart. The default is 70.
-I/--max-intron-length &int>
The maximum intron length. When searching for junctions ab initio, TopHat will ignore donor/acceptor pairs farther than this many bases apart, except when such a pair is supported by a split segment alignment of a long read. The default is 500000.
等此类数据应该如何设置?
sam文件里的应该是第9列就是插入的片段长度
你可以把这个长度提出来
统计下看多长的占得reads数最多 就将r设置成这个长度
我用perl程序处理bam文件(双末端测序),取1k以内的值,然后放到excel里面作图,最终会得到一个钟形曲线,顶点即为insertsize~仔细研究一下bam文件吧~
而且bam文件里面对应的值不能直接用,还要进行一定的运算,不过运算不难,放心吧~
SAM/BAM格式文件,也得是比对后的比对结果
现在还只是原始测序数据FASTQ文件,还不知道怎么设置比对参数,也更没有得到比对结果SAM/BAM格式文件
Sorry,问题没有说明情况,输入文件还是原始测序数据FASTQ文件
那你先问问测序公司那边用的是多大的insertsize建的库吧,一般基因组的建库insertsize为500左右,转录组的建库insertsize为200-300
自己实验室测序的,应该是180+-50
可是结果insert size没有偏向性(即,没有再期望范围集中)
没有偏向性是什么意思?是绘制出来不是钟形图吗?
建库长度180,误差50
reads测序长度100*2
应该大部分是reads之间没有inner size,而是重叠20bp
可是测试的reads重叠长度并没有在20产生集中,重叠长度不符合正态分布
呃……要是我的话,那我就先按照实验室给出的insertsize长度进行双末端比对,然后自己写程序将bam文件中的位置信息进行运算得出insertsize大小后抽取大于100bp小于1k的数值(或者自己限定一个数值),并对不同片段出现的次数进行统计,然后做图,看看顶点到底是落在那里了
测序过程中reads长度过长,已经大于建库fragment长度
所以reads之间会出现overlap,而没有inner,那么进行Tophat比对时,
-r/--mate-inner-dist 和-i/--min-intron-length 都要设置负数了么?
参考来源()
I don't know the mate inner distance (-r/--mate-inner-dist) for my paired reads, what value should I use?
The default value should work fine in most cases, for typical RNA-Seq PE experiments, because TopHat allows some variance for this distance internally.
TopHat makes use of the mate inner distance information in several places - for instance, when finding splice sites and fusion break points. This information is also taken into account when choosing the best candidate alignments for paired reads in the final stage of TopHat (tophat_reports). If you want to find a good approximation of this distance for your reads you can try running Bowtie2 on a small sample (subset) of the paired reads (both mates) and
taking a look at their mapped positions (we hope to add this automatic fragment length detection in a future version of TopHat). The SAM output of Bowtie2 for paired reads is especially helpful as the 9th field in the SAM alignment lines should show the estimated fragment length, from which you should subtract twice the read length to get the value of the &inner distance& that can be used with the -r parameter (obviously large absolute values for that field should be ignored as for this estimate we only want to consider mates aligned to the same exon).
要回复问题请先或
浏览: 1406
关注: 3 人温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
专业背景:计算机科学
研究方向与兴趣: JavaEE-Web软件开发,
生物信息学, 数据挖掘与机器学习, 智能信息系统
目前工作: 基因组, 转录组, NGS高通量数据分析, 生物数据挖掘, 植物系统发育和比较进化基因组学
LOFTER精选
一步跑完的脚本:./ SOAPdenovo all -s lib.cfg -K 29 -D 1 -o ant &&ass.log 四步单独跑的脚本: ./ SOAPdenovo pregraph-s lib.cfg -d 1&&-K 29 -o ant&pregraph.log./ SOAPdenovo contig -g ant -D 1 -M 3&contig.log./ SOAPdenovo map -s lib23.cfg -g ant&map.log./ SOAPdenovo scaff -g ant -F&scaff.log 2 参数说明& & -s&&STR& &&&配置文件& & -o&&STR& &&&输出文件的文件名前缀& & -g&&STR& &&&输入文件的文件名前缀& & -K&&INT& &&&输入的K-mer值大小,默认值23,取值范围 13-63& & -p&&INT& &&&程序运行时设定的线程数,默认值8& & -R& && && & 利用read鉴别短的重复序列,默认值不进行此操作& & -d&&INT& &&&去除频数不大于该值的k-mer,默认值为0& & -D&&INT& &&&去除频数不大于该值的由k-mer连接的边,默认值为1,即该边上每个点的频数都小于等于1时才去除& & -M&&INT& &&&连接contig时合并相似序列的等级,默认值为1,最大值3。& & -F& && && & 利用read对scaffold中的gap进行填补,默认不执行& & -u& && && & 构建scaffold前不屏蔽高覆盖度的contig,这里高频率覆盖度指平均contig覆盖深度的2倍。默认屏蔽& & -G& &INT& & 估计gap的大小和实际补gap的大小的差异,默认值为50bp。& & -L& && && & 用于构建scaffold的contig的最短长度,默认为:Kmer参数值×2 3 使用方法及示例1)示例SOAPdenovo_Release1.0/SOAPdenovo all -sData/HCB.lib -K 25 -d&&-o test2) 输入文件configFile (配置文件内容如下,非程序生成,需要软件使用者自己配置)#maximal read length (read的最大长度)以“#”开头的行是注释内容max_rd_len=50& &#该值一般设置的比实际read读长稍微短一些,截去测序最后的部分,具体长度看测序质量[LIB]& && && &&&#文库信息以此开头 avg_ins=200& &&&#文库平均插入长度,一般取插入片段分布图中给出的文库大小reverse_seq=0& &#序列是否需要被反转,目前的测序技术,插入片段大于等于2k的采用了环化,所以对于插入长度大于等& & 于2k文库,序列需要反转,reverse_seq=1,小片段设为0asm_flags=3& &&&#该文库中的read序列在组装的哪些过程(contig/scaff/fill)中用到& && && && && & 设为1:只用于构建contig;& && && && && & 设为2:只用于构建scaffold;& && && && && & 设为3:同时用于构建contig和scaffold;& && && && && & 设为4:只用于补洞短插入片段(&2K)的设为3,同时用于构建contig和scaffold,长插入片段(&=2k)设为2,不用于构建contig,只用于构建scaffold,454single 长reads只用于补洞。rank=1& && && &&&#rank该
值取整数,决定了reads用于构建scaffold的次序,值越低,数据越优先用于构建scaffold。设置了同样rank的文库数据会同时用于组装
scaffold。一般将短插入片段设为1;2k设为2;5k设为3;10k设为4;当某个档的数据量较大时,也可以将其分为多个档,同样,当某档数据量
不足够时,可以将多个档的数据合在一起构建scaffold。这里说的数据量够与不够是从该档的测序覆盖度和物理覆盖度两个方面来考虑的。pair_num_cutoff=3 #可选参数,pair_num_cutoff该参数规定了连接两个contig或者是pre-scaffold 的可信连接的阈值,即,当连接数大于该值,连接才算有效。短插入片段(&2k)默认值为3,长插入长度序列默认值为5map_len=32& && &&&#map_len该参数规定了在map过程中 reads和contig的比对长度必须达到该值(比对不容mismacth和gap),该比对才能作为一个可信的比对。可选参数,短插入片段(&2k)一般设置为32,长插入片段设置为35,默认值是K+2。
q1=/path/**LIBNAMEA**/fastq_read_1.fq#read 1的fastq格式的序列文件,“/path/**LIBNAMEA**/fastq_read_1.fq”为read的存储路径q2=/path/**LIBNAMEA**/fastq_read_2.fq#read 2的fastq格式的序列文件,与read1对应的read2文件紧接在read1之后)f1=/path/**LIBNAMEA**/fasta_read_1.fa#read 1的fasta格式的序列文件f2=/path/**LIBNAMEA**/fasta_read_2.fa#read 2的fasta格式的序列文件q=/path/**LIBNAMEA**/fastq_read_single.fq#单向测序得到的fastq格式的序列文件f=/path/**LIBNAMEA**/fasta_read_single.fa#单向测序得到的fasta格式的序列文件p=/path/**LIBNAMEA**/pairs_in_one_file.fa#双向测序得到的一个fasta格式的序列文件SOAPdenovo参数详解SOAPdenovo is a novel short-read assembly method that can build a de novo
draft assembly for the human-sized genomes. The program is specially designed to
assemble Illumina GA short reads. It creates new opportunities for building
reference sequences and carrying out accurate analyses of unexplored genomes in
a cost effective way.
System Requirement
SOAPdenovo aims for large plant and animal genomes, although it also works
well on bacteria and fungi genomes. It runs on 64-bit Linux system with a
minimum of 5G physical memory. For big genomes like human, about 150 GB memory
would be required.
Release 1.0 Only precompiled binary version available now. ()
Installation
Download the SOAP
There are one executable file “soapdenovo”, one demo configure file
“example.contig” and this readme file.
How to use it
1. Configuration file
For big genome projects with deep sequencing, the data is usually organized
as multiple read sequence files generated from multiple libraries. The
configuration file tells the assembler where to find these files and the
relevant information. “example.config” is an example of such a file. The
configuration file has a section for global information, and then multiple
library sections. Right now only “max_rd_len” is included in the global
information section. Any read longer than max_rd_len will be cut to this length.
The library information and the information of sequencing data generated from
the library should be organized in the corresponding library section. Each
library section starts with tag [LIB] and includes the following items:
avg_insThis value indicates the average insert size of this library or
the peak value position in the insert size distribution figure.
reverse_seqThis option takes value 0 or 1. It tells the
assembler if the read sequences need to be complementarily reversed. Illumima GA
produces two types of paired-end libraries: a) forward-reverse, generated from
fragmented DNA ends with typical insert size less than 500 b)
forward-forward, generated from circularizing libraries with typical insert size
greater than 2 Kb. The parameter “reverse_seq” should be set to indicate this:
0, forward- 1, forward-forward.
asm_flags=3This indicator decides in which part(s) the
reads are used. It takes value 1(only contig assembly), 2 (only scaffold
assembly), 3(both contig and scaffold assembly), or 4 (only gap closure).
rd_len_cutoffThe assembler will cut the reads from the
current library to this length.
rankIt takes integer values and decides in which order
the reads are used for scaffold assembly. Libraries with the same “rank” are
used at the same time during scaffold assembly.
pair_num_cutoffThis parameter is the cutoff value of
pair number for a reliable connection between two contigs or pre-scaffolds.
map_lenThis takes effect in the “map” step and is the
minimun alignment length between a read and a contig required for a reliable
read location.
The assembler accepts read file in two formats: FASTA or FASTQ. Mate-pair
relationship could be indicated in two ways: two sequence files with reads in
the same order belonging to a pair, or two adjacent reads in a single file
(FASTA only) belonging to a pair. In the configuration file single end files are
indicated by “f=/path/filename” or “q=/pah/filename” for fasta or fastq formats
separately. Paired reads in two fasta sequence files are indicated by “f1=” and
“f2=”. While paired reads in two fastq sequences files are indicated by “q1=”
and “q2=”. Paired reads in a single fasta sequence file is indicated by “p=”
item. All the above items in each library section are optional. The assembler
assigns default values for most of them. If you are not sure how to set a
parameter, you can remove it from your configuration file.
2. Get it started
Once the configuration file is available, a typical way to run the assembler
is:./soapdenovo all -s config_file -K 25 -R -o graph_prefix
User can also choose to run the assembly process step by step
as:./soapdenovo pregraph -s config_file -K 25 [-R -d -p] -o
graph_prefix./soapdenovo contig -g graph_prefix [-R -M 1 -D]./soapdenovo
map -s config_file -g graph_prefix [-p]./soapdenovo scaff -g graph_prefix
[-F -u -G -p]
3. Options:-s STR configuration file -o STR output graph file prefix -g STR input graph file prefix -K INT K-mer size [default 23, min 13, max63] -p INT multithreads, n threads [default 8] -R use reads to solve tiny repeats [default no] -d INT remove low-frequency K-mers with frequency no larger than [default 0] -D INT remove edges with coverage no larger that [default 1] -M INT strength of merging similar sequences during contiging [default 1, min 0, max 3] -F intra-scaffold gap closure [default no] -u un-mask high coverage contigs before scaffolding [defaut mask] -G INT allowed length difference between estimated and filled gap -L minimum contigs length used for scaffolding
4. Output files
4.1 These files are output as assembly results:
a. *.contig contig sequences without using mate pair information
b. *.scafSeq scaffold sequences (final contig sequences can be extracted by
breaking down scaffold sequences at gap regions)
4.2 There are some other files that provide useful information for advanced
users, which are listed in Appendix B.
5.1 How to set K-mer size?
The program accepts odd numbers between 13 and 31. Larger K-mers would have
higher rate of uniqueness in the genome and would make the graph simpler, but it
requires deep sequencing depth and longer read length to guarantee the overlap
at any genomic location.
5.2 How to set library rank?
SOAPdenovo will use the pair-end libraries with insert size from smaller to
larger to construct scaffolds. Libraries with the same rank would be used at the
same time. For example, in a dataset of a human genome, we set five ranks for
five libraries with insert size 200-bp, 500-bp, 2-Kb, 5-Kb and 10-Kb,
separately. It is desired that the pairs in each rank provide adequate physical
coverage of the genome.
APPENDIX A: an example.config
# maximal read lengthmax_rd_len=50
[LIB]# average insert sizeavg_ins=200
# if sequence needs to bereversed reverse_seq=0
# in which part(s) the reads are usedasm_flags=3
# use only first 50 bps of each readrd_len_cutoff=50
# in which order the reads are used while scaffoldingrank=1
# cutoff of pair number for a reliable connection (default
3)pair_num_cutoff=3
# minimum aligned length to contigs for a reliable read location (default
32)map_len=32
# fastq file for read 1q1=/pathfastq_read_1.fq
# fastq file for read 2 always follows fastq file for read
1q2=/pathfastq_read_2.fq
# fasta file for read 1f1=/pathfasta_read_1.fa
# fastq file for read 2 always follows fastq file for read
1f2=/pathfasta_read_2.fa
# fastq file for single readsq=/pathfastq_read_single.fq
# fasta file for single readsf=/pathfasta_read_single.fa
# a single fasta file for paired readsp=/pathpairs_in_one_file.fa
[LIB]avg_ins=2000reverse_seq=1asm_flags=2rank=2
# cutoff of pair number for a reliable connection# (default 5 for large
insert size)pair_num_cutoff=5
# minimum aligned length to contigs for a reliable read location#
(default 35 for large insert
size)map_len=35q1=/pathfastq_read_1.fqq2=/pathfastq_read_2.fqq=/pathfastq_read_single.fqf=/pathfasta_read_single.fa
Appendix B: output files
1. Output files from the command “pregraph”
a. *.kmerFreqEach row shows the number of Kmers with a frequency equals
the row number.
b. *.edgeEach record gives the information of an edge in the pre-graph:
length, Kmers on both ends, average kmer coverage, whether it’s
reverse-complementarily identical and the sequence.
c. *.markOnEdge & *.pathThese two files are for using reads to solve
small repeats
e. *.preArcConnections between edges which are established by the read
f. *.vertexKmers at the ends of edges.
g. *.preGraphBasicSome basic information about the pre-graph: number of
vertex, K value, number of edges, maximum read length etc.
2. Output files from the command “contig”
a. *.contigContig information: corresponding edge index, length, kmer
coverage, whether it’s tip and the sequence. Either a contig or its reverse
complementry counterpart is included. Each reverse complementary contig index is
indicated in the *.ContigIndex file.
b. *.ArcArcs coming out of each edge and their corresponding coverage by
c. *.updated.edgeSome information for each edge in graph: length, Kmers
at both ends, index difference between the reverse-complementary edge and this
d. *.ContigIndexEach record gives information about each contig in the
*.contig: it’s edge index, length, the index difference between its
reverse-complementary counterpart and itself.
3. Output files from the command “map”
a. *.peGradsInformation for each clone library: insert-size, read index
upper bound, rank and pair number cutoff for a reliable link. This file can be
revised manually for scaffolding tuning.
b. *.readOnContigRead locations on contigs. Here contigs are referred by
their edge index. Howerver about half of them are not listed in the *.contig
file for their reverse-complementary counterparts are included already.
c. *.readInGapThis file includes reads that could be located in gaps
between contigs. This information will be used to close gaps in scaffolds.
4. Output files from the command “scaff”
a. *.newContigIndexContigs are sorted according their length before
scaffolding. Their new index are listed in this file. This is useful if one
wants to corresponds contigs in *.contig with those in *.links.
b. *.linksLinks between contigs which are established by read pairs. New
index are used.
c. *.scaf_gapContigs in gaps found by contig graph outputted by the
contiging procedure. Here new index are used.
d. *.scafContigs for each scaffold: contig index (concordant to index in
*.contig), approximate start position on scaffold, orientation, contig length,
and its links to others.
e. *.gapSeqGap sequences between contigs.
f. *.scafSeqSequence of each scaffold.
SOAPdenovo拼接参数详解 ----个人经验
kmer值哪个比较好很难说,对不同的数据,用不同的kmer值会有很不同的结果。最好的办法就是测试不同的kmer,然后看结果的N50,找到N50最高的kmer。不过SOAPdenovo最新的版本已经支持最长127bp的kmer了,所以要从20多测试到127,显然不太可能。下面是文档中对kmer的说明。
How to set K-mer size?The program accepts odd
numbers between 13 and 127. Larger K-mers would have higher rate of uniqueness
in the genome and would make the graph simpler, but it requires deep sequencing
depth and longer read length to guarantee the overlap at any genomic
根据我的实际使用经验,如果你的read足够长,覆盖度足够高,kmer设的越高越好。
但是实际情况是,测序的覆盖度经常不够,或者用早期的GA平台测出来read长度只有35bp,或者为了节省成本,在mate-pair
library(长片段insert的文库,一般&2kb)测序时双端只有70bp,甚至40bp之类的,情况比较复杂。
一般来说,我尽量使用更高的kmer,如果我有100bp的pair-end,50bp的mate-pair,而且覆盖度挺高,我就用到kmer=45左右,如果mate-pair只有40bp,kmer=35左右。如果mate-pair更短,只有35bp,kmer值就再降一点。
但是覆盖度不够时,我一般还是使用kmer=25来拼接。
SOAP推出了一个新的工具,prepare模块,似乎就是为了解决混合长度read的问题,你可以先用很高的kmer进行contig的拼接,只使用来自180bp,300bp,500bp双端100bp的pair-end文库的reads。之后使用这些contig进行scaffolding,你可以为这些contig重新构建一个短的kmer
graph,然后整合来自mate-pair文库的短read进行scaffolding.只是遗憾的是,这个模块我尝试过,不行。这个模块的运行SOAP应该要更详细说明才行。
7) Data Preparation Module generates necessary data
for SOAPdenovo to run "map" and "scaff" steps from Contigs generated by
SOAPdenovo or other assemblers with various length of kmer.
-g [string] Prefix of output.-K [int] Kmer
length.-c [string] Input Contigs FASTA. (Filename cannot be
prefix.contig)2. config文件中的一个重要参数reverse_seq
这个参数在很多使用soapdenovo进行拼接的人当中都会设置错误,因为默认是0,下面是从其他人博客中看到的:“reverse_seqThis
option takes value 0 or 1. It tells the assembler if the read sequences need to
be complementarily reversed.Illumima GA produces two types of paired-end
libraries: a) forward-reverse, generated from fragmented DNA ends with typical
insert size less than 500 b) forward-forward, generated from circularizing
libraries with typical insert size greater than 2 Kb. The parameter
“reverse_seq” should be set to indicate this: 0, forward- 1,
forward-forward.
RF: first read of fragment pair is sequenced as
anti-sense (reverse), and second read is in the sense strand (forward);
FR: first read is in the sense strand
(forward);second read of fragment pair is sequenced as anti-sense (reverse)”
“read/1,read/2哪个是正向?哪个是反向的?
,这个是不能确定的,在华大这边建库小插入片段(=2000bp)的文库是打断后环化,环化后再打断测,这时称为reverse_seq,在soapdenovo里面reverse_seq=1
转录组的不用管这个了,都是小于2k的”
根据我们的实际经验,如果你有mate-pair的文库,那你得咨询建库的人,中间是否经过了环化这个步骤,如果有,则必须把revser_seq设置为1。之前有个孩子不看参数,全部默认0,拼出来的N50只有30k,惨不忍睹,把这个参数纠正后,N50就有150k了。
其实这个参数就算设置正确,还是存在一个很严重的问题,因为在illumina mate-pair
library建库的过程中,由于实验方法上的技术缺陷,很多dna片断并没有被成功的环化,这些没有被环化的片断测序后实际上还是pair
end,也就是说两个read的方向是FR,而非RF,这时你用了reverse_seq=1,这些read的方向就是错的。所以,如果有可能,特别是你已经有reference的时候,尽量先对mate-pair文库的read进行筛选,把那些insert-size远小于理论值的,方向不正确的read删掉,否则你的拼接将会引入大量的错误。3.其他几个对N50有重要影响的参数
-M mergeLevel(default 1,min 0, max 3): the strength
of merging similar sequences during
contiging这个参数似乎在上一篇博文中没有解释,并且SOAP的提示也很简单。默认情况下M=1,M的值可以设置,从0到3。这个参数的作用是在拼contig的过程中,对buble合并和分解的一个重要参数。详细可见下面一段文字:We
used Dijkstra’s algorithm to detect bubbles, which is similar tothe
‘‘Tour-bus’’ method in Velvet.We merged the detected bubblesinto a single
path if the sequences of the parallel paths were very that is, only
had a single base pair difference or had fewerthan four base pairs
difference with &90% identity.
简单说,就是一些差别很小的kmer,例如只有1个mismatch,在M值高的时候,将会被合并到一个node里面。这个对于杂合度高的基因组意义比较大,因为两个allel在拼接时可能会被独立的拼出来,如果你把M值调高,这些allel就可以被合并在一起。但是如果一个基因组repeat很多的话,M值设高了就会把很多差别很小的repeat序列合并在一起,那么相当多的序列将无法被用于构建edges,这时你的N50就会比较差,降低这个值可以显著的提高N50,但是吧,由于测序错误的存在,或者repeat特别多时候,降低M值又会导致误拼的概率大大提升,这个问题很难说得清,有些人在拼接时候尽量提高M值,把尽可能多的repeat与及可能的测序错误都合并到一个区域,这样可以保证基因组其他区域拼接的准确率,但是代价是N50的显著降低。一般情况下,我还是使用了默认的M=1。要是碰上repeat多,杂合度又高的基因组,我只能建议远离illumina,远离SOAPdenovo,呵呵。
也是跟repeat分解有关的参数,用他可以把一些由短片段重复而被合并在一起node分解开,一般情况下也可以明显的提高N50,但是一样的,repeat很多的情况下,这个参数要慎用,误拼的概率会大大提升。
config文件里的asm_flag参数1 (reads only used for
contig assembly), 2 (only used for scaffold assembly) and 3 (used for both
contig and scaffold assembly).
如果你的pair-end数据不够,那就让mate-pair文库的序列也用于contig拼接,asm_flag=3。也可以比较明显的提高N50。4.提醒
以上这些都是我的个人经验,我相信大部分情况下还是适用的,但是每个基因组的情况的差别很大,所以一定还是要多测试,才能得到比较好的拼接结果。短read拼接最大的问题就是处理repeat序列,N50提高了,某种程度上拼接准确率也要下降。因为repeat被放到哪个scaffold,似乎在SOAP中没有特别优化,只是随机扔个位置,这样就会出现不该连的scaffold被连在一起,甚至在contig内部都会出现错误,于是人为造成了很多假的structural
variation。不过一般来说,insertion,deletetion之类的错误还可以忍受,但是还是有不少inversion,translocation,这种就是比较严重的错误了。
本文转自:
阅读(2204)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_',
blogTitle:'SOAPdenovo软件使用说明',
blogAbstract:'
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}}

我要回帖

更多关于 early reads 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信