Comments (3)
Hi there @mikejiang,
So, to add onto this as Alex and I are both working on this, I recently discovered that you are now maintaining your images at this location. I switched to this image to run ./gs-to-wsp, and it is giving the same error as before, but now it is identifying what required fields are missing, similar to this ticket: #133 .
Here is the error message:
./gs-to-wsp --src /data/output/PS1/gating-set --dest /data/output/PS1/B046_PS1_IMM19_418_QC.wsp [libprotobuf ERROR external/com_google_protobuf/src/google/protobuf/message_lite.cc:133] Can't parse message of type "pb.GatingHierarchy" because it is missing required fields: tree.node[0].node.hidden, tree.node[1].node.hidden, tree.node[1].node.indices.indtype, tree.node[1].node.thisGate.neg, tree.node[1].node.thisGate.isGained, tree.node[2].node.hidden, tree.node[2].node.indices.indtype, tree.node[2].node.thisGate.neg, tree.node[2].node.thisGate.isGained, tree.node[3].node.hidden, tree.node[3].node.indices.indtype, tree.node[3].node.thisGate.neg, tree.node[3].node.thisGate.isGained, tree.node[4].node.thisGate.neg, tree.node[4].node.thisGate.isGained, tree.node[5].node.indices.indtype, tree.node[5].node.thisGate.neg, tree.node[5].node.thisGate.isGained, tree.node[6].node.hidden, tree.node[6].node.indices.indtype, tree.node[6].node.thisGate.neg, tree.node[6].node.thisGate.isGained, tree.node[7].node.hidden, tree.node[7].node.indices.indtype, tree.node[7].node.thisGate.neg, tree.node[7].node.thisGate.isGained, tree.node[8].node.hidden, tree.node[8].node.indices.indtype, tree.node[8].node.thisGate.neg, tree.node[8].node.thisGate.isGained, tree.node[9].node.hidden, tree.node[9].node.indices.indtype, tree.node[9].node.thisGate.neg, tree.node[9].node.thisGate.isGained, tree.node[10].node.indices.indtype, tree.node[10].node.thisGate.neg, tree.node[10].node.thisGate.isGained, tree.node[11].node.thisGate.neg, tree.node[11].node.thisGate.isGained, tree.node[12].node.hidden, tree.node[12].node.thisGate.neg, tree.node[12].node.thisGate.isGained, tree.node[13].node.hidden, tree.node[13].node.thisGate.neg, tree.node[13].node.thisGate.isGained, tree.node[14].node.indices.indtype, tree.node[14].node.thisGate.neg, tree.node[14].node.thisGate.isGained, tree.node[15].node.indices.indtype, tree.node[15].node.thisGate.neg, tree.node[15].node.thisGate.isGained, tree.node[16].node.hidden, tree.node[16].node.indices.indtype, tree.node[16].node.thisGate.neg, tree.node[16].node.thisGate.isGained, tree.node[17].node.indices.indtype, tree.node[17].node.thisGate.neg, tree.node[17].node.thisGate.isGained, tree.node[18].node.indices.indtype, tree.node[18].node.thisGate.neg, tree.node[18].node.thisGate.isGained, tree.node[19].node.indices.indtype, tree.node[19].node.thisGate.neg, tree.node[19].node.thisGate.isGained, tree.node[20].node.hidden, tree.node[20].node.indices.indtype, tree.node[20].node.thisGate.neg, tree.node[20].node.thisGate.isGained, tree.node[21].node.hidden, tree.node[21].node.indices.indtype, tree.node[21].node.thisGate.neg, tree.node[21].node.thisGate.isGained, tree.node[22].node.hidden, tree.node[22].node.thisGate.neg, tree.node[22].node.thisGate.isGained, tree.node[23].node.hidden, tree.node[23].node.thisGate.neg, tree.node[23].node.thisGate.isGained, tree.node[24].node.hidden, tree.node[24].node.indices.indtype, tree.node[24].node.thisGate.neg, tree.node[24].node.thisGate.isGained, tree.node[25].node.hidden, tree.node[25].node.thisGate.neg, tree.node[25].node.thisGate.isGained, tree.node[26].node.hidden, tree.node[26].node.indices.indtype, tree.node[26].node.thisGate.neg, tree.node[26].node.thisGate.isGained, tree.node[27].node.thisGate.neg, tree.node[27].node.thisGate.isGained, tree.node[28].node.indices.indtype, tree.node[28].node.thisGate.neg, tree.node[28].node.thisGate.isGained, tree.node[29].node.hidden, tree.node[29].node.indices.indtype, tree.node[29].node.thisGate.neg, tree.node[29].node.thisGate.isGained, tree.node[30].node.hidden, tree.node[30].node.thisGate.neg, tree.node[30].node.thisGate.isGained, tree.node[31].node.thisGate.neg, tree.node[31].node.thisGate.isGained, tree.node[32].node.thisGate.neg, tree.node[32].node.thisGate.isGained, tree.node[33].node.hidden, tree.node[33].node.thisGate.neg, tree.node[33].node.thisGate.isGained, tree.node[34].node.hidden, tree.node[34].node.thisGate.neg, tree.node[34].node.thisGate.isGained, tree.node[35].node.hidden, tree.node[35].node.thisGate.neg, tree.node[35].node.thisGate.isGained, tree.node[36].node.thisGate.neg, tree.node[36].node.thisGate.isGained, tree.node[37].node.hidden, tree.node[37].node.thisGate.neg, tree.node[37].node.thisGate.isGained, tree.node[38].node.thisGate.neg, tree.node[38].node.thisGate.isGained, tree.node[39].node.thisGate.neg, tree.node[39].node.thisGate.isGained, tree.node[40].node.hidden, tree.node[40].node.thisGate.neg, tree.node[40].node.thisGate.isGained, tree.node[41].node.hidden, tree.node[41].node.thisGate.neg, tree.node[41].node.thisGate.isGained, tree.node[42].node.hidden, tree.node[42].node.indices.indtype, tree.node[42].node.thisGate.neg, tree.node[42].node.thisGate.isGained, tree.node[43].node.hidden, tree.node[43].node.thisGate.neg, tree.node[43].node.thisGate.isGained, tree.node[44].node.hidden, tree.node[44].node.thisGate.neg, tree.node[44].node.thisGate.isGained, tree.node[45].node.hidden, tree.node[45].node.thisGate.neg, tree.node[45].node.thisGate.isGained, tree.node[46].node.thisGate.neg, tree.node[46].node.thisGate.isGained, tree.node[47].node.thisGate.neg, tree.node[47].node.thisGate.isGained, tree.node[48].node.hidden, tree.node[48].node.thisGate.neg, tree.node[48].node.thisGate.isGained, tree.node[49].node.hidden, tree.node[49].node.indices.indtype, tree.node[49].node.thisGate.neg, tree.node[49].node.thisGate.isGained, tree.node[50].node.thisGate.neg, tree.node[50].node.thisGate.isGained, tree.node[51].node.thisGate.neg, tree.node[51].node.thisGate.isGained, tree.node[52].node.hidden, tree.node[52].node.indices.indtype, tree.node[52].node.thisGate.neg, tree.node[52].node.thisGate.isGained, tree.node[53].node.thisGate.neg, tree.node[53].node.thisGate.isGained, tree.node[54].node.thisGate.neg, tree.node[54].node.thisGate.isGained, tree.node[55].node.thisGate.neg, tree.node[55].node.thisGate.isGained, tree.node[56].node.hidden, tree.node[56].node.thisGate.neg, tree.node[56].node.thisGate.isGained, tree.node[57].node.indices.indtype, tree.node[57].node.thisGate.neg, tree.node[57].node.thisGate.isGained, tree.node[58].node.hidden, tree.node[58].node.indices.indtype, tree.node[58].node.thisGate.neg, tree.node[58].node.thisGate.isGained, tree.node[59].node.hidden, tree.node[59].node.indices.indtype, tree.node[59].node.thisGate.isGained, tree.node[60].node.indices.indtype, tree.node[60].node.thisGate.neg, tree.node[60].node.thisGate.isGained, tree.node[61].node.hidden, tree.node[61].node.thisGate.neg, tree.node[61].node.thisGate.isGained, tree.node[62].node.thisGate.neg, tree.node[62].node.thisGate.isGained, tree.node[63].node.hidden, tree.node[63].node.thisGate.neg, tree.node[63].node.thisGate.isGained, tree.node[64].node.indices.indtype, tree.node[64].node.thisGate.neg, tree.node[64].node.thisGate.isGained, tree.node[65].node.hidden, tree.node[65].node.thisGate.neg, tree.node[65].node.thisGate.isGained, tree.node[66].node.hidden, tree.node[66].node.indices.indtype, tree.node[66].node.thisGate.neg, tree.node[66].node.thisGate.isGained, tree.node[67].node.hidden, tree.node[67].node.thisGate.neg, tree.node[67].node.thisGate.isGained, tree.node[68].node.hidden, tree.node[68].node.thisGate.neg, tree.node[68].node.thisGate.isGained, tree.node[69].node.indices.indtype, tree.node[69].node.thisGate.neg, tree.node[69].node.thisGate.isGained, tree.node[70].node.hidden, tree.node[70].node.indices.indtype, tree.node[70].node.thisGate.neg, tree.node[70].node.thisGate.isGained, tree.node[71].node.indices.indtype, tree.node[71].node.thisGate.neg, tree.node[71].node.thisGate.isGained, tree.node[72].node.indices.indtype, tree.node[72].node.thisGate.neg, tree.node[72].node.thisGate.isGained, tree.node[73].node.hidden, tree.node[73].node.thisGate.neg, tree.node[73].node.thisGate.isGained, tree.node[74].node.hidden, tree.node[74].node.indices.indtype, tree.node[74].node.thisGate.neg, tree.node[74].node.thisGate.isGained, tree.node[75].node.indices.indtype, tree.node[75].node.thisGate.neg, tree.node[75].node.thisGate.isGained, tree.node[76].node.indices.indtype, tree.node[76].node.thisGate.neg, tree.node[76].node.thisGate.isGained, tree.node[77].node.hidden, tree.node[77].node.thisGate.neg, tree.node[77].node.thisGate.isGained, tree.node[78].node.hidden, tree.node[78].node.thisGate.neg, tree.node[78].node.thisGate.isGained, tree.node[79].node.hidden, tree.node[79].node.thisGate.neg, tree.node[79].node.thisGate.isGained, tree.node[80].node.hidden, tree.node[80].node.indices.indtype, tree.node[80].node.thisGate.neg, tree.node[80].node.thisGate.isGained, tree.node[81].node.indices.indtype, tree.node[81].node.thisGate.isGained, tree.node[82].node.hidden, tree.node[82].node.indices.indtype, tree.node[82].node.thisGate.neg, tree.node[82].node.thisGate.isGained, tree.node[83].node.indices.indtype, tree.node[83].node.thisGate.neg, tree.node[83].node.thisGate.isGained, tree.node[84].node.indices.indtype, tree.node[84].node.thisGate.neg, tree.node[84].node.thisGate.isGained, tree.node[85].node.hidden, tree.node[85].node.thisGate.neg, tree.node[85].node.thisGate.isGained, tree.node[86].node.hidden, tree.node[86].node.thisGate.neg, tree.node[86].node.thisGate.isGained, tree.node[87].node.hidden, tree.node[87].node.thisGate.neg, tree.node[87].node.thisGate.isGained, tree.node[88].node.hidden, tree.node[88].node.thisGate.neg, tree.node[88].node.thisGate.isGained, tree.node[89].node.hidden, tree.node[89].node.thisGate.neg, tree.node[89].node.thisGate.isGained, tree.node[90].node.hidden, tree.node[90].node.thisGate.neg, tree.node[90].node.thisGate.isGained, tree.node[91].node.thisGate.neg, tree.node[91].node.thisGate.isGained, tree.node[92].node.hidden, tree.node[92].node.thisGate.neg, tree.node[92].node.thisGate.isGained, tree.node[93].node.hidden, tree.node[93].node.indices.indtype, tree.node[93].node.thisGate.neg, tree.node[93].node.thisGate.isGained, tree.node[94].node.hidden, tree.node[94].node.thisGate.neg, tree.node[94].node.thisGate.isGained, tree.node[95].node.hidden, tree.node[95].node.indices.indtype, tree.node[95].node.thisGate.neg, tree.node[95].node.thisGate.isGained, tree.node[96].node.hidden, tree.node[96].node.indices.indtype, tree.node[96].node.thisGate.neg, tree.node[96].node.thisGate.isGained, tree.node[97].node.hidden, tree.node[97].node.thisGate.neg, tree.node[97].node.thisGate.isGained, tree.node[98].node.hidden, tree.node[98].node.thisGate.neg, tree.node[98].node.thisGate.isGained, tree.node[99].node.hidden, tree.node[99].node.thisGate.neg, tree.node[99].node.thisGate.isGained terminate called after throwing an instance of 'std::domain_error' what(): Failed to parse GatingHierarchy B046_PS1_IMM19_418_QC.fcs Aborted (core dumped)
We are using RProtoBufLib version 2.3.5. I noticed this commit happened recently and am wondering if it has anything to do with it. It looks like proto2 and proto3 have significant differences and one of those differences is required fields are no longer available. This makes me question why this error is happening if they got rid of that functionality. Are we missing some dependency?
Thanks for looking into this.
from cytoml.
I've updated public.ecr.aws/x4k5d9i7/cytoverse/gs-to-wsp
, pull and try again
from cytoml.
Thanks @mikejiang, that fixed our issue.
Alex
from cytoml.
Related Issues (20)
- CytoML Xml File Parsing Issues HOT 8
- Issue Parsing FlowJo (v10.7.2) XML File HOT 3
- FCS Express compatibility HOT 7
- Get indices of gated events from a FJ workspace / alternative to flowjo_to_gatingset HOT 5
- gs-to-flowjo Singularity issue HOT 2
- Ellipses coordinates are not correct in Gating Set after flowJo workspace parsing - v2.9.0 HOT 4
- R Session Aborts when calling flowjo_to_gatingset() more than once HOT 3
- gatingset_to_flowjo() fails with unsupported transformation: LIN
- Using FlowJo gating on pre-compensated, pre-transformed FCS files HOT 5
- flowjo_to_gatingset troubleshoot: "unknown tranformation type!transforms:linear" HOT 3
- flowjo_to_gatingset(), colname not found: error HOT 2
- Export populations as dataframe from a FlowJo workspace HOT 2
- extract inverse transform
- flowjo_to_gatingset does not accept data.frame as path HOT 5
- flowCore::read.FCS works but CytoML::flowjo_to_gatingset fails; no valid FCS file HOT 11
- boolean gate error
- Incompatible with Apple Silicon Mac HOT 7
- flowjo_to_gatingset ignore range as defined in FCS files HOT 3
- Support for FCS 3.2? HOT 4
- gatingset_to_flowjo hangs
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cytoml.