diff --git a/src/privateer/cpp/privateer-lib.cpp b/src/privateer/cpp/privateer-lib.cpp
index 236b203d..73c801af 100644
--- a/src/privateer/cpp/privateer-lib.cpp
+++ b/src/privateer/cpp/privateer-lib.cpp
@@ -2363,30 +2363,28 @@ std::string privateer::glycanbuilderplot::Plot::get_XML ( )
bool privateer::glycanbuilderplot::Plot::plot_glycan ( clipper::MGlycan glycan, privateer::glycanbuilderplot::GlycanErrorCount* error_count)
{
-
+
this->set_size(3000,3000);
const clipper::String type = glycan.get_type();
privateer::glycanbuilderplot::GlycanRoot *root;
- clipper::String id = glycan.get_root().first.id().trim().substr(0,glycan.get_root().first.id().trim().find(":"));
- std::string mmdbsel = "mmdb:///" + glycan.get_chain().substr(0,1) + "/" + id;
+ std::string mmdbsel = "mmdb:///" + glycan.get_chain().substr(0,1) + "/" + glycan.get_root().first.id().trim();
// first, let us draw the root
if ( type == "n-glycan" )
- root = new privateer::glycanbuilderplot::GlycanRoot(2768, 990, "N", glycan.get_root().first.type(), glycan.get_chain().substr(0,1) + "/" + id, "N-glycosylation. " + glycan.get_root_description(), mmdbsel );
+ root = new privateer::glycanbuilderplot::GlycanRoot(2768, 990, "N", glycan.get_root().first.type(), glycan.get_chain().substr(0,1) + "/" + glycan.get_root().first.id().trim(), "N-glycosylation. " + glycan.get_root_description(), glycan.get_chain().trim(), glycan.get_root().first.type().trim(), glycan.get_root().first.seqnum(), mmdbsel );
else if ( type == "o-glycan" )
- root = new privateer::glycanbuilderplot::GlycanRoot(2768, 990, "O", glycan.get_root().first.type(), glycan.get_chain().substr(0,1) + "/" + id, "O-glycosylation. " + glycan.get_root_description(), mmdbsel );
+ root = new privateer::glycanbuilderplot::GlycanRoot(2768, 990, "O", glycan.get_root().first.type(), glycan.get_chain().substr(0,1) + "/" + glycan.get_root().first.id().trim(), "O-glycosylation. " + glycan.get_root_description(), glycan.get_chain().trim(), glycan.get_root().first.type().trim(), glycan.get_root().first.seqnum(), mmdbsel );
else if ( type == "s-glycan" )
- root = new privateer::glycanbuilderplot::GlycanRoot(2768, 990, "S", glycan.get_root().first.type(), glycan.get_chain().substr(0,1) + "/" + id, "S-glycosylation. " + glycan.get_root_description(), mmdbsel );
+ root = new privateer::glycanbuilderplot::GlycanRoot(2768, 990, "S", glycan.get_root().first.type(), glycan.get_chain().substr(0,1) + "/" + glycan.get_root().first.id().trim(), "S-glycosylation. " + glycan.get_root_description(), glycan.get_chain().trim(), glycan.get_root().first.type().trim(), glycan.get_root().first.seqnum(), mmdbsel );
else if ( type == "c-glycan" )
- root = new privateer::glycanbuilderplot::GlycanRoot(2768, 990, "C", glycan.get_root().first.type(), glycan.get_chain().substr(0,1) + "/" + id, "C-glycosylation. " + glycan.get_root_description(), mmdbsel );
+ root = new privateer::glycanbuilderplot::GlycanRoot(2768, 990, "C", glycan.get_root().first.type(), glycan.get_chain().substr(0,1) + "/" + glycan.get_root().first.id().trim(), "C-glycosylation. " + glycan.get_root_description(), glycan.get_chain().trim(), glycan.get_root().first.type().trim(), glycan.get_root().first.seqnum(), mmdbsel );
else if ( type == "p-glycan" )
- root = new privateer::glycanbuilderplot::GlycanRoot(2768, 990, "P", glycan.get_root().first.type(), glycan.get_chain().substr(0,1) + "/" + id, "P-glycosylation. " + glycan.get_root_description(), mmdbsel );
+ root = new privateer::glycanbuilderplot::GlycanRoot(2768, 990, "P", glycan.get_root().first.type(), glycan.get_chain().substr(0,1) + "/" + glycan.get_root().first.id().trim(), "P-glycosylation. " + glycan.get_root_description(), glycan.get_chain().trim(), glycan.get_root().first.type().trim(), glycan.get_root().first.seqnum(), mmdbsel );
else if ( type == "ligand" )
- root = new privateer::glycanbuilderplot::GlycanRoot(2768, 990, "L-", "N/A", "Ligand", mmdbsel );
- else
- return true;
+ root = new privateer::glycanbuilderplot::GlycanRoot(2768, 990, "L-", "N/A", "Ligand", "Ligand", glycan.get_root_sugar_chainID().trim(), glycan.get_root().second.type().trim(), glycan.get_root().second.seqnum(), mmdbsel );
+ else return true;
add_block ( root );
@@ -2465,192 +2463,192 @@ void privateer::glycanbuilderplot::Plot::recursive_paint ( clipper::MGlycan mg,
if ( sugname == "Glc" )
{
- Glc * glc = new Glc (x, y, get_svg_tooltip ( sugar, validation ), mmdbsel );
+ Glc * glc = new Glc (x, y, get_svg_tooltip ( sugar, validation ), sugar.chain_id().trim(), sugar.short_name().trim(), sugar.get_seqnum(), mmdbsel );
add_block ( glc );
if (node_contains_issue_with_sugar && this->potential_issue_shading)
{
- shadedCircle * shCrcl = new shadedCircle (x, y, get_svg_tooltip ( sugar, validation ), mmdbsel );
+ shadedCircle * shCrcl = new shadedCircle (x, y, get_svg_tooltip ( sugar, validation ), sugar.chain_id().trim(), sugar.short_name().trim(), sugar.get_seqnum(), mmdbsel );
add_shaded_node (shCrcl);
}
}
else if ( sugname == "Gal" )
{
- Gal * gal = new Gal (x, y, get_svg_tooltip ( sugar, validation ), mmdbsel );
+ Gal * gal = new Gal (x, y, get_svg_tooltip ( sugar, validation ), sugar.chain_id().trim(), sugar.short_name().trim(), sugar.get_seqnum(), mmdbsel );
add_block ( gal );
if (node_contains_issue_with_sugar && this->potential_issue_shading )
{
- shadedCircle * shCrcl = new shadedCircle (x, y, get_svg_tooltip ( sugar, validation ), mmdbsel );
+ shadedCircle * shCrcl = new shadedCircle (x, y, get_svg_tooltip ( sugar, validation ), sugar.chain_id().trim(), sugar.short_name().trim(), sugar.get_seqnum(), mmdbsel );
add_shaded_node (shCrcl);
}
}
else if ( sugname == "Man" )
{
- Man * man = new Man (x, y, get_svg_tooltip ( sugar, validation ), mmdbsel );
+ Man * man = new Man (x, y, get_svg_tooltip ( sugar, validation ), sugar.chain_id().trim(), sugar.short_name().trim(), sugar.get_seqnum(), mmdbsel );
add_block ( man );
if (node_contains_issue_with_sugar && this->potential_issue_shading )
{
- shadedCircle * shCrcl = new shadedCircle (x, y, get_svg_tooltip ( sugar, validation ), mmdbsel );
+ shadedCircle * shCrcl = new shadedCircle (x, y, get_svg_tooltip ( sugar, validation ), sugar.chain_id().trim(), sugar.short_name().trim(), sugar.get_seqnum(), mmdbsel );
add_shaded_node (shCrcl);
}
}
else if ( sugname == "Fuc" )
{
- Fuc * fuc = new Fuc (x, y, get_svg_tooltip ( sugar, validation ), mmdbsel );
+ Fuc * fuc = new Fuc (x, y, get_svg_tooltip ( sugar, validation ), sugar.chain_id().trim(), sugar.short_name().trim(), sugar.get_seqnum(), mmdbsel );
add_block ( fuc );
if (node_contains_issue_with_sugar && this->potential_issue_shading )
{
- shadedTriangle * shTrngl = new shadedTriangle (x, y, get_svg_tooltip ( sugar, validation ), mmdbsel );
+ shadedTriangle * shTrngl = new shadedTriangle (x, y, get_svg_tooltip ( sugar, validation ), sugar.chain_id().trim(), sugar.short_name().trim(), sugar.get_seqnum(), mmdbsel );
add_shaded_node (shTrngl);
}
}
else if ( sugname == "Xyl" )
{
- Xyl * xyl = new Xyl (x, y, get_svg_tooltip ( sugar, validation ), mmdbsel );
+ Xyl * xyl = new Xyl (x, y, get_svg_tooltip ( sugar, validation ), sugar.chain_id().trim(), sugar.short_name().trim(), sugar.get_seqnum(), mmdbsel );
add_block ( xyl );
if (node_contains_issue_with_sugar && this->potential_issue_shading )
{
- shadedStar * shStar = new shadedStar (x, y, get_svg_tooltip ( sugar, validation ), mmdbsel );
+ shadedStar * shStar = new shadedStar (x, y, get_svg_tooltip ( sugar, validation ), sugar.chain_id().trim(), sugar.short_name().trim(), sugar.get_seqnum(), mmdbsel );
add_shaded_node (shStar);
}
}
else if ( sugname == "GlcN" )
{
- GlcN * glcn = new GlcN (x, y, get_svg_tooltip ( sugar, validation ), mmdbsel );
+ GlcN * glcn = new GlcN (x, y, get_svg_tooltip ( sugar, validation ), sugar.chain_id().trim(), sugar.short_name().trim(), sugar.get_seqnum(), mmdbsel );
add_block ( glcn );
if (node_contains_issue_with_sugar && this->potential_issue_shading )
{
- shadedSquare * shSqr = new shadedSquare (x, y, get_svg_tooltip ( sugar, validation ), mmdbsel );
+ shadedSquare * shSqr = new shadedSquare (x, y, get_svg_tooltip ( sugar, validation ), sugar.chain_id().trim(), sugar.short_name().trim(), sugar.get_seqnum(), mmdbsel );
add_shaded_node (shSqr);
}
}
else if ( sugname == "GalN" )
{
- GalN * galn = new GalN (x, y, get_svg_tooltip ( sugar, validation ), mmdbsel );
+ GalN * galn = new GalN (x, y, get_svg_tooltip ( sugar, validation ), sugar.chain_id().trim(), sugar.short_name().trim(), sugar.get_seqnum(), mmdbsel );
add_block ( galn );
if (node_contains_issue_with_sugar && this->potential_issue_shading )
{
- shadedSquare * shSqr = new shadedSquare (x, y, get_svg_tooltip ( sugar, validation ), mmdbsel );
+ shadedSquare * shSqr = new shadedSquare (x, y, get_svg_tooltip ( sugar, validation ), sugar.chain_id().trim(), sugar.short_name().trim(), sugar.get_seqnum(), mmdbsel );
add_shaded_node (shSqr);
}
}
else if ( sugname == "ManN" )
{
- ManN * mann = new ManN (x, y, get_svg_tooltip ( sugar, validation ), mmdbsel );
+ ManN * mann = new ManN (x, y, get_svg_tooltip ( sugar, validation ), sugar.chain_id().trim(), sugar.short_name().trim(), sugar.get_seqnum(), mmdbsel );
add_block ( mann );
if (node_contains_issue_with_sugar && this->potential_issue_shading )
{
- shadedSquare * shSqr = new shadedSquare (x, y, get_svg_tooltip ( sugar, validation ), mmdbsel );
+ shadedSquare * shSqr = new shadedSquare (x, y, get_svg_tooltip ( sugar, validation ), sugar.chain_id().trim(), sugar.short_name().trim(), sugar.get_seqnum(), mmdbsel );
add_shaded_node (shSqr);
}
}
else if ( sugname == "GlcNAc" )
{
- GlcNAc * glcnac = new GlcNAc (x, y, get_svg_tooltip ( sugar, validation ), mmdbsel );
+ GlcNAc * glcnac = new GlcNAc (x, y, get_svg_tooltip ( sugar, validation ), sugar.chain_id().trim(), sugar.short_name().trim(), sugar.get_seqnum(), mmdbsel );
add_block ( glcnac );
if (node_contains_issue_with_sugar && this->potential_issue_shading )
{
- shadedSquare * shSqr = new shadedSquare (x, y, get_svg_tooltip ( sugar, validation ), mmdbsel );
+ shadedSquare * shSqr = new shadedSquare (x, y, get_svg_tooltip ( sugar, validation ), sugar.chain_id().trim(), sugar.short_name().trim(), sugar.get_seqnum(), mmdbsel );
add_shaded_node (shSqr);
}
}
else if ( sugname == "GalNAc" )
{
- GalNAc * galnac = new GalNAc (x, y, get_svg_tooltip ( sugar, validation ) , mmdbsel );
+ GalNAc * galnac = new GalNAc (x, y, get_svg_tooltip ( sugar, validation ), sugar.chain_id().trim(), sugar.short_name().trim(), sugar.get_seqnum(), mmdbsel );
add_block ( galnac );
if (node_contains_issue_with_sugar && this->potential_issue_shading )
{
- shadedSquare * shSqr = new shadedSquare (x, y, get_svg_tooltip ( sugar, validation ), mmdbsel );
+ shadedSquare * shSqr = new shadedSquare (x, y, get_svg_tooltip ( sugar, validation ), sugar.chain_id().trim(), sugar.short_name().trim(), sugar.get_seqnum(), mmdbsel );
add_shaded_node (shSqr);
}
}
else if ( sugname == "ManNAc" )
{
- ManNAc * mannac = new ManNAc (x, y, get_svg_tooltip ( sugar, validation ) , mmdbsel );
+ ManNAc * mannac = new ManNAc (x, y, get_svg_tooltip ( sugar, validation ), sugar.chain_id().trim(), sugar.short_name().trim(), sugar.get_seqnum(), mmdbsel );
add_block ( mannac );
if (node_contains_issue_with_sugar && this->potential_issue_shading )
{
- shadedSquare * shSqr = new shadedSquare (x, y, get_svg_tooltip ( sugar, validation ), mmdbsel );
+ shadedSquare * shSqr = new shadedSquare (x, y, get_svg_tooltip ( sugar, validation ), sugar.chain_id().trim(), sugar.short_name().trim(), sugar.get_seqnum(), mmdbsel );
add_shaded_node (shSqr);
}
}
else if ( sugname == "GlcA" )
{
- GlcA * glca = new GlcA (x, y, get_svg_tooltip ( sugar, validation ), mmdbsel );
+ GlcA * glca = new GlcA (x, y, get_svg_tooltip ( sugar, validation ), sugar.chain_id().trim(), sugar.short_name().trim(), sugar.get_seqnum(), mmdbsel );
add_block ( glca );
if (node_contains_issue_with_sugar && this->potential_issue_shading )
{
- shadedSquare * shSqr = new shadedSquare (x, y, get_svg_tooltip ( sugar, validation ), mmdbsel );
+ shadedSquare * shSqr = new shadedSquare (x, y, get_svg_tooltip ( sugar, validation ), sugar.chain_id().trim(), sugar.short_name().trim(), sugar.get_seqnum(), mmdbsel );
add_shaded_node (shSqr);
}
}
else if ( sugname == "GalA" )
{
- GalA * gala = new GalA (x, y, get_svg_tooltip ( sugar, validation ), mmdbsel );
+ GalA * gala = new GalA (x, y, get_svg_tooltip ( sugar, validation ), sugar.chain_id().trim(), sugar.short_name().trim(), sugar.get_seqnum(), mmdbsel );
add_block ( gala );
if (node_contains_issue_with_sugar && this->potential_issue_shading )
{
- shadedSquare * shSqr = new shadedSquare (x, y, get_svg_tooltip ( sugar, validation ), mmdbsel );
+ shadedSquare * shSqr = new shadedSquare (x, y, get_svg_tooltip ( sugar, validation ), sugar.chain_id().trim(), sugar.short_name().trim(), sugar.get_seqnum(), mmdbsel );
add_shaded_node (shSqr);
}
}
else if ( sugname == "ManA" )
{
- ManA * mana = new ManA (x, y, get_svg_tooltip ( sugar, validation ), mmdbsel );
+ ManA * mana = new ManA (x, y, get_svg_tooltip ( sugar, validation ), sugar.chain_id().trim(), sugar.short_name().trim(), sugar.get_seqnum(), mmdbsel );
add_block ( mana );
if (node_contains_issue_with_sugar && this->potential_issue_shading )
{
- shadedSquare * shSqr = new shadedSquare (x, y, get_svg_tooltip ( sugar, validation ), mmdbsel );
+ shadedSquare * shSqr = new shadedSquare (x, y, get_svg_tooltip ( sugar, validation ), sugar.chain_id().trim(), sugar.short_name().trim(), sugar.get_seqnum(), mmdbsel );
add_shaded_node (shSqr);
}
}
else if ( sugname == "Neu5Gc" )
{
- Neu5Gc *neu5gc = new Neu5Gc ( x, y, get_svg_tooltip ( sugar, validation ), mmdbsel );
+ Neu5Gc *neu5gc = new Neu5Gc ( x, y, get_svg_tooltip ( sugar, validation ), sugar.chain_id().trim(), sugar.short_name().trim(), sugar.get_seqnum(), mmdbsel );
add_block ( neu5gc );
if (node_contains_issue_with_sugar && this->potential_issue_shading )
{
- shadedDiamond * shDiam = new shadedDiamond (x, y, get_svg_tooltip ( sugar, validation ), mmdbsel );
+ shadedDiamond * shDiam = new shadedDiamond (x, y, get_svg_tooltip ( sugar, validation ), sugar.chain_id().trim(), sugar.short_name().trim(), sugar.get_seqnum(), mmdbsel );
add_shaded_node (shDiam);
}
}
else if ( sugname == "Neu5Ac" )
{
- Neu5Ac *neu5ac = new Neu5Ac ( x, y, get_svg_tooltip ( sugar, validation ), mmdbsel );
+ Neu5Ac *neu5ac = new Neu5Ac ( x, y, get_svg_tooltip ( sugar, validation ), sugar.chain_id().trim(), sugar.short_name().trim(), sugar.get_seqnum(), mmdbsel );
add_block ( neu5ac );
if (node_contains_issue_with_sugar && this->potential_issue_shading )
{
- shadedDiamond * shDiam = new shadedDiamond (x, y, get_svg_tooltip ( sugar, validation ), mmdbsel );
+ shadedDiamond * shDiam = new shadedDiamond (x, y, get_svg_tooltip ( sugar, validation ), sugar.chain_id().trim(), sugar.short_name().trim(), sugar.get_seqnum(), mmdbsel );
add_shaded_node (shDiam);
}
}
else if ( sugname == "IdoA" )
{
- IdoA *idoa = new IdoA ( x, y, get_svg_tooltip ( sugar, validation ), mmdbsel );
+ IdoA *idoa = new IdoA ( x, y, get_svg_tooltip ( sugar, validation ), sugar.chain_id().trim(), sugar.short_name().trim(), sugar.get_seqnum(), mmdbsel );
add_block ( idoa );
if (node_contains_issue_with_sugar && this->potential_issue_shading )
{
- shadedDiamond * shDiam = new shadedDiamond (x, y, get_svg_tooltip ( sugar, validation ), mmdbsel );
+ shadedDiamond * shDiam = new shadedDiamond (x, y, get_svg_tooltip ( sugar, validation ), sugar.chain_id().trim(), sugar.short_name().trim(), sugar.get_seqnum(), mmdbsel );
add_shaded_node (shDiam);
}
}
else if ( sugname == "KDN" )
{
- KDN *kdn = new KDN ( x, y, get_svg_tooltip ( sugar, validation ), mmdbsel );
+ KDN *kdn = new KDN ( x, y, get_svg_tooltip ( sugar, validation ), sugar.chain_id().trim(), sugar.short_name().trim(), sugar.get_seqnum(), mmdbsel );
add_block ( kdn );
if (node_contains_issue_with_sugar && this->potential_issue_shading )
{
- shadedDiamond * shDiam = new shadedDiamond (x, y, get_svg_tooltip ( sugar, validation ), mmdbsel );
+ shadedDiamond * shDiam = new shadedDiamond (x, y, get_svg_tooltip ( sugar, validation ), sugar.chain_id().trim(), sugar.short_name().trim(), sugar.get_seqnum(), mmdbsel );
add_shaded_node (shDiam);
}
}
else
{
- Unk *unk = new Unk ( x, y, *(sugar.type().substr(0,1).c_str()), get_svg_tooltip ( sugar, validation ), mmdbsel );
+ Unk *unk = new Unk ( x, y, *(sugar.type().substr(0,1).c_str()), get_svg_tooltip ( sugar, validation ), sugar.chain_id().trim(), sugar.short_name().trim(), sugar.get_seqnum(), mmdbsel );
add_block ( unk );
if (node_contains_issue_with_sugar && this->potential_issue_shading )
{
- shadedHexagon * shHex = new shadedHexagon (x, y, get_svg_tooltip ( sugar, validation ), mmdbsel );
+ shadedHexagon * shHex = new shadedHexagon (x, y, get_svg_tooltip ( sugar, validation ), sugar.chain_id().trim(), sugar.short_name().trim(), sugar.get_seqnum(), mmdbsel );
add_shaded_node (shHex);
}
}
@@ -2693,8 +2691,6 @@ void privateer::glycanbuilderplot::Plot::recursive_paint ( clipper::MGlycan mg,
std::string message = os.str();
shadedBond * new_shaded_bond = new shadedBond( x+25, y + 25, up, message, "shadedbond", mmdbsel );
add_shaded_link(new_shaded_bond);
- errors->torsion_err++;
-
}
}
else
@@ -2704,12 +2700,10 @@ void privateer::glycanbuilderplot::Plot::recursive_paint ( clipper::MGlycan mg,
std::string message = os.str();
shadedBond * new_shaded_bond = new shadedBond( x+25, y + 25, up, message, "shadedbondnull", mmdbsel );
add_shaded_link(new_shaded_bond);
- errors->torsion_err++;
-
}
}
- recursive_paint ( mg, linked_node, x, y + 110, false, errors);
+ recursive_paint ( mg, linked_node, x, y + 110 );
}
else // up it goes, then
{
@@ -2735,8 +2729,6 @@ void privateer::glycanbuilderplot::Plot::recursive_paint ( clipper::MGlycan mg,
std::string message = os.str();
shadedBond * new_shaded_bond = new shadedBond( x+25, y + 25, down, message, "shadedbond", mmdbsel );
add_shaded_link(new_shaded_bond);
- errors->torsion_err++;
-
}
}
else
@@ -2746,12 +2738,10 @@ void privateer::glycanbuilderplot::Plot::recursive_paint ( clipper::MGlycan mg,
std::string message = os.str();
shadedBond * new_shaded_bond = new shadedBond( x+25, y + 25, down, message, "shadedbondnull", mmdbsel );
add_shaded_link(new_shaded_bond);
- errors->torsion_err++;
-
}
}
// }
- recursive_paint ( mg, linked_node, x, y - 110, false, errors );
+ recursive_paint ( mg, linked_node, x, y - 110 );
}
}
else if ( clipper::data::carbname_of(linked_node.get_sugar().type()) == "Xyl" )
@@ -2781,8 +2771,6 @@ void privateer::glycanbuilderplot::Plot::recursive_paint ( clipper::MGlycan mg,
std::string message = os.str();
shadedBond * new_shaded_bond = new shadedBond( x+25, y + 25, up, message, "shadedbond", mmdbsel );
add_shaded_link(new_shaded_bond);
- errors->torsion_err++;
-
}
}
else
@@ -2792,12 +2780,10 @@ void privateer::glycanbuilderplot::Plot::recursive_paint ( clipper::MGlycan mg,
std::string message = os.str();
shadedBond * new_shaded_bond = new shadedBond( x+25, y + 25, up, message, "shadedbondnull", mmdbsel );
add_shaded_link(new_shaded_bond);
- errors->torsion_err++;
-
}
}
- recursive_paint ( mg, linked_node, x, y + 110, false, errors );
+ recursive_paint ( mg, linked_node, x, y + 110 );
}
else // up it goes, then
{
@@ -2823,8 +2809,6 @@ void privateer::glycanbuilderplot::Plot::recursive_paint ( clipper::MGlycan mg,
std::string message = os.str();
shadedBond * new_shaded_bond = new shadedBond( x+25, y + 25, down, message, "shadedbond", mmdbsel );
add_shaded_link(new_shaded_bond);
- errors->torsion_err++;
-
}
}
else
@@ -2834,11 +2818,10 @@ void privateer::glycanbuilderplot::Plot::recursive_paint ( clipper::MGlycan mg,
std::string message = os.str();
shadedBond * new_shaded_bond = new shadedBond( x+25, y + 25, down, message, "shadedbondnull", mmdbsel );
add_shaded_link(new_shaded_bond);
- errors->torsion_err++;
}
}
- recursive_paint ( mg, linked_node, x, y - 110, false, errors );
+ recursive_paint ( mg, linked_node, x, y - 110 );
}
}
else // pseudo-general case
@@ -2936,7 +2919,6 @@ void privateer::glycanbuilderplot::Plot::recursive_paint ( clipper::MGlycan mg,
std::string message = os.str();
shadedBond * new_shaded_bond = new shadedBond( x, y + 25 + (sign * 15), orientation, message, "shadedbond", mmdbsel );
add_shaded_link(new_shaded_bond);
- errors->torsion_err++;
}
}
else
@@ -2946,11 +2928,10 @@ void privateer::glycanbuilderplot::Plot::recursive_paint ( clipper::MGlycan mg,
std::string message = os.str();
shadedBond * new_shaded_bond = new shadedBond( x, y + 25 + (sign * 15), orientation, message, "shadedbondnull", mmdbsel );
add_shaded_link(new_shaded_bond);
- errors->torsion_err++;
}
}
- recursive_paint ( mg, linked_node, x - 110, y + ( sign * 80 ), false, errors);
+ recursive_paint ( mg, linked_node, x - 110, y + ( sign * 80 ) );
}
}
}
@@ -3064,7 +3045,7 @@ std::string privateer::glycanbuilderplot::Glc::get_XML ()
std::ostringstream tmp;
tmp << " \n";
@@ -3078,7 +3059,7 @@ std::string privateer::glycanbuilderplot::Man::get_XML ()
tmp << " \n";
@@ -3091,7 +3072,7 @@ std::string privateer::glycanbuilderplot::Gal::get_XML ()
tmp << " \n";
@@ -3115,7 +3096,7 @@ std::string privateer::glycanbuilderplot::Fuc::get_XML ()
std::ostringstream tmp;
tmp << " \n";
@@ -3139,7 +3120,7 @@ std::string privateer::glycanbuilderplot::Xyl::get_XML ()
std::ostringstream tmp;
tmp << " \n";
@@ -3167,7 +3148,7 @@ std::string privateer::glycanbuilderplot::GalN::get_XML ()
std::ostringstream tmp;
tmp << " \n";
@@ -3179,7 +3160,7 @@ std::string privateer::glycanbuilderplot::GlcN::get_XML ()
std::ostringstream tmp;
tmp << " \n";
@@ -3192,7 +3173,7 @@ std::string privateer::glycanbuilderplot::ManN::get_XML ()
tmp << " \n";
@@ -3207,7 +3188,7 @@ std::string privateer::glycanbuilderplot::GlcNAc::get_XML ()
std::ostringstream tmp;
tmp << " \n";
@@ -3220,7 +3201,7 @@ std::string privateer::glycanbuilderplot::GalNAc::get_XML ()
tmp << " \n";
@@ -3233,7 +3214,7 @@ std::string privateer::glycanbuilderplot::ManNAc::get_XML ()
tmp << " \n";
@@ -3259,7 +3240,7 @@ std::string privateer::glycanbuilderplot::Neu5Ac::get_XML ()
std::ostringstream tmp;
tmp << " \n";
@@ -3272,7 +3253,7 @@ std::string privateer::glycanbuilderplot::Neu5Gc::get_XML ()
std::ostringstream tmp;
tmp << " \n";
@@ -3284,7 +3265,7 @@ std::string privateer::glycanbuilderplot::KDN::get_XML ()
std::ostringstream tmp;
tmp << " \n";
@@ -3297,7 +3278,7 @@ std::string privateer::glycanbuilderplot::GlcA::get_XML ()
std::ostringstream tmp;
tmp << " \n";
@@ -3311,7 +3292,7 @@ std::string privateer::glycanbuilderplot::ManA::get_XML ()
tmp << " \n";
@@ -3323,7 +3304,7 @@ std::string privateer::glycanbuilderplot::GalA::get_XML ()
std::ostringstream tmp;
tmp << " \n";
@@ -3336,7 +3317,7 @@ std::string privateer::glycanbuilderplot::IdoA::get_XML ()
std::ostringstream tmp;
tmp << " \n";
@@ -3361,7 +3342,7 @@ std::string privateer::glycanbuilderplot::Unk::get_XML ()
std::ostringstream tmp;
tmp << " \n"
<< "\n"
+ tmp << " \n"
<< " \n"
<< " privateer::scripting::report_link
}
return temp_vector;
-}
+}
\ No newline at end of file
diff --git a/src/privateer/cpp/privateer-lib.h b/src/privateer/cpp/privateer-lib.h
index bd0d5a2d..03218573 100644
--- a/src/privateer/cpp/privateer-lib.h
+++ b/src/privateer/cpp/privateer-lib.h
@@ -198,6 +198,12 @@ namespace privateer
std::string get_tooltip ( ) { return this->tooltip; }
void set_mmdbsel ( std::string mmdbsel ) { this->mmdbsel = mmdbsel; }
std::string get_mmdbsel ( ) { return this->mmdbsel; }
+ void set_chainID ( std::string chainID ) { this -> chainID = chainID; }
+ std::string get_chainID () { return this-> chainID; }
+ void set_resname ( std::string resname ) { this -> resname = resname; }
+ std::string get_resname () { return this -> resname; }
+ void set_seqnum ( int seqnum ) { this -> seqnum = seqnum; }
+ int get_seqnum ( ) { return this -> seqnum; }
protected:
int pos_x;
@@ -205,6 +211,10 @@ namespace privateer
std::string svg_id;
std::string tooltip;
std::string mmdbsel;
+ std::string chainID;
+ std::string resname;
+ int seqnum;
+
};
@@ -489,7 +499,7 @@ namespace privateer
{
public:
shadedCircle() { } //!< null constructor
- shadedCircle( int x, int y, std::string message, std::string mmdbsel = "" ) { set_pos(x, y); set_tooltip ( message ); set_mmdbsel(mmdbsel);}
+ shadedCircle( int x, int y, std::string message, std::string chainID = "N/A", std::string resname = "N/A", int seqnum = 0, std::string mmdbsel = "" ) { set_pos(x, y); set_tooltip ( message ); set_mmdbsel(mmdbsel); set_chainID(chainID); set_resname(resname); set_seqnum(seqnum);}
std::string get_XML ( );
};
@@ -497,7 +507,7 @@ namespace privateer
{
public:
Glc() { } //!< null constructor
- Glc( int x, int y, std::string message, std::string mmdbsel = "" ) { set_pos(x, y); set_tooltip ( message ); set_mmdbsel(mmdbsel);}
+ Glc( int x, int y, std::string message, std::string chainID = "N/A", std::string resname = "N/A", int seqnum = 0, std::string mmdbsel = "" ) { set_pos(x, y); set_tooltip ( message ); set_mmdbsel(mmdbsel); set_chainID(chainID); set_resname(resname); set_seqnum(seqnum);}
std::string get_XML ( );
};
@@ -506,7 +516,7 @@ namespace privateer
{
public:
Gal() { } //!< null constructor
- Gal( int x, int y, std::string message, std::string mmdbsel = "" ) { set_pos(x, y); set_tooltip ( message ); set_mmdbsel(mmdbsel);}
+ Gal( int x, int y, std::string message, std::string chainID = "N/A", std::string resname = "N/A", int seqnum = 0, std::string mmdbsel = "" ) { set_pos(x, y); set_tooltip ( message ); set_mmdbsel(mmdbsel); set_chainID(chainID); set_resname(resname); set_seqnum(seqnum);}
std::string get_XML ( );
};
@@ -515,7 +525,7 @@ namespace privateer
{
public:
Man() { } //!< null constructor
- Man( int x, int y, std::string message, std::string mmdbsel = "" ) { set_pos(x, y); set_tooltip ( message ); set_mmdbsel(mmdbsel);}
+ Man( int x, int y, std::string message, std::string chainID = "N/A", std::string resname = "N/A", int seqnum = 0, std::string mmdbsel = "" ) { set_pos(x, y); set_tooltip ( message ); set_mmdbsel(mmdbsel); set_chainID(chainID); set_resname(resname); set_seqnum(seqnum);}
std::string get_XML ( );
};
@@ -524,7 +534,7 @@ namespace privateer
{
public:
shadedTriangle() { } //!< null constructor
- shadedTriangle( int x, int y, std::string message, std::string mmdbsel = "" ) { set_pos(x, y); set_tooltip ( message ); set_mmdbsel(mmdbsel);}
+ shadedTriangle( int x, int y, std::string message, std::string chainID = "N/A", std::string resname = "N/A", int seqnum = 0, std::string mmdbsel = "" ) { set_pos(x, y); set_tooltip ( message ); set_mmdbsel(mmdbsel); set_chainID(chainID); set_resname(resname); set_seqnum(seqnum);}
std::string get_XML ( );
};
@@ -532,7 +542,7 @@ namespace privateer
{
public:
Fuc() { } //!< null constructor
- Fuc( int x, int y, std::string message, std::string mmdbsel = "" ) { set_pos(x, y); set_tooltip ( message ); set_mmdbsel(mmdbsel);}
+ Fuc( int x, int y, std::string message, std::string chainID = "N/A", std::string resname = "N/A", int seqnum = 0, std::string mmdbsel = "" ) { set_pos(x, y); set_tooltip ( message ); set_mmdbsel(mmdbsel); set_chainID(chainID); set_resname(resname); set_seqnum(seqnum);}
std::string get_XML ( );
};
@@ -541,7 +551,7 @@ namespace privateer
{
public:
shadedStar() { } //!< null constructor
- shadedStar( int x, int y, std::string message, std::string mmdbsel = "" ) { set_pos(x, y); set_tooltip ( message ); set_mmdbsel(mmdbsel);}
+ shadedStar( int x, int y, std::string message, std::string chainID = "N/A", std::string resname = "N/A", int seqnum = 0, std::string mmdbsel = "" ) { set_pos(x, y); set_tooltip ( message ); set_mmdbsel(mmdbsel); set_chainID(chainID); set_resname(resname); set_seqnum(seqnum);}
std::string get_XML ( );
};
@@ -549,7 +559,7 @@ namespace privateer
{
public:
Xyl() { } //!< null constructor
- Xyl( int x, int y, std::string message, std::string mmdbsel = "") { set_pos(x, y); set_tooltip ( message ); set_mmdbsel(mmdbsel);}
+ Xyl( int x, int y, std::string message, std::string chainID = "N/A", std::string resname = "N/A", int seqnum = 0, std::string mmdbsel = "" ) { set_pos(x, y); set_tooltip ( message ); set_mmdbsel(mmdbsel); set_chainID(chainID); set_resname(resname); set_seqnum(seqnum);}
std::string get_XML ( );
};
@@ -561,7 +571,7 @@ namespace privateer
{
public:
shadedSquare() { } //!< null constructor
- shadedSquare( int x, int y, std::string message, std::string mmdbsel = "" ) { set_pos(x, y); set_tooltip ( message ); set_mmdbsel(mmdbsel);}
+ shadedSquare( int x, int y, std::string message, std::string chainID = "N/A", std::string resname = "N/A", int seqnum = 0, std::string mmdbsel = "" ) { set_pos(x, y); set_tooltip ( message ); set_mmdbsel(mmdbsel); set_chainID(chainID); set_resname(resname); set_seqnum(seqnum);}
std::string get_XML ( );
};
@@ -569,7 +579,7 @@ namespace privateer
{
public:
GlcN() { } //!< null constructor
- GlcN( int x, int y, std::string message, std::string mmdbsel = "") { set_pos(x, y); set_tooltip ( message ); set_mmdbsel(mmdbsel);}
+ GlcN( int x, int y, std::string message, std::string chainID = "N/A", std::string resname = "N/A", int seqnum = 0, std::string mmdbsel = "" ) { set_pos(x, y); set_tooltip ( message ); set_mmdbsel(mmdbsel); set_chainID(chainID); set_resname(resname); set_seqnum(seqnum);}
std::string get_XML ( );
};
@@ -578,7 +588,7 @@ namespace privateer
{
public:
GalN() { } //!< null constructor
- GalN( int x, int y, std::string message, std::string mmdbsel = "") { set_pos(x, y); set_tooltip ( message ); set_mmdbsel(mmdbsel);}
+ GalN( int x, int y, std::string message, std::string chainID = "N/A", std::string resname = "N/A", int seqnum = 0, std::string mmdbsel = "" ) { set_pos(x, y); set_tooltip ( message ); set_mmdbsel(mmdbsel); set_chainID(chainID); set_resname(resname); set_seqnum(seqnum);}
std::string get_XML ( );
};
@@ -587,7 +597,7 @@ namespace privateer
{
public:
ManN() { } //!< null constructor
- ManN( int x, int y, std::string message, std::string mmdbsel = "") { set_pos(x, y); set_tooltip ( message ); set_mmdbsel(mmdbsel);}
+ ManN( int x, int y, std::string message, std::string chainID = "N/A", std::string resname = "N/A", int seqnum = 0, std::string mmdbsel = "" ) { set_pos(x, y); set_tooltip ( message ); set_mmdbsel(mmdbsel); set_chainID(chainID); set_resname(resname); set_seqnum(seqnum);}
std::string get_XML ( );
};
@@ -599,7 +609,7 @@ namespace privateer
{
public:
GlcNAc() { } //!< null constructor
- GlcNAc( int x, int y, std::string message, std::string mmdbsel = "") { set_pos(x, y); set_tooltip ( message ); set_mmdbsel(mmdbsel);}
+ GlcNAc( int x, int y, std::string message, std::string chainID = "N/A", std::string resname = "N/A", int seqnum = 0, std::string mmdbsel = "" ) { set_pos(x, y); set_tooltip ( message ); set_mmdbsel(mmdbsel); set_chainID(chainID); set_resname(resname); set_seqnum(seqnum);}
std::string get_XML ( );
};
@@ -608,7 +618,7 @@ namespace privateer
{
public:
GalNAc() { } //!< null constructor
- GalNAc( int x, int y, std::string message, std::string mmdbsel = "") { set_pos(x, y); set_tooltip ( message ); set_mmdbsel(mmdbsel);}
+ GalNAc( int x, int y, std::string message, std::string chainID = "N/A", std::string resname = "N/A", int seqnum = 0, std::string mmdbsel = "" ) { set_pos(x, y); set_tooltip ( message ); set_mmdbsel(mmdbsel); set_chainID(chainID); set_resname(resname); set_seqnum(seqnum);}
std::string get_XML ( );
};
@@ -617,7 +627,7 @@ namespace privateer
{
public:
ManNAc() { } //!< null constructor
- ManNAc( int x, int y, std::string message, std::string mmdbsel = "") { set_pos(x, y); set_tooltip ( message ); set_mmdbsel(mmdbsel);}
+ ManNAc( int x, int y, std::string message, std::string chainID = "N/A", std::string resname = "N/A", int seqnum = 0, std::string mmdbsel = "" ) { set_pos(x, y); set_tooltip ( message ); set_mmdbsel(mmdbsel); set_chainID(chainID); set_resname(resname); set_seqnum(seqnum);}
std::string get_XML ( );
};
@@ -628,7 +638,7 @@ namespace privateer
{
public:
shadedDiamond() { } //!< null constructor
- shadedDiamond( int x, int y, std::string message, std::string mmdbsel = "" ) { set_pos(x, y); set_tooltip ( message ); set_mmdbsel(mmdbsel);}
+ shadedDiamond( int x, int y, std::string message, std::string chainID = "N/A", std::string resname = "N/A", int seqnum = 0, std::string mmdbsel = "" ) { set_pos(x, y); set_tooltip ( message ); set_mmdbsel(mmdbsel); set_chainID(chainID); set_resname(resname); set_seqnum(seqnum);}
std::string get_XML ( );
};
@@ -636,7 +646,7 @@ namespace privateer
{
public:
Neu5Ac() { } //!< null constructor
- Neu5Ac( int x, int y, std::string message, std::string mmdbsel = "") { set_pos(x, y); set_tooltip ( message ); set_mmdbsel(mmdbsel);}
+ Neu5Ac( int x, int y, std::string message, std::string chainID = "N/A", std::string resname = "N/A", int seqnum = 0, std::string mmdbsel = "" ) { set_pos(x, y); set_tooltip ( message ); set_mmdbsel(mmdbsel); set_chainID(chainID); set_resname(resname); set_seqnum(seqnum);}
std::string get_XML ( );
};
@@ -645,7 +655,7 @@ namespace privateer
{
public:
Neu5Gc() { } //!< null constructor
- Neu5Gc( int x, int y, std::string message, std::string mmdbsel = "") { set_pos(x, y); set_tooltip ( message ); set_mmdbsel(mmdbsel);}
+ Neu5Gc( int x, int y, std::string message, std::string chainID = "N/A", std::string resname = "N/A", int seqnum = 0, std::string mmdbsel = "" ) { set_pos(x, y); set_tooltip ( message ); set_mmdbsel(mmdbsel); set_chainID(chainID); set_resname(resname); set_seqnum(seqnum);}
std::string get_XML ( );
};
@@ -654,7 +664,7 @@ namespace privateer
{
public:
KDN() { } //!< null constructor
- KDN( int x, int y, std::string message, std::string mmdbsel = "") { set_pos(x, y); set_tooltip ( message ); set_mmdbsel(mmdbsel);}
+ KDN( int x, int y, std::string message, std::string chainID = "N/A", std::string resname = "N/A", int seqnum = 0, std::string mmdbsel = "" ) { set_pos(x, y); set_tooltip ( message ); set_mmdbsel(mmdbsel); set_chainID(chainID); set_resname(resname); set_seqnum(seqnum);}
std::string get_XML ( );
};
@@ -663,7 +673,7 @@ namespace privateer
{
public:
GlcA() { } //!< null constructor
- GlcA( int x, int y, std::string message, std::string mmdbsel = "") { set_pos(x, y); set_tooltip ( message ); set_mmdbsel(mmdbsel);}
+ GlcA( int x, int y, std::string message, std::string chainID = "N/A", std::string resname = "N/A", int seqnum = 0, std::string mmdbsel = "" ) { set_pos(x, y); set_tooltip ( message ); set_mmdbsel(mmdbsel); set_chainID(chainID); set_resname(resname); set_seqnum(seqnum);}
std::string get_XML ( );
};
@@ -672,7 +682,7 @@ namespace privateer
{
public:
IdoA() { } //!< null constructor
- IdoA( int x, int y, std::string message, std::string mmdbsel = "") { set_pos(x, y); set_tooltip ( message ); set_mmdbsel(mmdbsel); }
+ IdoA( int x, int y, std::string message, std::string chainID = "N/A", std::string resname = "N/A", int seqnum = 0, std::string mmdbsel = "" ) { set_pos(x, y); set_tooltip ( message ); set_mmdbsel(mmdbsel); set_chainID(chainID); set_resname(resname); set_seqnum(seqnum);}
std::string get_XML ( );
};
@@ -681,7 +691,7 @@ namespace privateer
{
public:
GalA() { } //!< null constructor
- GalA( int x, int y, std::string message, std::string mmdbsel = "") { set_pos(x, y); set_tooltip ( message ); set_mmdbsel(mmdbsel);}
+ GalA( int x, int y, std::string message, std::string chainID = "N/A", std::string resname = "N/A", int seqnum = 0, std::string mmdbsel = "" ) { set_pos(x, y); set_tooltip ( message ); set_mmdbsel(mmdbsel); set_chainID(chainID); set_resname(resname); set_seqnum(seqnum);}
std::string get_XML ( );
};
@@ -690,7 +700,7 @@ namespace privateer
{
public:
ManA() { } //!< null constructor
- ManA( int x, int y, std::string message, std::string mmdbsel = "") { set_pos(x, y); set_tooltip ( message ); set_mmdbsel(mmdbsel);}
+ ManA( int x, int y, std::string message, std::string chainID = "N/A", std::string resname = "N/A", int seqnum = 0, std::string mmdbsel = "" ) { set_pos(x, y); set_tooltip ( message ); set_mmdbsel(mmdbsel); set_chainID(chainID); set_resname(resname); set_seqnum(seqnum);}
std::string get_XML ( );
};
@@ -699,7 +709,7 @@ namespace privateer
{
public:
shadedHexagon() { } //!< null constructor
- shadedHexagon( int x, int y, std::string message, std::string mmdbsel = "" ) { set_pos(x, y); set_tooltip ( message ); set_mmdbsel(mmdbsel);}
+ shadedHexagon( int x, int y, std::string message, std::string chainID = "N/A", std::string resname = "N/A", int seqnum = 0, std::string mmdbsel = "" ) { set_pos(x, y); set_tooltip ( message ); set_mmdbsel(mmdbsel); set_chainID(chainID); set_resname(resname); set_seqnum(seqnum);}
std::string get_XML ( );
};
@@ -707,7 +717,7 @@ namespace privateer
{
public:
Unk() { } //!< null constructor
- Unk( int x, int y, const char letter, std::string message, std::string mmdbsel = "") { set_pos(x, y); set_tooltip ( message ); code += letter; set_mmdbsel(mmdbsel);}
+ Unk( int x, int y, const char letter, std::string message, std::string chainID = "N/A", std::string resname = "N/A", int seqnum = 0, std::string mmdbsel = "" ) { set_pos(x, y); set_tooltip ( message ); code += letter; set_mmdbsel(mmdbsel); set_chainID(chainID); set_resname(resname); set_seqnum(seqnum);}
std::string get_XML ( );
private:
std::string code;
@@ -756,7 +766,7 @@ namespace privateer
public:
GlycanRoot() {} //!< null constructor
- GlycanRoot( int x, int y, std::string link_atom, std::string root_name, std::string root_id, std::string message, std::string mmdbsel="" )
+ GlycanRoot( int x, int y, std::string link_atom, std::string root_name, std::string root_id, std::string message, std::string chainID = "N/A", std::string resname = "N/A", int seqnum = 0, std::string mmdbsel="" )
{
set_pos(x, y);
set_tooltip ( message );
@@ -764,6 +774,9 @@ namespace privateer
set_root_name ( root_name );
set_root_id ( root_id );
set_mmdbsel ( mmdbsel );
+ set_chainID ( chainID );
+ set_resname ( resname );
+ set_seqnum ( seqnum );
}
std::string get_XML ( );
diff --git a/webserver/api/privateer.wasm b/webserver/api/privateer.wasm
index c644a205..fdd807c1 100755
Binary files a/webserver/api/privateer.wasm and b/webserver/api/privateer.wasm differ
diff --git a/webserver/src/components/GlycanDetail/GlycanDetail.jsx b/webserver/src/components/GlycanDetail/GlycanDetail.jsx
index bf9100c8..57cdf053 100644
--- a/webserver/src/components/GlycanDetail/GlycanDetail.jsx
+++ b/webserver/src/components/GlycanDetail/GlycanDetail.jsx
@@ -7,19 +7,30 @@ import TorsionMultiPlot from "../TorsionPlot/TorsionMultiPlot";
const GlycanDetailTable = lazy(() => import('./GlycanDetailTable'));
-export default function GlycanDetail({tableData, hideMoorhen, setHideMoorhen, rowID, forwardControls, scrollPosition}) {
+export default function GlycanDetail({tableData, hideMoorhen, setHideMoorhen, rowID, forwardControls, scrollPosition, controls, molecule}) {
+
+ async function handle_click(e) {
+
+ let new_center_string = e.target.dataset.chainid + "/" + e.target.dataset.seqnum + "(" + e.target.dataset.resname + ")"
+ const selectedMolecule = controls.current.molecules.find((molecule) => molecule.name === "mol-1")
+ await selectedMolecule.centreOn(new_center_string)
+
+ }
const ref = useCallback((node) => {
- let useList = document.querySelectorAll('use')
+ if (node !== null) {
- for (let i = 0; i < useList.length; i++) {
- useList[i].addEventListener("click", (e) => {
- console.log(useList[i].id)
- })
+ let useList = node.querySelectorAll('use')
+
+ for (let i = 0; i < useList.length; i++) {
+ useList[i].addEventListener('click', handle_click)
+ }
}
+
document.querySelectorAll("svg")[0].setAttribute("width", "50vw")
document.querySelectorAll("svg")[0].setAttribute("height", "100%")
+
})
// useEffect( () => {
diff --git a/webserver/src/components/PrivateerDisplay/SNFG.jsx b/webserver/src/components/PrivateerDisplay/SNFG.jsx
index d3b317aa..700a31ce 100644
--- a/webserver/src/components/PrivateerDisplay/SNFG.jsx
+++ b/webserver/src/components/PrivateerDisplay/SNFG.jsx
@@ -16,7 +16,7 @@ export default function SNFG({tableData, fileName, pdbString}) {
const [cootInitialized, setCootInitialized] = useState(false)
const controls = useRef()
-
+ const [molecule, setMolecule] = useState()
const forwardControls = (forwardedControls) => {
setCootInitialized(true)
controls.current = forwardedControls
@@ -49,8 +49,9 @@ export default function SNFG({tableData, fileName, pdbString}) {
let sugar_chain = id.split("/")[1].split("_")[0]
let center_string = sugar_chain + "/" + sugar_id + "(" + sugar_name + ")"
- console.log("PRIVATEER", center_string)
+
newMolecule.centreOn(center_string)
+ setMolecule(newMolecule)
}
)
})
@@ -76,6 +77,8 @@ export default function SNFG({tableData, fileName, pdbString}) {
rowID={rowID}
forwardControls={forwardControls}
scrollPosition={yScrollPosition}
+ controls={controls}
+ molecule={molecule}
/>
diff --git a/webserver/src/wasm/privateer.wasm b/webserver/src/wasm/privateer.wasm
index c644a205..fdd807c1 100755
Binary files a/webserver/src/wasm/privateer.wasm and b/webserver/src/wasm/privateer.wasm differ