Giter Site home page Giter Site logo

isoorbi's Introduction

isoorbi's People

Contributors

123caj avatar sabrielxd avatar sebkopf avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar

isoorbi's Issues

release isoorbi 1.2.0

  • implement analyze_shotnoise (data, compound, num, denom, ratio_method)
  • implement some shot noise plotting function
  • check documentation of all functions
  • update vignettes to include orbi_filter_flagged_data() and other new functions
  • rename orbi_calculate_ratio() to orbi_calculate_summarized_ratio()
  • #37
  • #38
  • implement a calculate_ratios function that doesn't do any grouping, just calculates ratios (and can be used standalone)without grouping - that way easy single ratio calculations are possible (make calculate_ratio() internal only) -> the summarize_results calls this but with grouping functions prepended
  • provide a function to easily backlay plot with the block definitions
  • show-case the workflow with Nils' flow injection scripts
  • maybe make a flow chart to illustrate how this works (consider including this in the paper)
  • support multi file read with orbi_read_isox()
  • convert the filter functions to orbi_flag_satellite_peaks(), orbi_flag_weak_isotopocules() and orbi_flag_outliers(intensity_window = c(2, 98)) as well as a orbi_remove_flagged_data() function

define_basepeak() fails if satellite peaks have not been removed

> orbi_read_isox("paper/data/tfa/TFA_M0_1uscan_120kRes.isox") |> orbi_define_basepeak("M0")
orbi_read_isox() is loading .isox data from 1 files:
 - paper/data/tfa/TFA_M0_1uscan_120kRes.isox
orbi_define_basepeak() is setting the M0 isotopocule as the ratio denominator...                                                                                                                                                                                          
Error in `dplyr::mutate()` at isoorbi/R/utility_functions.R:440:2:
ℹ In argument: `basepeak_ions = .data$ions.incremental[.data$isotopocule == "M0"]`.
ℹ In group 3: `filename = TFA_M0_1uscan_120kRes`, `compound = TFA`, `scan.no = 3`.
Caused by error:
! `basepeak_ions` must be size 4 or 1, not 2.

This is because there are not the same number of basepeak ions for all peaks.

running it with satellite peak removal first works:

> orbi_read_isox("paper/data/tfa/TFA_M0_1uscan_120kRes.isox") |> orbi_filter_satellite_peaks() |> orbi_define_basepeak("M0")
orbi_read_isox() is loading .isox data from 1 files:
 - paper/data/tfa/TFA_M0_1uscan_120kRes.isox
orbi_filter_satellite_peaks() is removing minor signals (e.g., satellite peaks) that were reported by IsoX...                                                                                                                                                             
orbi_define_basepeak() is setting the M0 isotopocule as the ratio denominator...

Add a segmenting function

orbi_segment(n = INTEGER; by = c("scan", "time")) => add column "segment"

adjust other functions to use "segments" as a grouping variable

should factor_in_order be exported?

