|
@@ -0,0 +1,107 @@
|
|
|
+# DNA
|
|
|
+
|
|
|
+if $ARGS[0] = 'compare':
|
|
|
+!!Comparing two DNA string, if match, gives back 1
|
|
|
+ if $ARGS[1] = $ARGS[2]:
|
|
|
+ result = 1
|
|
|
+ else
|
|
|
+ result = 0
|
|
|
+ end
|
|
|
+end
|
|
|
+
|
|
|
+if $ARGS[0] = 'relate':
|
|
|
+!!Comparing two DNA string to determine genetic relation
|
|
|
+ !!First sample
|
|
|
+ !!own ID
|
|
|
+ temp1[0] = $mid ($ARGS[1], 1, 10)
|
|
|
+ !!mother ID
|
|
|
+ temp1[1] = $mid ($ARGS[1], 12, 10)
|
|
|
+ !!father ID
|
|
|
+ temp1[2] = $mid ($ARGS[1], 23, 10)
|
|
|
+ !!maternal grandmother ID
|
|
|
+ temp1[3] = $mid ($ARGS[1], 34, 10)
|
|
|
+ !!maternal grandfather ID
|
|
|
+ temp1[4] = $mid ($ARGS[1], 45, 10)
|
|
|
+ !!paternal grandmother ID
|
|
|
+ temp1[5] = $mid ($ARGS[1], 56, 10)
|
|
|
+ !!paternal grandfather ID
|
|
|
+ temp1[6] = $mid ($ARGS[1], 67, 10)
|
|
|
+ !!Second sample
|
|
|
+ !!own ID
|
|
|
+ temp2[0] = $mid ($ARGS[2], 1, 10)
|
|
|
+ !!mother ID
|
|
|
+ temp2[1] = $mid ($ARGS[2], 12, 10)
|
|
|
+ !!father ID
|
|
|
+ temp2[2] = $mid ($ARGS[2], 23, 10)
|
|
|
+ !!maternal grandmother ID
|
|
|
+ temp2[3] = $mid ($ARGS[2], 34, 10)
|
|
|
+ !!maternal grandfather ID
|
|
|
+ temp2[4] = $mid ($ARGS[2], 45, 10)
|
|
|
+ !!paternal grandmother ID
|
|
|
+ temp2[5] = $mid ($ARGS[2], 56, 10)
|
|
|
+ !!paternal grandfather ID
|
|
|
+ temp2[6] = $mid ($ARGS[2], 67, 10)
|
|
|
+
|
|
|
+ if temp1[0] = temp2[1] or temp1[0] = temp2[2] or temp2[0] = temp1[1] or temp2[0] = temp1[2]:
|
|
|
+ 'Parent-child relation'
|
|
|
+ if temp1[0] = temp2[1] or temp1[0] = temp2[2]:
|
|
|
+ !!temp1 is the parent, temp2 is child
|
|
|
+ if temp2[1] = temp2[5] or temp2[2] = temp2[4]:'Child is the result of incest (parent is also grandparent)'
|
|
|
+ if temp2[3] = temp2[5] and temp2[4] = temp2[6]:'Child is result of incest with close family member (sibling)'
|
|
|
+ if temp2[3] = temp2[5] or temp2[4] = temp2[6]:'Child is result of incest with close family member (half sibling)'
|
|
|
+ elseif temp2[0] = temp1[1] or temp2[0] = temp1[2]:
|
|
|
+ !!temp2 is the parent, temp1 is child
|
|
|
+ if temp1[1] = temp1[5] or temp1[2] = temp1[4]:'Child is the result of incest (parent is also grandparent)'
|
|
|
+ if temp1[3] = temp1[5] and temp1[4] = temp1[6]:'Child is result of incest with close family member (sibling)'
|
|
|
+ if temp1[3] = temp1[5] or temp1[4] = temp1[6]:'Child is result of incest with close family member (half sibling)'
|
|
|
+ end
|
|
|
+ elseif temp1[0] = temp2[3] or temp1[0] = temp2[4] or temp1[0] = temp2[5] or temp1[0] = temp2[6] or temp2[0] = temp1[3] or temp2[0] = temp1[4] or temp2[0] = temp1[5] or temp2[0] = temp1[6]:
|
|
|
+ 'Grandparent-grandchild relation'
|
|
|
+ elseif temp1[1] = temp2[1] or temp1[2] = temp2[2]:
|
|
|
+ 'Sibling relation'
|
|
|
+ if temp1[1] = temp2[1] and temp1[2] = temp2[2]:'Full sibling'
|
|
|
+ if temp1[1] ! temp2[1] or temp1[2] ! temp2[2]:'Half sibling'
|
|
|
+ elseif temp1[1] ! temp2[1] and temp1[2] ! temp2[2]:
|
|
|
+ if temp1[3] = temp2[3] and temp1[4] = temp2[4] or temp1[3] = temp2[5] and temp1[4] = temp2[6]:
|
|
|
+ 'first cousins'
|
|
|
+ elseif temp1[3] = temp2[3] or temp1[4] = temp2[4] or temp1[3] = temp2[5] or temp1[4] = temp2[6]:
|
|
|
+ 'distand blood relation'
|
|
|
+ end
|
|
|
+ end
|
|
|
+ killvar 'temp1'
|
|
|
+ killvar 'temp2'
|
|
|
+end
|
|
|
+
|
|
|
+if $ARGS[0] = 'create':
|
|
|
+!!If no known parentage, generate a DNA string, as Tabula Rasa
|
|
|
+ i = 0
|
|
|
+ :DNAloop
|
|
|
+ $DNA += str(rand(1000000000,2147483647))
|
|
|
+ if i < 6:$DNA += ' ' & i += 1 & jump 'DNAloop'
|
|
|
+ $RESULT = $DNA
|
|
|
+ killvar '$DNA'
|
|
|
+end
|
|
|
+
|
|
|
+if $ARGS[0] = 'generate':
|
|
|
+!!Creating its own DNA string from parent DNAs
|
|
|
+!!The order of the arguments are important, first is always the female
|
|
|
+ $momDNA = $ARGS[1]
|
|
|
+ $dadDNA = $ARGS[2]
|
|
|
+ i = 0
|
|
|
+ !!mother ID
|
|
|
+ $temp[0] = $mid ($momDNA, 1, 10)
|
|
|
+ !!father ID
|
|
|
+ $temp[1] = $mid ($dadDNA, 1, 10)
|
|
|
+ !!maternal grandmother ID
|
|
|
+ $temp[2] = $mid ($momDNA, 12, 10)
|
|
|
+ !!maternal grandfather ID
|
|
|
+ $temp[3] = $mid ($momDNA, 23, 10)
|
|
|
+ !!paternal grandmother ID
|
|
|
+ $temp[4] = $mid ($dadDNA, 12, 10)
|
|
|
+ !!paternal grandfather ID
|
|
|
+ $temp[5] = $mid ($dadDNA, 23, 10)
|
|
|
+ $RESULT = str(rand(1000000000,2147483647)) + ' ' + $temp[0] + ' ' + $temp[1] + ' ' + $temp[2] + ' ' + $temp[3] + ' ' + $temp[4] + ' ' + $temp[5]
|
|
|
+ killvar 'temp'
|
|
|
+end
|
|
|
+
|
|
|
+--- DNA -------------------------------
|