@rcsb/rcsb-saguaro
Version:
RCSB 1D Feature Viewer
61 lines (60 loc) • 1.97 kB
JavaScript
import { RcsbFv } from "../RcsbFv/RcsbFv";
const sequence = "MTTQAPTFTQPLQSVVVLEGSTATFEAHISGFPVPEVSWFRDGQVISTSTLPGVQISFSD" +
"GRAKLTIPAVTKANSGRYSLKATNGSGQATSTAELLVKAETAPPNFVQRLQSMTVRQGSQ" +
"VRLQVRVTGIPTPVVKFYRDGAEIQSSLDFQISQEGDLYSLLIAEAYPEDSGTYSVNATN" +
"SVGRATSTAELLVQGEEEVPAKKTKTIVSTAQISESRQTRIEKKIEAHFDARSIATVEMV";
const compositeConfig = {
trackId: "compositeSequence1",
trackHeight: 20,
trackColor: "#F9F9F9",
displayType: "composite" /* RcsbFvDisplayTypes.COMPOSITE */,
rowTitle: "Track 1",
displayConfig: [
{
displayType: "block" /* RcsbFvDisplayTypes.BLOCK */,
displayColor: "#9999FF",
displayId: "compositeBlockSequence",
displayData: [{
begin: 1,
end: sequence.length
}]
},
{
displayType: "sequence" /* RcsbFvDisplayTypes.SEQUENCE */,
displayColor: "#000000",
displayId: "compositeSeqeunce",
displayData: [{
begin: 1,
label: sequence
}]
}
]
};
const boardConfigData = {
length: sequence.length,
trackWidth: 940,
includeAxis: true,
includeTooltip: true,
highlightHoverElement: true,
hideInnerBorder: true,
hideRowGlow: false
};
const fv = new RcsbFv({ elementId: "pfv", boardConfigData, rowConfigData: Array(500).fill(undefined).map((i, n) => {
return Object.assign(Object.assign({}, compositeConfig), { rowTitle: `Track ${n}`, trackId: "compositeSequence_" + n, trackVisibility: n % 2 == 0 });
}) });
fv.then(() => {
console.log("Ready viewer");
});
/*
fv.then(async ()=>{
for(let i = 0; i< 100; i++){
await fv.changeTrackVisibility({
trackId: "compositeSequence_"+(2*i+1),
visibility: true
})
}
await fv.moveTrack(5,1);
await fv.moveTrack(6,2);
await fv.moveTrack(10,3);
});
*/