should this function be exported by isoorbi or should forcats instead be a suggested package in the DESCRIPTION (so we can use forcats::in_order() in vignettes? I'm leaning towards the latter but implemented the prior for now. What do you all think?

Release isoorbi 1.0

First release:

Prepare for release:

  • git pull
  • Check if any deprecation processes should be advanced, as described in Gradual deprecation
  • urlchecker::url_check()
  • devtools::check(remote = TRUE, manual = TRUE)
  • devtools::check_win_devel()
  • rhub::check_for_cran()
  • git push
  • Draft blog post

Submit to CRAN:

  • usethis::use_version('major')
  • devtools::submit_cran()
  • Approve email

Wait for CRAN...

  • Accepted 🎉
  • git push
  • usethis::use_github_release()
  • usethis::use_dev_version()
  • usethis::use_news_md()
  • git push
  • Finish blog post
  • Tweet
  • Add link to blog post in pkgdown news menu

orbi_summarize_results

It would be nice if you could pass more columns through the summarize function. For example I parsed the file name into additional columns and would like the parts to be within the summarized results. Another example is the mean of of the tic or mean of the ions.incremental if you want to make a plot showing the concentration vs ratio.

The work around right now is to summaries the results separately and then do a join call.

orbi_plot_shot_noise() isotopocule filter

If you have lot of isotopocules the shot noise plots get very busy, especially when facet_wrap. It might be nice to have a built in filter like as in the fuction call orbi_plot_raw_data(isotopocules = c("13C"), y= ratio). Of course it can be done with a filter call before hand.
flageddata_w_ratios |> orbi_analyze_shot_noise() |> dplyr::filter(isotopocule %in% c("13C", "18O")) |> orbi_plot_shot_noise()

orbi_adjust_block -time

If you set set_end_time.min to 0 or negative you get a dplyr::filter() error. Need to add check.

additional options for `orbi_define_block_for_flow_injection()`

we discussed that the following parameters would be useful for defining the data block in flow injenctions (in addition to the time window definitions) by basically providing a way to more automatically detect peak maxima:

intensity_setpoint = 95
intensity_cutoff  = 10

--> this basically selects the peak by taking only everything above 10% of the 95% percentile of the data inside the time window
please correct me if that's wrong @NilsKuhlbusch

note that this is planned for v1.4 at the earliest

Release isoorbi 1.3.0 (CRAN requirements)

Prepare for release:

  • git pull
  • Check current CRAN check results
  • Check if any deprecation processes should be advanced, as described in Gradual deprecation
  • Polish NEWS
  • urlchecker::url_check()
  • devtools::check(remote = TRUE, manual = TRUE)
  • devtools::check_win_devel()
  • revdepcheck::revdep_check(num_workers = 4)
  • Update cran-comments.md
  • git push
  • Draft blog post

Submit to CRAN:

  • usethis::use_version('minor') - careful: this changes the version automatically one minor level up!
  • devtools::submit_cran()
  • Approve email

Wait for CRAN...

  • Accepted 🎉
  • Add preemptive link to blog post in pkgdown news menu
  • usethis::use_github_release()
  • usethis::use_dev_version(push = TRUE)
  • Finish blog post
  • Tweet

speed optimization

some functions could probably be optimized a bit for speed - for example, orbi_define_basepeak() could potentially be implemented with a grouped mutate instead of a full join for speed increases

implement delta calculation function

for example something modelled after https://github.com/isoverse/isoprocessor/blob/812646ebab0faff38c30ace78be82a16704aed66/R/calculations.R#L221 except it can be for all ratios at once given the base peak structure

aim for v. 1.4? ideally for flow injections AND dual inlet samples

important decisions to make:

  • how to deal with segmented blocks' averaging and error calculation when bracketing sample/standard?

note issue #46 is also relevant for this as more automated sequence information is very useful to include

Prepare release of isoorbi version 1.4 (CRAN requirements)

Once all new features are implemented and issues are addressed, prepare for release:

  • git pull
  • Check current CRAN check results
  • Check if any deprecation processes should be advanced, as described in Gradual deprecation
  • Polish NEWS
  • urlchecker::url_check()
  • devtools::check(remote = TRUE, manual = TRUE)
  • devtools::check_win_devel()
  • revdepcheck::revdep_check(num_workers = 4)
  • Update cran-comments.md
  • git push
  • Draft blog post

Submit to CRAN:

  • usethis::use_version('minor') - careful: this changes the version automatically one minor level up!
  • devtools::submit_cran()
  • Approve email

Wait for CRAN...

  • Accepted 🎉
  • Add preemptive link to blog post in pkgdown news menu
  • usethis::use_github_release()
  • usethis::use_dev_version(push = TRUE)
  • Finish blog post
  • Tweet

Release isoorbi 1.1.0

Prepare for release:

  • git pull
  • Check current CRAN check results
  • Check if any deprecation processes should be advanced, as described in Gradual deprecation
  • Polish NEWS
  • urlchecker::url_check()
  • devtools::check(remote = TRUE, manual = TRUE)
  • devtools::check_win_devel()
  • revdepcheck::revdep_check(num_workers = 4)
  • Update cran-comments.md
  • git push
  • Draft blog post

Submit to CRAN:

  • usethis::use_version('minor')
  • devtools::submit_cran()
  • Approve email

Wait for CRAN...

  • Accepted 🎉
  • Add preemptive link to blog post in pkgdown news menu
  • usethis::use_github_release()
  • usethis::use_dev_version(push = TRUE)
  • Finish blog post
  • Tweet

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.