Bioinformatics/Global alignment: Difference between revisions
→{{header|jq}}: faster
(→{{header|jq}}: faster) |
|||
Line 320:
end);
# Given an array of deduplicated strings, attempt to find a superstring
# composed of these strings in the same order;
# return it if found, else null.
def relevant($min):
. as $in
|
| {s: .[0],
| until (.s == null or .i >= $length - 1;
then overlap_info(.; $in[$i+1]; $min) as $overlap▼
| if $overlap then (. + $in[$i+1][$overlap.overlap|length:])▼
# Since the strings have been deduplicated we can use $in[$i]:
▲ else null
else .s = null
end
| .s ;
# Input: an array of strings
Line 346 ⟶ 350:
'''The specific tasks'''
<lang jq>
def
[
["TA", "AAG", "TA", "GAA", "TA"]
▲ ["CATTAGGG", "ATTAG", "GGG", "TA"];
▲ ["AAGAUGGA", "GGAGCGCAUC", "AUCGCAAUAAGGA"];
["ATGAAATGGATGTTCTGAGTTGGTCAGTCCCAATGTGCGGGGTTTCTTTTAGTACGTCGGGAGTGGTATTAT",
"GGTCGATTCTGAGGACAAAGGTCAAGATGGAGCGCATCGAACGCAATAAGGATCATTTGATGGGACGTTTCGTCGACAAAGT",
Line 368 ⟶ 370:
"TTTCCAATTATGTAAGCGTTCCGAGACGGGGTGGTCGATTCTGAGGACAAAGGTCAAGATGGAGCGCATC",
"CTATGTTCTTATGAAATGGATGTTCTGAGTTGGTCAGTCCCAATGTGCGGGGTTTCTTTTAGTACGTCGGGAGTGGTATTATA",
"TCTCTTAAACTCCTGCTAAATGCTCGTGCTTTCCAATTATGTAAGCGTTCCGAGACGGGGTGGTCGATTCTGAGGACAAAGGTCAAGA"]
];
def tasks:
def t: shortest_common_superstring | synopsis;
"Task 1:", (task1|t),▼
examples
| . as $examples
| range(0;length) as $i
tasks</lang>
|