我在这里的第一篇文章,所以我将尽量保持简单。我正在尝试使用Processing创建一些质谱数据的图。我想写一个草图,将伪XML中的数据解析为表格,然后将该数据绘制为2轴(时间,mz)上的点,而第3轴即信号作为点的颜色。
在此阶段,我希望绘图为数据的尺寸。在我的测试数据中,这是x轴上的38个时间点,Y轴上的51 mz点,信号范围是0到12,000。实际数据集的边界在每个维度上都会大一百倍。
我的问题是,绘图的宽度和高度取决于数据,建立这些限制涉及一些代码。在处理中,您只能在void setup()之后立即调用size(),因此我将所有计算代码放在首位。这引发标题错误。我无法解决它,因此我将数据输出到三个csv文件,并从第二个草图开始,以导入该数据并对其进行绘制。我遇到了同样的错误。
确切的错误是期望EOF,位于''处,其中可能是一行中的第一个单词。根据我尝试的代码,它适用于,mzTable和if。
这是完整的第二个草图:
import java.io.*;
int debug = 1;
String target = "M1A crop.txt"; // test data
File file = new File(target);
// ~ ~ ~
String folderPath = file.getParent(); // target folder path
String name = file.getName();
String mzData = folderPath + "\\" + name + " - mz data.csv" ; // CSV file to open
String signalData = folderPath + "\\" + …Run Code Online (Sandbox Code Playgroud) cpxSR2bnPUihaNxIFFA8Sc + 8gUnWuJxJi8ywSW5ju0npWrFJHW2MSZAeMklcZ71IjrBySF2ci0gdecRI0vD/SM4ZF0m1ZSJJBY8bSZJl/0intaxIlQJBSPdY3EdBLM9Hp4wLSOK8Nki8L1pIoglxSAvNbkjHg0VIDlv7R6B2Y0elCqVGFWuVRgagAkdxHTdHELxRR9i2VkdyEUlHU84kRzTS2kalKFxG
这是来自质谱仪的XML文件的字符串.我正在尝试编写一个程序来加载两个这样的文件,从另一个文件中减去一组值,并将结果写入一个新文件.根据.mzML格式的规范文件,数据数据的编码据称是base64.我无法使用许多在线base64转换器或使用NotepaD ++和MIME工具包的base64转换器将此数据字符串转换为易读的.
在结果文件的上下文中,字符串如下所示:
<binaryDataArray encodedLength="224">
<cvParam cvRef="MS" accession="MS:1000515" name="intensity array" unitAccession="MS:1000131" unitName="number of counts" unitCvRef="MS"/>
<cvParam cvRef="MS" accession="MS:1000521" name="32-bit float" />
<cvParam cvRef="MS" accession="MS:1000576" name="no compression" />
<binary>cpxSR2bnPUihaNxIFFA8Sc+8gUnWuJxJi8ywSW5ju0npWrFJHW2MSZAeMklcZ71IjrBySF2ci0gdecRI0vD/SM4ZF0m1ZSJJBY8bSZJl/0intaxIlQJBSPdY3EdBLM9Hp4wLSOK8Nki8L1pIoglxSAvNbkjHg0VIDlv7R6B2Y0elCqVGFWuVRgagAkdxHTdHELxRR9i2VkdyEUlHU84kRzTS2kalKFxG</binary>
Run Code Online (Sandbox Code Playgroud)
直到我能弄清楚这种编码的格式是什么,我才能继续!
提前感谢您的回复.