Giter Site home page Giter Site logo

salilab / rmf Goto Github PK

View Code? Open in Web Editor NEW
8.0 28.0 0.0 37 MB

The library to support reading and writing of RMF files.

Home Page: https://integrativemodeling.org/rmf/

License: Apache License 2.0

Python 13.72% CMake 4.00% C++ 76.38% C 3.09% Shell 0.57% LLVM 0.46% Yacc 0.31% SWIG 1.47%
protein-structure integrative-modeling python c-plus-plus structural-biology

rmf's Introduction

RMF

Build Status conda package codecov Code Climate DOI

The library provides support for the RMF file format for storing hierarchical molecular data (such as atomic or coarse grained representations of proteins), along with markup, including geometry and score data.

The main documentation is found on the web site.

Copyright 2007-2023 IMP Inventors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

rmf's People

Contributors

barakr avatar benmwebb avatar drussel avatar duhovka avatar pellarin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rmf's Issues

RMF build fails on RHEL5

/usr/include/boost141/boost/exception_ptr.hpp:43: error: looser throw specifier for ‘virtual boost::exception_ptr::~exception_ptr()’
/usr/include/boost141/boost/exception/detail/exception_ptr_base.hpp:26: error: overriding ‘virtual boost::exception_detail::exception_ptr_base::~exception_ptr_base() throw ()’

Add backend using avro data files

Store the rmf as several avro data files, one (with only one bit of data) for the static data, and one that has the per frame data. Can add a frame hierarchy later. This should be more stable under interrupted consumer type situations than the hdf5 based one.

Use H5Pset_libver_bounds

To make sure we are using the latest (most efficient) storage scheme as there is no past to be compatible with yet.

Consider making current frame a per-file thing

Then we can have the concept of editing a frame, then moving to another. That would make supporting writing as an avro record easier. Have one record be the constant stuff and then a record for each per-frame data. Have to think about storing structure

Remove per-frame attribute of key

Keys are keys and the backends have to look first for per-frame and then for constant data. This requires adding a layer of indirection in HDF5 for going from key index to on-disk index.

Store number of frames in file

And update number after frame is written (how do I determine this?). That way a reader can tell how many frames to look for. Probably still have issues with cached index data, but at least one can open the file read only.

Perhaps add frame editor RAII object.

Warnings produced on miguelito

