From: Andrey B. <and...@in...> - 2013-02-27 00:26:42
|
Hi Brendan, We would like to have an interface similar to the converter you have from raw to mzXML format. Yes, my developers can wrap existing interfaces into a COM interface, but It will take them much longer than someone who already knows the code and has project setup in the visual studio. If someone could help us than it would be a great, because we are very limited in resources. We already have Java wrappers around Thermo and Waters files, but would like to a single interface to all vendors as well as mzXML. It would make our life much easier. I'll try to contact Brian Pratt asking for the help. Thanks a lot for your help, -Andrey From: Brendan MacLean <bre...@pr...> Date: Tuesday, February 26, 2013 11:37 AM To: Andrey Bondarenko <and...@in...> Cc: "pro...@li..." <pro...@li...> Subject: Re: Java wrapper for proteowizard raw file access Hi Andrey, The ProteoWizard project (I consulted with Matt) is definitely open to this as a solution. It is an open source project, though, and none of the developers involved have free time to implement this at the moment. Though, you might be able to contract Brian Pratt at Insilicos (bri...@in...) if you really want someone familiar with the project to do the work. Otherwise, your best route forward would be first to convince yourself that this option would indeed meet your needs, as simply as possible, and then to create a patch to the ProteoWizard project that both passes the project unit tests and meets all of your needs. Once you have that patch, I am sure Matt, Brian and I would be ready to help you integrate your proposed changes with the trunk. Having a Java interface with full coverage of at least the pwiz_data_cli.dll interface would definitely be great for the project. I have included the proteowizard-developer list again on this email, in case someone wants to volunteer to actually make these changes in the pwiz/utility/bindings/CLI project for you, but definitely neither Matt nor I have the time. Also, you may want to consider how much of the ProteoWizard interface you need. Like Skyline, you might create your own C# .NET project which wraps the CLI interface and exposes a COM interface to a subset interface using exactly the method your developers describe. Have a look at pwiz_tools/Shared/ProteowizardWrapper. I hope you will continue forward with improving ProteoWizard to meet your needs. I can't imagine it would be more work for you than writing all of your own interfaces to all of the vendor file reading libraries, since AB SCIEX and Agilent are themselves .NET libraries and Waters is a C++ DLL with no C interface, and support for the mzXML, mzML and mz5 formats. --Brendan On Tue, Feb 26, 2013 at 10:27 AM, Andrey Bondarenko <and...@in...> wrote: > Hi Brendan, > > I talked to my devs who are experts in wrapping native code into Java. They > said that it will save a lot of time if proteowizard devs will enable COM > Interop option in the .NET project. Do you think they can do it? > > The message they send to me is below: > > "We cannot wrap .NET assemblies into COM, but the developers of that library > can do it by enabling COM Interop <http://en.wikipedia.org/wiki/COM_Interop> > in their project. It's quite possible that they already did so. But if they > did not yet, then we can ask them for such extension, it should not take much > time. The enabling COM Interop is simple: it requires enabling a corresponding > option in their .NET project plus adding the required COM annotations to the > exported types (classes, interfaces). After enabling COM Interop there will be > the corresponding COM type library (.TLB) created along with another binaries. > It can be used for generation of Java wrappers (stubs). And also, after the > registration of such (COM Interop-enabled) .NET library, the corresponding COM > wrappers will be registered in the COM registry. This technique will allow us > to integrate this .NET library with Java application using ComfyJ, and this > should not take much time." > > > Thanks, > -Andrey > > > From: Brendan MacLean <bre...@pr...> > Date: Monday, February 25, 2013 8:50 AM > To: Andrey Bondarenko <and...@in...> > Subject: Re: Java wrapper for proteowizard raw file access > > Hi Andrey, > There is a .NET assembly (pwiz_bindings_cli.dll or pwiz_data_cli.dll - for raw > MS data only) in pwiz/utility/bindings/CLI. I am pretty sure that it is > relatively straightforward to wrap an assembly as a COM object, when that is > what you need. Given your description of what you are trying to do, you might > investigate that direction. > > Any chance you would be willing to contribute your Java wrapping strategy back > to the project when you have it working? > > Thanks. > > --Brendan > > > On Mon, Feb 25, 2013 at 8:00 AM, Andrey Bondarenko > <and...@in...> wrote: >> Hi, >> >> We working with Michael MacCoss lab on a new web service for mass spec data >> and trying to wrap ProteoWizard raw file access API in Java using JNI. Could >> you help us by answering couple questions: >> * Is there a COM object registered by the ProteoWizard? If yes, could you >> please provide some docs and description on it? >> * As far as we can see, ProteoWizard is a C++ library. Is there a pure C API >> for ProteoWizard? If yes, where can we find the docs on it? >> The thing is that C++ code is very hard to access via JNI. COM object or C >> wrapper are integrated much easier. >> >> If there is no COM or C API for the ProteoWizard, could you please suggest >> what is the best way to access the API not involving Java-to-native >> integration? >> >> Best regards, >> - Andrey Bondarenko >> >> > |