Team:USTC Software/project
From 2010.igem.org
(→Chain Sorting and Weighting Scheme) |
|||
Line 5: | Line 5: | ||
- | Sorting is always performed under some rules. Since there are no natural options, we design one to generate the unique order for a list of chains. The rule we developed is something like that for comparing two strings: comparing first the | + | Sorting is always performed under some rules. Since there are no natural options, we design one to generate the unique order for a list of chains. The rule we developed is something like that for comparing two strings: comparing first the '''partRef''' and '''partType''' defined in database of the first part of two chains in alphabet order and if equal, then comparing the next until there are differences or to the end of either chain. For convenience, we generate a '''uni code''' (a string) for each chain by putting their '''partRef''' and '''partType''' attributes one by one, for example: |
[placI185:ForwardDNA][RBS147:forwardDNA][lacI153:ForwardDNA][TE145:ForwardDNA] | [placI185:ForwardDNA][RBS147:forwardDNA][lacI153:ForwardDNA][TE145:ForwardDNA] | ||
Line 12: | Line 12: | ||
[placI185:ForwardDNA:*][RBS147:forwardDNA][lacI153:ForwardDNA][TE145:ForwardDNA] | [placI185:ForwardDNA:*][RBS147:forwardDNA][lacI153:ForwardDNA][TE145:ForwardDNA] | ||
+ | |||
+ | If '''unicode''' of each chain is different with others, then we could sort the chain list by comparing their '''unicode''' (just the same with comparison of two strings). However, it is not always so: chains with same '''unicode''' may be equivalent or not. It is due to the mark asterisk '*'. '''Unicode''' knows where are the binding sites, but it does not know the binding details of that part. In other words, '''unicode''' could not soly determines the order of the chains since it lacks of information of the trees defined in our Chain-Node model. |
Revision as of 01:26, 11 October 2010
Chain Sorting and Weighting Scheme
Chains in our Chain-Node Model should not have any order since there are no natural ways to sort them. One chain is not preferred to another, since in a complex of multiple chains, which are connected via binding interaction of binding bites on their own, all chains are equivalent. However, a chain-sorting program is a prerequisite for implementations of many other functions, such as comparison of two Chain-Node structures, or pattern matching of template species to those with definite structure.
Sorting is always performed under some rules. Since there are no natural options, we design one to generate the unique order for a list of chains. The rule we developed is something like that for comparing two strings: comparing first the partRef and partType defined in database of the first part of two chains in alphabet order and if equal, then comparing the next until there are differences or to the end of either chain. For convenience, we generate a uni code (a string) for each chain by putting their partRef and partType attributes one by one, for example:
[placI185:ForwardDNA][RBS147:forwardDNA][lacI153:ForwardDNA][TE145:ForwardDNA]
If one part is binded with another part (a binding site), we will mark it with '*', the example above becoms (if placI185 is binded with some part, say lacI153 protein):
[placI185:ForwardDNA:*][RBS147:forwardDNA][lacI153:ForwardDNA][TE145:ForwardDNA]
If unicode of each chain is different with others, then we could sort the chain list by comparing their unicode (just the same with comparison of two strings). However, it is not always so: chains with same unicode may be equivalent or not. It is due to the mark asterisk '*'. Unicode knows where are the binding sites, but it does not know the binding details of that part. In other words, unicode could not soly determines the order of the chains since it lacks of information of the trees defined in our Chain-Node model.