Comments (9)
OK, so, following @sneumann's advice I'll start doing under the hood changes within xcms
first (i.e. introducing the layer of do_
functions as detailed in #30).
Also, I would like to do some clean up and re-organization of the existing code:
- Fix the warnings of
R CMD check
- Re-organize the R files (i.e.
Classes.R
,methods-...R
,functions-...R
)
Any objections?
from xcms.
I guess the answer really depends on how radical the change. The more radical the more b makes sense.
MzMine is going through a similar process of re-writing everything and as far as I understand they went for b and is slowly porting over features.
from xcms.
A in between alternative would be the following:
Start new development in a xcmsdev
package/repository to have the clean sheet advantage. Once that package has reached some basic functionality, xcms
would depend on/import it and it would get the necessary wrappers/infrastructure to use it. (I believe it is possible to make use of github
packages, although I haven't done it yet). Depending on maturity/stability, the xcmsdev
code could even be moved to xcms
and old xcms
code deprecated/removed. At some point, dependency on xcmsdev
could be removed too.
Although xcmsdev
could be functional on its own (albeit possibly concentrating on low-level functionality), a typical user would be expected to use xcms
rather than the xcmsdev
.
from xcms.
@stanstrup : the changes I would like to introduce are:
- Use
MSnbase
'sOnDiskMSnExp
object to read and represent the raw data (without actually keeping it in memory); this should be similar to thexcmsRaw
object, but without all the data in memory. - Methods (e.g.
detectFeatures
) that take the raw data object from above to identify the features. Dispatching to the various algorithms (e.g. centwave) would be done using a parameter class (e.g.CentWaveParam
).
This will already change the xcms
workflow considerably; still, I would be fine with each option.
from xcms.
@lgatto : I like that idea, however, I don't know how github dependencies are seen in Bioconductor... based on the latest discussions at BioC2016 not so well...
from xcms.
Hi, I am leaning to doing the changes in-place. That's what development cycles are for.
W.r.t. the timing, disruptive changes and/or those that might change the outcomes
(peak picking, alignment etc.) should be early in the BioC development cycles.
from xcms.
I can live will all options; as detailed in #30 I am planning to separate the UI from the actual analysis functions hence making the code as modular as possible.
I am only afraid that users might get upset if some of the methods are removed at some point.
from xcms.
I don't know how github dependencies are seen in Bioconductor... based on the latest discussions at BioC2016 not so well...
I am aware of the Remotes
entry in the DESCRIPTION
file: see https://github.com/hadley/devtools/blob/master/vignettes/dependencies.Rmd. Don't know how/if this work with biocLite
though.
from xcms.
Closing this as we're already on our way towards xcms3
from xcms.
Related Issues (20)
- Trouble extracting chromatogram plots after manualChromPeaks() HOT 5
- Seeking advices about data importing HOT 5
- Suggested starting parameters for GC-MS data HOT 3
- reconstructChromPeakSpectra HOT 1
- Filter MsExperiment object by spectraData filterString HOT 16
- Bad practices with peak merging HOT 2
- msLevel=2L chromatograms (MRM or SRM) not working with MsExperiment interface HOT 1
- precusor charge for each features HOT 3
- fillChromPeaks error HOT 2
- Trouble plotting XChromatograms HOT 5
- R CMD check problems HOT 5
- xset crashes on MAC OS 14.3 R 4.3.3 , BiocManager 1.30.22 and xcms 4.0.2 HOT 6
- Update retention times to alkane retention time indices for GC-MS HOT 5
- The error message encountered when using the "IPO" package HOT 10
- Error for XIC plot of timsTof data HOT 3
- Best way to document additional XCMS object processing steps in the ProcessHistory slot? HOT 3
- After I perform chromatographic peak detection, how do I confirm the quality of my peaks? HOT 1
- Ways to extract all MS2 peaks? HOT 3
- Best way to deconvolute metabolite data HOT 1
- Waters data problems with Obiwarp HOT 9
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from xcms.