Questions tagged «data-management»

14
建议使用哪些软件和工作流程来发布科学数据和图表?
从简单绘制几个数据点到创建具有详细样式,数学排版和“专业质量”的出版物级图形,哪种软件提供了良好的工作流程? 这与David的问题有关(哪些属性使图形具有专业品质?),但重点不是属性,而是软件或通用的工作流程。我对一些程序(Gnuplot,Origin,Matplotlib,TikZ / PGFplot,Qtiplot)有肤浅的经验,但是同时进行数据分析和漂亮的数字似乎很难做到。 是否有一些软件可以做到这一点,还是我应该更深入地研究其中一个软件包? 编辑:我当前的工作流是不同组件的混合,它们或多或少地协同工作,但总的来说并不能真正有效,我认为这对大学实验室的许多科学家来说都是很典型的。通常,它是一条从实验到发布的链条,如下所示: 获取实验数据(通常为ASCII形式,但布局不同,例如标题,注释,列数) 快速绘制数据,以检查20年前编写的Origin,Gnuplot或奥术绘图程序是否正常。 数据的更详细分析:减去背景贡献,分析依赖性和相关性,符合理论模型。许多科学家使用Origin来完成这项任务,一些Matlab和Python / Scipy / Numpy的使用正在增加。 创建专业人物,这涉及调整期刊指南,数学排版和常规编辑。目前,我为此使用Origin,但是它有一些缺点(仅尝试获得精确为0.5pt的线宽是不可能的)。对于组合/抛光图形,我主要使用Adobe Illustrator,因为它可以很好地处理PDF文档的导入/导出,但是我宁愿不必为每个图执行两个步骤。 我添加了一个示例,最后看起来是什么样的(因为大多数情况下都是通过手工更改来创建的,这很痛苦,并且提供界面(例如,为所有元素设置线宽的界面的任何内容都会很不错)):

4
如何处理太多数据?
我们的等离子体动力学模拟通常会产生太多信息。在仿真过程中,我们至少在10个属性上将各种物理属性记录在最大(8192x1024x1024x1500)的网格(x,y,z,t)上。仿真完成后,将处理此信息。有了它,我们 拍电影, 进行傅立叶分析, 计算平均性能。 当研究较小的系统时,尽可能多地进行简单的信息转储就可以了。这使我们可以灵活地与结果进行交互,并在以后决定我们要怎么做。它也使我们能够分配计算资源(CPU时间)来简单地运行仿真。 我们已经开始进行动态傅里叶分析的过程,并且仅对选定范围的长度刻度进行过滤。出于数字原因,有时我们需要解析小于实际所需长度的比例尺,因此在这种情况下,此过滤器会很有帮助。我们还在探索各种并行IO库,例如并行I / O选项,尤其是并行HDF5。 有哪些策略可以使数据处理效率最大化? 快速执行所有分析(不包括后期处理,例如电影和情节)是否有任何好处? 我可以想象这个问题会在其他研究领域出现。例如,您可能需要进行长时间的分子动力学模拟,但是您对发生有趣事件的短暂瞬间感兴趣。或在CFD中,早期开发可能会变慢,但是一旦出现动荡,您可能需要更高的时间分辨率来监视动态。 是否有免费提供的从模拟中收集复杂结果的示例?

3
存储分层模拟数据的最佳实践
TL,DR 科学计算界中用于存储大量分层结构数据的最佳实践是什么?例如,SQL在大型稀疏矩阵上不能很好地发挥作用。是否有用于构建,仓储和分析此类数据的好工具?大型强子对撞机的人使用什么? 用例详细信息 我想根据以下层次结构存储蛋白质模拟中的数据: protein |__simulation conditions |____|__residues |____|____|__conformers |____|____|____|__atoms 每个蛋白质都应该知道其每个残基,每个原子都应该知道用于其模拟的条件,等等,反之亦然。 最初,我认为关系数据库将非常适合该应用程序,因此我使用python和sqlalchemey编写了一个程序,该程序将数据存储在SQL数据库中。但是实际上,该程序不能很好地运行。 最大的问题与以下事实有关:由于每个可能的构象体对之间的成对相互作用,在构象体数据级别存在一个N x N矩阵,该矩阵存储势能。矩阵中的大多数条目都是零,因此我以一种稀疏格式将矩阵存储在数据库中的另一个表中,每个条目一行。不幸的是,对于涉及数千个conformer的模拟,成对表仍然以数十万行结尾,并且: a)构建和查询非常缓慢(几小时) b)与作为非稀疏矩阵的等效数据纯文本表示相比,我的硬盘驱动器占用了更多的数量级空间 c)在以下情况下占用了超过10 GB的内存:该表被读入内存 我的最终目标是在数据库中存储成千上万次运行(在几十种模拟条件下源自数千种蛋白质),以便可以一起分析所有运行。这意味着代表成对矩阵的表可能会增长到大约十亿行。目前看来,我需要一个Cray或其他共享内存的怪物,以便甚至对该数据库运行单个查询。 我在这里有更好的选择吗?大型强子对撞机的人使用什么?

3
HDF5文件是否适合git版本控制?
我不熟悉HDF5中使用的文件格式,但是我想知道HDF5文件是否适合git的版本控制(例如Mercurial或Subversion)?我想我的意思是:HDF5文件是否适合基于行的差异处理,或者git是否必须将HDF5视为一个大二进制文件并为每个修订版本存储整个副本?

2
熊猫的局限性及其在Python中的替代方案
我在某处读到Pandas最初是为金融世界开发的,至少不是特别针对自然科学(物理学,生物学等)开发的,所以有没有类似的数据分析Python程序包更加“面向自然科学”? 我刚开始使用Pandas,已经遇到了两个问题,如果不使用其他软件包或自制解决方案便无法解决: 如何处理不确定性? 如何轻松定义我的数据单位? 也许还有其他问题,但我缺乏更准确的经验。目前,我考虑了不确定性软件包来解决第一点,但是我不确定它是否可以在Pandas上正常工作,并且不会降低计算速度。实际上,我并不是在寻找一种具有不确定性的计算方式,而只是一种将不确定性与导入的数据一起存储的简单方法。第二点,我没有找到比创建除DataFrame之外的字典来管理与每个数据关联的单元更好的解决方案。 如果您遇到过同样的问题,您是如何解决的?或者您在自然科学中使用了哪些其他软件包进行Python中的数据处理/存储/分析?

2
管理模拟运行的建议?
在comp-sci中,这个问题可能有点偏离主题。如果需要,请提出适合的地方。 问题是关于如何有效管理所有模拟运行。 比方说,例如,模拟需要固定2个参数,这些参数必须在某个建议值范围内定义。 为了找到由两个参数中的一个对产生的更好结果(例如,通过将模拟结果与实验数据进行比较),可以通过为每个参数定义三个值然后进行9次运行来进行灵敏度分析。 以前,我使用sed更改每次运行的输入,并通过在存储此运行的输入和结果的文件夹中写入值和参数名称来标记每次运行。但是我发现,一旦参数数量增加(例如,访问脚本中的文件夹名称以进行绘图),效率将非常低下。 然后我决定使用简单数字作为文件夹名称,并通过其他一些电子表格存储详细信息。到目前为止,这种方式还可以,但是需要一些费力的工作。而且随着运行次数的增加,经常会犯错误,例如进行几天前已经完成的另一次运行。 您对管理这些运行有什么好主意吗?我认为这对于进行蒙特卡洛分析的人来说非常重要? 提前致谢!
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.