Q: How long does it roughly take to spawn a subprocess in bash? A: Around 1 millisecond
$ time for i in {0..1000} ; do $(echo "1") 2&>1 >/dev/null; done
import argparse | |
import json | |
def extract_attribute(node_data, attribute: str) -> dict[str, str]: | |
data = {} | |
for name, node in node_data["nodes"].items(): | |
if attribute in node: | |
data[name] = node[attribute] | |
return data |
{"version":"v2","meta":{"title":"SARS-CoV-2 phylogeny","updated":"2023-03-08","build_url":"https://github.com/neherlab/nextclade_data_workflows","maintainers":[{"name":"Cornelius Roemer","url":"https://neherlab.org"},{"name":"Richard Neher","url":"https://neherlab.org"}],"display_defaults":{"color_by":"clade_membership","distance_measure":"div","map_triplicate":false,"branch_label":"clade","transmission_lines":false},"genome_annotations":{"nuc":{"end":29903,"start":1,"strand":"+","seqid":"defaults/reference_seq.gb","type":"source"},"E":{"end":26472,"seqid":"defaults/reference_seq.gb","start":26245,"strand":"+","type":"CDS"},"M":{"end":27191,"seqid":"defaults/reference_seq.gb","start":26523,"strand":"+","type":"CDS"},"N":{"end":29533,"seqid":"defaults/reference_seq.gb","start":28274,"strand":"+","type":"CDS"},"ORF1a":{"end":13468,"seqid":"defaults/reference_seq.gb","start":266,"strand":"+","type":"CDS"},"ORF1b":{"end":21555,"seqid":"defaults/reference_seq.gb","start":13468,"strand":"+","type":"CDS"},"ORF3a":{" |
{"version":"v2","meta":{"title":"SARS-CoV-2 phylogeny","updated":"2023-03-08","build_url":"https://github.com/neherlab/nextclade_data_workflows","maintainers":[{"name":"Cornelius Roemer","url":"https://neherlab.org"},{"name":"Richard Neher","url":"https://neherlab.org"}],"display_defaults":{"color_by":"clade_membership","distance_measure":"div","map_triplicate":false,"branch_label":"clade","transmission_lines":false},"genome_annotations":{"nuc":{"end":29903,"start":1,"strand":"+","seqid":"defaults/reference_seq.gb","type":"source"},"E":{"end":26472,"seqid":"defaults/reference_seq.gb","start":26245,"strand":"+","type":"CDS"},"M":{"end":27191,"seqid":"defaults/reference_seq.gb","start":26523,"strand":"+","type":"CDS"},"N":{"end":29533,"seqid":"defaults/reference_seq.gb","start":28274,"strand":"+","type":"CDS"},"ORF1a":{"end":13468,"seqid":"defaults/reference_seq.gb","start":266,"strand":"+","type":"CDS"},"ORF1b":{"end":21555,"seqid":"defaults/reference_seq.gb","start":13468,"strand":"+","type":"CDS"},"ORF3a":{" |
>XP | |
ATTAAAGGTTTATACCTTCCCAGGTAACAAACCAACCAACTTTCGATCTCTTGTAGATCT | |
GTTCTCTAAACGAACTTTAAAATCTGTGTGGCTGTCACTCGGCTGCATGCTTAGTGCACT | |
CACGCAGTATAATTAATAACTAATTACTGTCGTTGACAGGACACGAGTAACTCGTCTATC | |
TTCTGCAGGCTGCTTACGGTTTCGTCCGTGTTGCAGCCGATCATCAGCACATCTAGGTTT | |
TGTCCGGGTGTGACCGAAAGGTAAGATGGAGAGCCTTGTCCCTGGTTTCAACGAGAAAAC | |
ACACGTCCAACTCAGTTTGCCTGTTTTACAGGTTCGCGACGTGCTCGTACGTGGCTTTGG | |
AGACTCCGTGGAGGAGGTCTTATCAGAGGCACGTCAACATCTTAAAGATGGCACTTGTGG | |
CTTAGTAGAAGTTGAAAAAGGCGTTTTGCCTCAACTTGAACAGCCCTATGTGTTCATCAA | |
ACGTTCGGATGCTCGAACTGCACCTCATGGTCATGTTATGGTTGAGCTGGTAGCAGAACT |
{"version":"v2","meta":{"title":"SARS-CoV-2 phylogeny","updated":"2023-03-15","build_url":"https://github.com/neherlab/nextclade_data_workflows","maintainers":[{"name":"Cornelius Roemer","url":"https://neherlab.org"},{"name":"Richard Neher","url":"https://neherlab.org"}],"display_defaults":{"color_by":"clade_membership","distance_measure":"div","map_triplicate":false,"branch_label":"clade","transmission_lines":false},"genome_annotations":{"nuc":{"end":29903,"start":1,"strand":"+","seqid":"defaults/reference_seq.gb","type":"source"},"E":{"end":26472,"seqid":"defaults/reference_seq.gb","start":26245,"strand":"+","type":"CDS"},"M":{"end":27191,"seqid":"defaults/reference_seq.gb","start":26523,"strand":"+","type":"CDS"},"N":{"end":29533,"seqid":"defaults/reference_seq.gb","start":28274,"strand":"+","type":"CDS"},"ORF1a":{"end":13468,"seqid":"defaults/reference_seq.gb","start":266,"strand":"+","type":"CDS"},"ORF1b":{"end":21555,"seqid":"defaults/reference_seq.gb","start":13468,"strand":"+","type":"CDS"},"ORF3a":{" |
Use jsondiffpatch not json-diff jsondiffpatch is much faster json-diff took >30s (couldn't bother waiting anymore) what jsondiffpatch did in <1s https://github.com/benjamine/jsondiffpatch
npm install -g jsondiffpatch
{ | |
"schemaVersion": "1.10.0", | |
"placementMaskRanges": [{"begin":0,"end":100},{"begin":10700,"end":30000}], | |
"nucMutLabelMap": { | |
"174T": [ | |
"20H" | |
], | |
"204T": [ | |
"20E" | |
], |
{ | |
"schemaVersion": "1.10.0", | |
"placementMaskRanges": [{"begin":0,"end":100},{"begin":29720,"end":30000}], | |
"nucMutLabelMap": { | |
"174T": [ | |
"20H" | |
], | |
"204T": [ | |
"20E" | |
], |
{"version":"v2","meta":{"title":"SARS-CoV-2 phylogeny","updated":"2023-03-22","build_url":"https://github.com/neherlab/nextclade_data_workflows","maintainers":[{"name":"Cornelius Roemer","url":"https://neherlab.org"},{"name":"Richard Neher","url":"https://neherlab.org"}],"display_defaults":{"color_by":"clade_membership","distance_measure":"div","map_triplicate":false,"branch_label":"clade","transmission_lines":false},"genome_annotations":{"nuc":{"end":29903,"start":1,"strand":"+","seqid":"defaults/reference_seq.gb","type":"source"},"E":{"end":26472,"seqid":"defaults/reference_seq.gb","start":26245,"strand":"+","type":"CDS"},"M":{"end":27191,"seqid":"defaults/reference_seq.gb","start":26523,"strand":"+","type":"CDS"},"N":{"end":29533,"seqid":"defaults/reference_seq.gb","start":28274,"strand":"+","type":"CDS"},"ORF1a":{"end":13468,"seqid":"defaults/reference_seq.gb","start":266,"strand":"+","type":"CDS"},"ORF1b":{"end":21555,"seqid":"defaults/reference_seq.gb","start":13468,"strand":"+","type":"CDS"},"ORF3a":{" |