Have a look at https://github.com/biojs/biojs3 for more info.
Parsers should work by
<biojs-vis-msa>
<biojs-io-fasta url="./foo.fasta" />
</biojs-vis-msa>
Note: custom elements always need to be closed. However once the parent gets closed, they will be closed too.
<biojs-vis-msa>
<biojs-io-fasta data={{seqs}}>
some inner text
</biojs-io-fasta>
</biojs-vis-msa>
<template is="dom-bind">
<biojs-vis-msa id="msa1" seqs="{{seqs}}">
<biojs-io-fasta url="./foo.fasta" />
</biojs-vis-msa>
<biojs-vis-msa id="msa2" seqs="{{seqs}}"></biojs-vis-msa>
</template>
<template is="dom-bind">
<biojs-vis-msa id="msa1" seqs="{{seqs}}"></biojs-vis-msa>
<biojs-vis-msa id="msa2" seqs="{{seqs}}"></biojs-vis-msa>
<biojs-io-fasta url="./foo.fasta" data="{{seqs}}"/>
</template>