/Bis/home/yannick/imp/rmf_debug/swig/RMFPYTHON_wrap.cxx: In function �void init_RMF()�:
/Bis/home/yannick/imp/rmf_debug/swig/RMFPYTHON_wrap.cxx:52113:1: warning: no previous declaration for �void init_RMF()� [-Wmissing-declarations]
In file included from /Bis/home/yannick/imp/rmf_debug/swig/RMFPYTHON_wrap.cxx:3304:0:
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h: In static member function �static bool ConvertSequenceHelper<T, VT, ConvertVT>::get_is_cpp_object(PyObject_, SwigData) [with SwigData = swig_type_info_, T = std::vectorRMF::Key<RMF::IntTraits >, VT = RMF::KeyRMF::IntTraits, ConvertVT = ConvertRMF::Key<RMF::IntTraits >, PyObject = object]�:
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h:326:44: instantiated from �static bool ConvertVectorBase<T, ConvertT>::get_is_cpp_object(PyObject
, SwigData) [with SwigData = swig_type_info_, T = std::vectorRMF::Key<RMF::IntTraits >, ConvertT = ConvertRMF::Key<RMF::IntTraits >, PyObject = object]�
/Bis/home/yannick/imp/rmf_debug/swig/RMFPYTHON_wrap.cxx:18371:135: instantiated from here
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h:212:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h: In static member function �static bool ConvertSequenceHelper<T, VT, ConvertVT>::get_is_cpp_object(PyObject
, SwigData) [with SwigData = swig_type_info_, T = std::vectorRMF::Key<RMF::FloatTraits >, VT = RMF::KeyRMF::FloatTraits, ConvertVT = ConvertRMF::Key<RMF::FloatTraits >, PyObject = object]�:
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h:326:44: instantiated from �static bool ConvertVectorBase<T, ConvertT>::get_is_cpp_object(PyObject
, SwigData) [with SwigData = swig_type_info_, T = std::vectorRMF::Key<RMF::FloatTraits >, ConvertT = ConvertRMF::Key<RMF::FloatTraits >, PyObject = object]�
/Bis/home/yannick/imp/rmf_debug/swig/RMFPYTHON_wrap.cxx:18401:141: instantiated from here
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h:212:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h: In static member function �static bool ConvertSequenceHelper<T, VT, ConvertVT>::get_is_cpp_object(PyObject
, SwigData) [with SwigData = swig_type_info_, T = std::vectorRMF::Key<RMF::IndexTraits >, VT = RMF::KeyRMF::IndexTraits, ConvertVT = ConvertRMF::Key<RMF::IndexTraits >, PyObject = object]�:
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h:326:44: instantiated from �static bool ConvertVectorBase<T, ConvertT>::get_is_cpp_object(PyObject
, SwigData) [with SwigData = swig_type_info_, T = std::vectorRMF::Key<RMF::IndexTraits >, ConvertT = ConvertRMF::Key<RMF::IndexTraits >, PyObject = object]�
/Bis/home/yannick/imp/rmf_debug/swig/RMFPYTHON_wrap.cxx:18431:141: instantiated from here
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h:212:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h: In static member function �static bool ConvertSequenceHelper<T, VT, ConvertVT>::get_is_cpp_object(PyObject
, SwigData) [with SwigData = swig_type_info_, T = std::vectorRMF::Key<RMF::StringTraits >, VT = RMF::KeyRMF::StringTraits, ConvertVT = ConvertRMF::Key<RMF::StringTraits >, PyObject = object]�:
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h:326:44: instantiated from �static bool ConvertVectorBase<T, ConvertT>::get_is_cpp_object(PyObject
, SwigData) [with SwigData = swig_type_info_, T = std::vectorRMF::Key<RMF::StringTraits >, ConvertT = ConvertRMF::Key<RMF::StringTraits >, PyObject = object]�
/Bis/home/yannick/imp/rmf_debug/swig/RMFPYTHON_wrap.cxx:18461:144: instantiated from here
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h:212:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h: In static member function �static bool ConvertSequenceHelper<T, VT, ConvertVT>::get_is_cpp_object(PyObject
, SwigData) [with SwigData = swig_type_info_, T = std::vectorRMF::Key<RMF::StringsTraits >, VT = RMF::KeyRMF::StringsTraits, ConvertVT = ConvertRMF::Key<RMF::StringsTraits >, PyObject = object]�:
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h:326:44: instantiated from �static bool ConvertVectorBase<T, ConvertT>::get_is_cpp_object(PyObject
, SwigData) [with SwigData = swig_type_info_, T = std::vectorRMF::Key<RMF::StringsTraits >, ConvertT = ConvertRMF::Key<RMF::StringsTraits >, PyObject = object]�
/Bis/home/yannick/imp/rmf_debug/swig/RMFPYTHON_wrap.cxx:18491:147: instantiated from here
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h:212:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h: In static member function �static bool ConvertSequenceHelper<T, VT, ConvertVT>::get_is_cpp_object(PyObject
, SwigData) [with SwigData = swig_type_info_, T = std::vectorRMF::Key<RMF::NodeIDTraits >, VT = RMF::KeyRMF::NodeIDTraits, ConvertVT = ConvertRMF::Key<RMF::NodeIDTraits >, PyObject = object]�:
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h:326:44: instantiated from �static bool ConvertVectorBase<T, ConvertT>::get_is_cpp_object(PyObject
, SwigData) [with SwigData = swig_type_info_, T = std::vectorRMF::Key<RMF::NodeIDTraits >, ConvertT = ConvertRMF::Key<RMF::NodeIDTraits >, PyObject = object]�
/Bis/home/yannick/imp/rmf_debug/swig/RMFPYTHON_wrap.cxx:18521:144: instantiated from here
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h:212:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h: In static member function �static bool ConvertSequenceHelper<T, VT, ConvertVT>::get_is_cpp_object(PyObject
, SwigData) [with SwigData = swig_type_info_, T = std::vectorRMF::Key<RMF::NodeIDsTraits >, VT = RMF::KeyRMF::NodeIDsTraits, ConvertVT = ConvertRMF::Key<RMF::NodeIDsTraits >, PyObject = object]�:
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h:326:44: instantiated from �static bool ConvertVectorBase<T, ConvertT>::get_is_cpp_object(PyObject
, SwigData) [with SwigData = swig_type_info_, T = std::vectorRMF::Key<RMF::NodeIDsTraits >, ConvertT = ConvertRMF::Key<RMF::NodeIDsTraits >, PyObject = object]�
/Bis/home/yannick/imp/rmf_debug/swig/RMFPYTHON_wrap.cxx:18551:147: instantiated from here
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h:212:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h: In static member function �static bool ConvertSequenceHelper<T, VT, ConvertVT>::get_is_cpp_object(PyObject
, SwigData) [with SwigData = swig_type_info_, T = std::vectorRMF::Key<RMF::FloatsTraits >, VT = RMF::KeyRMF::FloatsTraits, ConvertVT = ConvertRMF::Key<RMF::FloatsTraits >, PyObject = object]�:
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h:326:44: instantiated from �static bool ConvertVectorBase<T, ConvertT>::get_is_cpp_object(PyObject
, SwigData) [with SwigData = swig_type_info_, T = std::vectorRMF::Key<RMF::FloatsTraits >, ConvertT = ConvertRMF::Key<RMF::FloatsTraits >, PyObject = object]�
/Bis/home/yannick/imp/rmf_debug/swig/RMFPYTHON_wrap.cxx:18581:144: instantiated from here
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h:212:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h: In static member function �static bool ConvertSequenceHelper<T, VT, ConvertVT>::get_is_cpp_object(PyObject
, SwigData) [with SwigData = swig_type_info_, T = std::vectorRMF::Key<RMF::IntsTraits >, VT = RMF::KeyRMF::IntsTraits, ConvertVT = ConvertRMF::Key<RMF::IntsTraits >, PyObject = object]�:
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h:326:44: instantiated from �static bool ConvertVectorBase<T, ConvertT>::get_is_cpp_object(PyObject
, SwigData) [with SwigData = swig_type_info_, T = std::vectorRMF::Key<RMF::IntsTraits >, ConvertT = ConvertRMF::Key<RMF::IntsTraits >, PyObject = object]�
/Bis/home/yannick/imp/rmf_debug/swig/RMFPYTHON_wrap.cxx:18611:138: instantiated from here
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h:212:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h: In static member function �static bool ConvertSequenceHelper<T, VT, ConvertVT>::get_is_cpp_object(PyObject
, SwigData) [with SwigData = swig_type_info_, T = std::vectorRMF::Key<RMF::IndexesTraits >, VT = RMF::KeyRMF::IndexesTraits, ConvertVT = ConvertRMF::Key<RMF::IndexesTraits >, PyObject = object]�:
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h:326:44: instantiated from �static bool ConvertVectorBase<T, ConvertT>::get_is_cpp_object(PyObject
, SwigData) [with SwigData = swig_type_info_, T = std::vectorRMF::Key<RMF::IndexesTraits >, ConvertT = ConvertRMF::Key<RMF::IndexesTraits >, PyObject = object]�
/Bis/home/yannick/imp/rmf_debug/swig/RMFPYTHON_wrap.cxx:18641:147: instantiated from here
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h:212:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h: In static member function �static bool ConvertSequenceHelper<T, VT, ConvertVT>::get_is_cpp_object(PyObject
, SwigData) [with SwigData = swig_type_info_, T = std::vectorstd::basic_string, VT = std::basic_string, ConvertVT = Convertstd::basic_string, PyObject = object]�:
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h:326:44: instantiated from �static bool ConvertVectorBase<T, ConvertT>::get_is_cpp_object(PyObject
, SwigData) [with SwigData = swig_type_info_, T = std::vectorstd::basic_string, ConvertT = Convertstd::basic_string, PyObject = object]�
/Bis/home/yannick/imp/rmf_debug/swig/RMFPYTHON_wrap.cxx:25166:120: instantiated from here
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h:212:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h: In static member function �static bool ConvertSequenceHelper<T, VT, ConvertVT>::get_is_cpp_object(PyObject
, SwigData) [with SwigData = swig_type_info_, T = std::vectorRMF::NodeID, VT = RMF::NodeID, ConvertVT = ConvertRMF::NodeID, PyObject = object]�:
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h:326:44: instantiated from �static bool ConvertVectorBase<T, ConvertT>::get_is_cpp_object(PyObject
, SwigData) [with SwigData = swig_type_info_, T = std::vectorRMF::NodeID, ConvertT = ConvertRMF::NodeID, PyObject = object]�
/Bis/home/yannick/imp/rmf_debug/swig/RMFPYTHON_wrap.cxx:25241:120: instantiated from here
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h:212:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h: In static member function �static bool ConvertSequenceHelper<T, VT, ConvertVT>::get_is_cpp_object(PyObject
, SwigData) [with SwigData = swig_type_info_, T = std::vector, VT = double, ConvertVT = Convert, PyObject = object]�:
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h:326:44: instantiated from �static bool ConvertVectorBase<T, ConvertT>::get_is_cpp_object(PyObject
, SwigData) [with SwigData = swig_type_info_, T = std::vector, ConvertT = Convert, PyObject = object]�
/Bis/home/yannick/imp/rmf_debug/swig/RMFPYTHON_wrap.cxx:25279:113: instantiated from here
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h:212:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h: In static member function �static bool ConvertSequenceHelper<T, VT, ConvertVT>::get_is_cpp_object(PyObject
, SwigData) [with SwigData = swig_type_info_, T = std::vector, VT = int, ConvertVT = Convert, PyObject = object]�:
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h:326:44: instantiated from �static bool ConvertVectorBase<T, ConvertT>::get_is_cpp_object(PyObject
, SwigData) [with SwigData = swig_type_info_, T = std::vector, ConvertT = Convert, PyObject = object]�
/Bis/home/yannick/imp/rmf_debug/swig/RMFPYTHON_wrap.cxx:25317:106: instantiated from here
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h:212:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h: In static member function �static bool ConvertSequenceHelper<T, VT, ConvertVT>::get_is_cpp_object(PyObject
, SwigData) [with SwigData = swig_type_info_, T = std::vectorstd::vector<std::basic_string >, VT = std::vectorstd::basic_string, ConvertVT = ConvertSequencestd::vector<std::basic_string, Convertstd::basic_string >, PyObject = object]�:
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h:326:44: instantiated from �static bool ConvertVectorBase<T, ConvertT>::get_is_cpp_object(PyObject
, SwigData) [with SwigData = swig_type_info_, T = std::vectorstd::vector<std::basic_string >, ConvertT = ConvertSequencestd::vector<std::basic_string, Convertstd::basic_string >, PyObject = object]�
/Bis/home/yannick/imp/rmf_debug/swig/RMFPYTHON_wrap.cxx:25667:157: instantiated from here
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h:212:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h: In static member function �static bool ConvertSequenceHelper<T, VT, ConvertVT>::get_is_cpp_object(PyObject
, SwigData) [with SwigData = swig_type_info_, T = std::vectorstd::vector, VT = std::vector, ConvertVT = ConvertSequencestd::vector<double, Convert >, PyObject = object]�:
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h:326:44: instantiated from �static bool ConvertVectorBase<T, ConvertT>::get_is_cpp_object(PyObject
, SwigData) [with SwigData = swig_type_info_, T = std::vectorstd::vector, ConvertT = ConvertSequencestd::vector<double, Convert >, PyObject = object]�
/Bis/home/yannick/imp/rmf_debug/swig/RMFPYTHON_wrap.cxx:25783:145: instantiated from here
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h:212:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h: In static member function �static bool ConvertSequenceHelper<T, VT, ConvertVT>::get_is_cpp_object(PyObject
, SwigData) [with SwigData = swig_type_info_, T = std::vectorstd::vector, VT = std::vector, ConvertVT = ConvertSequencestd::vector<int, Convert >, PyObject = object]�:
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h:326:44: instantiated from �static bool ConvertVectorBase<T, ConvertT>::get_is_cpp_object(PyObject
, SwigData) [with SwigData = swig_type_info_, T = std::vectorstd::vector, ConvertT = ConvertSequencestd::vector<int, Convert >, PyObject = object]�
/Bis/home/yannick/imp/rmf_debug/swig/RMFPYTHON_wrap.cxx:25822:135: instantiated from here
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h:212:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h: In static member function �static bool ConvertSequenceHelper<T, VT, ConvertVT>::get_is_cpp_object(PyObject
, SwigData) [with SwigData = swig_type_info_, T = std::vectorRMF::NodeConstHandle, VT = RMF::NodeConstHandle, ConvertVT = ConvertRMF::NodeConstHandle, PyObject = object]�:
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h:326:44: instantiated from �static bool ConvertVectorBase<T, ConvertT>::get_is_cpp_object(PyObject
, SwigData) [with SwigData = swig_type_info_, T = std::vectorRMF::NodeConstHandle, ConvertT = ConvertRMF::NodeConstHandle, PyObject = object]�
/Bis/home/yannick/imp/rmf_debug/swig/RMFPYTHON_wrap.cxx:31890:147: instantiated from here
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h:212:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h: In static member function �static bool ConvertSequenceHelper<T, VT, ConvertVT>::get_is_cpp_object(PyObject
, SwigData) [with SwigData = swig_type_info_, T = std::vectorRMF::NodeHandle, VT = RMF::NodeHandle, ConvertVT = ConvertRMF::NodeHandle, PyObject = object]�:
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h:326:44: instantiated from �static bool ConvertVectorBase<T, ConvertT>::get_is_cpp_object(PyObject
, SwigData) [with SwigData = swig_type_info_, T = std::vectorRMF::NodeHandle, ConvertT = ConvertRMF::NodeHandle, PyObject = object]�
/Bis/home/yannick/imp/rmf_debug/swig/RMFPYTHON_wrap.cxx:46461:132: instantiated from here
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h:212:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
/Bis/home/yannick/imp/rmf_debug/swig/RMF_HDF5PYTHON_wrap.cxx: In function �void init_RMF_HDF5()�:
/Bis/home/yannick/imp/rmf_debug/swig/RMF_HDF5PYTHON_wrap.cxx:58489:1: warning: no previous declaration for �void init_RMF_HDF5()� [-Wmissing-declarations]
In file included from /Bis/home/yannick/imp/rmf_debug/swig/RMF_HDF5PYTHON_wrap.cxx:3325:0:
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h: In static member function �static bool ConvertSequenceHelper<T, VT, ConvertVT>::get_is_cpp_object(PyObject
, SwigData) [with SwigData = swig_type_info_, T = std::vector, VT = int, ConvertVT = Convert, PyObject = object]�:
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h:326:44: instantiated from �static bool ConvertVectorBase<T, ConvertT>::get_is_cpp_object(PyObject
, SwigData) [with SwigData = swig_type_info_, T = std::vector, ConvertT = Convert, PyObject = object]�
/Bis/home/yannick/imp/rmf_debug/swig/RMF_HDF5PYTHON_wrap.cxx:7181:118: instantiated from here
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h:212:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h: In static member function �static bool ConvertSequenceHelper<T, VT, ConvertVT>::get_is_cpp_object(PyObject
, SwigData) [with SwigData = swig_type_info_, T = std::vector, VT = double, ConvertVT = Convert, PyObject = object]�:
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h:326:44: instantiated from �static bool ConvertVectorBase<T, ConvertT>::get_is_cpp_object(PyObject
, SwigData) [with SwigData = swig_type_info_, T = std::vector, ConvertT = Convert, PyObject = object]�
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h:317:5: instantiated from �static T ConvertVectorBase<T, ConvertT>::get_cpp_object(PyObject
, SwigData) [with SwigData = swig_type_info_, T = std::vector, ConvertT = Convert, PyObject = object]�
/Bis/home/yannick/imp/rmf_debug/swig/RMF_HDF5PYTHON_wrap.cxx:10987:124: instantiated from here
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h:212:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h: In static member function �static bool ConvertSequenceHelper<T, VT, ConvertVT>::get_is_cpp_object(PyObject
, SwigData) [with SwigData = swig_type_info_, T = std::vectorstd::basic_string, VT = std::basic_string, ConvertVT = Convertstd::basic_string, PyObject = object]�:
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h:326:44: instantiated from �static bool ConvertVectorBase<T, ConvertT>::get_is_cpp_object(PyObject
, SwigData) [with SwigData = swig_type_info_, T = std::vectorstd::basic_string, ConvertT = Convertstd::basic_string, PyObject = object]�
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h:317:5: instantiated from �static T ConvertVectorBase<T, ConvertT>::get_cpp_object(PyObject
, SwigData) [with SwigData = swig_type_info_, T = std::vectorstd::basic_string, ConvertT = Convertstd::basic_string, PyObject = _object]�
/Bis/home/yannick/imp/rmf_debug/swig/RMF_HDF5PYTHON_wrap.cxx:36487:131: instantiated from here
/Bis/home/yannick/imp/src/modules/rmf/dependency/RMF/include/RMF/internal/swig_helpers.h:212:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]

