mailRe: Implement handles for nmrglue in relax


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by Jonathan Helmus on December 02, 2014 - 17:41:
I uploaded the nmrglue logo in a number of formats including a SVG and PS from which high-res raster images can be created to https://github.com/jjhelmus/nmrglue_logo. Feel free to include these or files generated from these in relax.

    - Jonathan Helmus

On 12/01/2014 12:37 PM, Jonathan Helmus wrote:
Edward and Troels,

A few points regarding nmrglue in this discussion. The main nmrglue website is www.nmrglue.com, links to that site are best in any documentation or credits. The source code and issue tracker are on GitHub at https://github.com/jjhelmus/nmrglue.

The representation of NMR data is in NumPy multi-dimenstional ndarray objects [1]. These can be serialized to strings using the .tostring() or .tobytes() methods. Spectral metadata is stored in a Python dictionary, there are a number of options for serializing these. Also both objects can be pickled.

Python 3 support is available in the development version of nmrglue, 0.5-dev, available on GitHub. There is an issue with installing the package in a Python 3 environment which I need to work out but then I plan or releasing version 0.5 which will be the first release to support Python 3. Expect it out and available on PyPI by the end of the week.

I have an SVG file of the nmrglue logo from which the small jpg was created. I'll need to find where it is stored on my computer at home but I'll send it along with a higher resolution png/jpg once I locate it.

Best of luck on getting relax to play nicely with nmrglue. If there is anything I can do to help on the nmrglue side feel free to ask. nmrglue is BSD licensed and I would like to keep it that way, if you send any code my way I'd appreciate if it could be licensed under the same terms.

Cheers,

    - Jonathan Helmus


[1] http://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.html

On 11/27/2014 07:30 AM, Edward d'Auvergne wrote:
Hi Troels,

This appears to be the main nmrglue website http://www.nmrglue.com/ .
I can see here that there is an nmrglue icon
(http://www.nmrglue.com/images/nmrglue_logo.jpg).  This may be useful
for the relax GUI graphics for the spectrum.nmrglue_* user function
menu entries and wizard pages.  The wizard graphics (in the
graphics/wizard directory) have a width of 200 px though.  You should
ask on the nmrglue forum
(http://groups.google.com/group/nmrglue-discuss) about the use of such
a graphic and if there is a higher resolution version.

Cheers,

Edward

On 27 November 2014 at 12:16, Edward d'Auvergne <edward@xxxxxxxxxxxxx> wrote:
Hi,

This sounds good.  And rather simple, the backend of the
spectrum.nmrglue_read user function could simply be the single line of
the tutorial http://nmrglue.readthedocs.org/en/latest/tutorial.html#reading-nmr-files:

import nmrglue as ng
dic,data = ng.pipe.read("test.fid")
For the *.ft2 files, how big are they?  I wonder if you can downsample
the original *.fid files so that the *.ft2 files are within 10 to 100
kB (using the nmrPipe extract command, etc.).  Anyway, just add a
system test, and we can then discuss more of the design before
implementing the nmrglue interface.  From your aims, it sounds pretty
straightforward.  If the number of relax spectrum.nmrglue_* user
functions expand significantly to access more of the nmrglue
functionality, maybe we can create a dedicated nmrglue user function
class later on.  Anyway, we just have to make sure that relax
continues to operate smoothly when the scipy/matplotlib/nmrglue
packages are absent.

One problem will be storage of the nmrglue data.  This will probably
not fit into the relax data store, as it absolutely requires to_xml()
and from_xml() methods to allow the data to be saved and read again.
Any ideas?  We could create a special class in lib.spectrum.nmrglue
which uses the singleton design pattern
(https://en.wikipedia.org/wiki/Singleton_pattern), as is used
extensively in relax.  Just 'grep -i' for 'singleton'.  The data
storage would then be temporary.  Or, ideally, we could modify the
nmrglue data structures to be convertible to and from XML. Some ideas
should be discussed with the nmrglue authors though (which is why I
have CCed Jonathan, so he knows we are developing a simple
relax-nmrglue interface).  At the moment, I don't know much about the
nmrglue designs.

For the user functions, do you know if nmrglue has an icon that we can
use for the menus and user function wizard pages in the GUI?

Cheers,

Edward



On 27 November 2014 at 11:54, Troels Emtekær Linnet <tlinnet@xxxxxxxxx> wrote:
Hi Edward.

To:
test_suite/shared_data/dispersion/repeated_analysis/SOD1/cpmg_disp_sod1d90a_060521/cpmg_disp_sod1d90a_060521_normal.fid/ft2_data

I will add the corresponding .ft2 files. To limit size use, I will add just
very few .ft2 files.

I will add wrapper functions which will:
- read a ft2 file
- read a range of ft2 files according to a glob of file names
- plot the spectrum

manipulate the numpy arrray, to certain functions.

Plotting in matplotlib.

Best
Troels




Troels Emtekær Linnet

2014-11-27 11:33 GMT+01:00 Edward d'Auvergne <edward@xxxxxxxxxxxxx>:
Hi Troels,

This is no problem.  Just create the branch.  But before adding code,
we should discuss the design. This has two benefits - it will be much
simpler for you in the long run, and it would avoid any redesigns if
the first attempt doesn't fit into the relax infrastructure well.
Could you describe nmrglue, including links, and what you'd like to do
with it?  Would you like to interact with the program at runtime, or
simply read its output?  Would you like to create input files?

Cheers,

Edward



On 27 November 2014 at 11:01, Troels Emtekær Linnet <tlinnet@xxxxxxxxx>
wrote:
Dear Edward.

I am about to setup a new test branch for using nmrglue.

I would need to compare all intensities in a long range of spectra.

I will setup a new branch by:
http://wiki.nmr-relax.com/Git_branch_creation

I already have some test code, which is working.

I am a little unsure where this will be going.

But essentially, I would like to write some wrapper functions to
nmrglue,
which can be handsome.

Best
Troels Emtekær Linnet
_______________________________________________
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@xxxxxxx

To unsubscribe from this list, get a password
reminder, or change your subscription options,
visit the list information page at
https://mail.gna.org/listinfo/relax-devel






Related Messages


Powered by MHonArc, Updated Tue Dec 02 23:20:10 2014