Chimera and RMF

Very slow to display lots of restraints on lots of frames.

Would be very nice to do color mapping with restraint scores and the drawn edges

Check if avro exists first before building it

We probably need to ship avro as part of rmf. Can use something like this to test if it is there, and then subdir it if it is not already there.

  • Try to find ImageMagick++
    Once done, this will define

Magick++_FOUND - system has Magick++
Magick++_INCLUDE_DIRS - the Magick++ include directories
Magick++_LIBRARIES - link these to use Magick++
include(LibFindMacros)

Dependencies
libfind_package(Magick++ Magick)

Use pkg-config to get hints about paths
libfind_pkg_check_modules(Magick++_PKGCONF ImageMagick++)

Include dir
find_path(Magick++_INCLUDE_DIR
NAMES Magick++.h
PATHS ${Magick++_PKGCONF_INCLUDE_DIRS}
)

Finally the library itself
find_library(Magick++_LIBRARY
NAMES Magick++
PATHS ${Magick++_PKGCONF_LIBRARY_DIRS}
)

Set the include dir variables and the libraries and let libfind_process do the rest.
NOTE: Singular variables for this library, plural for libraries this this lib depends on.
set(Magick++_PROCESS_INCLUDES Magick++_INCLUDE_DIR Magick_INCLUDE_DIRS)
set(Magick++_PROCESS_LIBS Magick++_LIBRARY Magick_LIBRARIES)
libfind_process(Magick++)

Slowness opening large rmf file

  • Open Miriam's rmf_for_conrad-MS.rmf in the latest Chimera daily build. This takes a few seconds, but not too bad.
  • In the Hierarchy panel, open P0 and select P1. This is instantaneous.
  • Double-click on P1 or click the Select button (they do the same thing). Chimera takes about one minute to respond.

Here's what's happening:

  • Selecting in the Hierarchy panel updates the graphical selection.
  • The Features panel is notified of the selected atom and highlights the features (in this case only one feature) in which the atom is used.
  • The really slow step is when the Features panel updates the plot. I've attached the profiling output. Nearly all of the time is spent in RMF.get_all_scores (tottime column). In this case, there is only a single call to get_all_scores (ncalls column) so there's not much I can do on the Python side.

Can you please take a look? I'll try a few more things on my side as well. Thanks.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.