Code Monkey home page Code Monkey logo

isa-tools / risa Goto Github PK

View Code? Open in Web Editor NEW
20.0 7.0 9.0 3.01 MB

Risa allows to access metadata/data in ISA-tab format and builds Bioconductor data structures. Apart from parsing ISA-tab files, the package also provides functionality to save the ISA-tab dataset, or each of its individual files. Additionally, it is also possible to update assay files. Currently, metadata associated to proteomics and metabolomics-based assays (i.e. mass spectrometry) can be processed into an xcmsSet object (from the xcms R package).

Home Page: http://isa-tools.org

R 100.00%
bioconductor r-package isa isa-tab-dataset

risa's Introduction

Risa

Risa is an R package that is part of the ISA tools suite (http://isa-tools.org). Risa supports parsing, saving and updating ISA-tab datasets. It also builds bridges from the ISA-Tab syntax to analysis pipelines for specific assay types, such as mass spectrometry and DNA microarray assays, by building R objects from the metadata required for other packages downstream, such as xcms and affy, respectively. In addition, Risa includes functionality to suggest packages in BioConductor that might be relevant for the assay types in the ISA-TAB dataset being considered. This recommentation functionality relies on the BioCViews annotations provided by each BioConductor package.

The Risa package is available in Bioconductor:

For more information about the ISA tools, consider:

Read the Paper in BMC Bioinformatics!

Access the Open Access BMC Bioinformatics article on Risa here.

Alejandra González-Beltrán, Steffen Neumann, Eamonn Maguire, Susanna-Assunta Sansone and Philippe Rocca-Serra.
The Risa R/Bioconductor package: integrative data analysis from experimental metadata and back again BMC Bioinformatics 2014, 15(Suppl 1):S11 doi:10.1186/1471-2105-15-S1-S11

Development

If you have feature requests or find any issues when using Risa, please let us know through the issues tracker at [https://github.com/ISA-tools/Risa/issues].

Contributing

You should read this article about Git Flow: http://scottchacon.com/2011/08/31/github-flow.html. It's a really useful tutorial on how to use Git for collaborative development.

  1. Fork it.
  2. Clone your forked repository to your machine
  3. Create a branch (git checkout -b myRisa)
  4. Make your changes
  5. Run the tests (mvn clean test)
  6. Commit your changes (git commit -am "Added something useful")
  7. Push to the branch (git push origin myRisa)
  8. Create a Pull Request from your branch.
  9. Promote it. Get others to drop in and +1 it.

risa's People

Contributors

agbeltran avatar eamonnmag avatar sneumann avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

risa's Issues

Use all factors as phenoData for XCMS

Hi,

Currently, processAssayXcmsSet() will obtain the first factor from the ISAtab
and use it as sampclass() for the xcmsSet. It would be great if all factors were used.
Below is an example.

Yours,
Steffen

# Create a data.frame with one column per factor
phenodataMtbls2 <- cbind(genotype=c("Col-0", "Col-0", "Col-0", "Col-0", "cyp79", "cyp79", "cyp79",  "cyp79", "Col-0", "Col-0", "Col-0", "Col-0", "cyp79", "cyp79",  "cyp79", "cyp79"), replicate=rep(c("Exp1", "Exp2"), each=8))

# add the assay names as rownames
rownames(phenodataMtbls2) <- c("MSpos-Ex1-Col0-48h-Ag-1_1-A,1_01_9818", "MSpos-Ex1-Col0-48h-Ag-2_1-A,1_01_9820",  "MSpos-Ex1-Col0-48h-Ag-3_1-A,1_01_9822", "MSpos-Ex1-Col0-48h-Ag-4_1-A,1_01_9824",  "MSpos-Ex1-cyp79-48h-Ag-1_1-B,1_01_9819", "MSpos-Ex1-cyp79-48h-Ag-2_1-B,2_01_9821",  "MSpos-Ex1-cyp79-48h-Ag-3_1-B,1_01_9823", "MSpos-Ex1-cyp79-48h-Ag-4_1-B,2_01_9825",  "MSpos-Ex2-Col0-48h-Ag-1_1-A,2_01_9827", "MSpos-Ex2-Col0-48h-Ag-2_1-A,3_01_9829",  "MSpos-Ex2-Col0-48h-Ag-3_1-A,4_01_9831", "MSpos-Ex2-Col0-48h-Ag-4_1-A,2_01_9833",  "MSpos-Ex2-cyp79-48h-Ag-1_1-B,3_01_9828", "MSpos-Ex2-cyp79-48h-Ag-2_1-B,4_01_9830",  "MSpos-Ex2-cyp79-48h-Ag-3_1-B,3_01_9832", "MSpos-Ex2-cyp79-48h-Ag-4_1-B,4_01_9834" )

# Assign to phenoData sloe in xcmsSet
phenoData(mtblsSet) <- phenodataMtbls2

# As you see, each assay file has its catenation of factors as sampclass().
sampclass(mtblsSet )
 [1] Col-0.Exp1 Col-0.Exp1 Col-0.Exp1 Col-0.Exp1 cyp79.Exp1 cyp79.Exp1
 [7] cyp79.Exp1 cyp79.Exp1 Col-0.Exp2 Col-0.Exp2 Col-0.Exp2 Col-0.Exp2
[13] cyp79.Exp2 cyp79.Exp2 cyp79.Exp2 cyp79.Exp2
Levels: Col-0.Exp1 cyp79.Exp1 Col-0.Exp2 cyp79.Exp2

Assay Missing

Dear all,
first of all many thanks for your nice work.
I'm currently working on an ISA tab file for a big Metabolights submission. The file was created with ISA creator with the 2014 Metabolights configuration file.
The file is composed of 1 investigation, 1 study and 7 different assays of different nature (i.e. I have 9 txt files in my folder). The automatic check of consistency of ISACreator is successful.
When I load the ISA tab file with Risa, however, I can find only 5 of my 7 assays. What can be the reason of that?
Thank you in advance for your help

Pietro

R: version 3.1.1 (2014-07-10)
Risa: Version: 1.8.0

Fails to open Investigations with filenames like a_creinhardtii_metabolite profiling_mass spectrometry.txt

Hi,

I got a bug report by mail. I have a patch, Pull request is imminent.
Yours,
Steffen

MTBLS37 has cdf files, could not find the investigation file? There is a "i_Investigation.txt" present in the folder
"…. if (!file.exists(file.path(path, ifilename))) stop("Did not find investigation file: ", :
the condition has length > 1 and only the first element will be used
Execution halted…"

I downloaded that for local debugging:

i <- readISAtab(".")
Error in file(file, "rt") : invalid 'description' argument
In addition: Warning message:
In if (!file.exists(file.path(path, ifilename))) stop("Did not find investigation file: ", :
the condition has length > 1 and only the first element will be used
traceback()
8: file(file, "rt")
7: read.table(file.path(path, ifilename), sep = "\t", fill = TRUE,
na.strings = "NA")
6: .local(.Object, ...)
5: initialize(value, ...)
4: initialize(value, ...)
3: new(Class = "ISATab", path = path)
2: readISAtabFiles(path, verbose)
1: readISAtab(".")

Browse[1]> path
[1] "."

Browse[1]> ifilename
[1] "a_creinhardtii_metabolite profiling_mass spectrometry.txt"
[2] "i_Investigation.txt"
[3] "m_creinhardtii_metabolite profiling_mass spectrometry_v2_maf.tsv"

readISAtab fails for MTBLS25

Hi,

readISAtab() fails for http://www.ebi.ac.uk/metabolights/publicfiles/MTBLS25

with an

Error in validObject(.Object) :
invalid class "ISAtab" object: invalid object for slot "assay.filenames.per.sample" in class "ISAtab": got class "NULL", should be or extend class "character"

I think Risa should fail gracefully on this.

Steffen

P.S.: The ISAtab files are also available from
https://github.com/nmrML/nmrML/tree/master/examples/SteffensMTBL_MetaboquantConverterExamples/mtbls25

Warning about Class "C++Object" when running R CMD INSTALL

oerc-dynamic-226:R-packages agbeltran$ R CMD INSTALL Risatab

  • installing to library ‘/Library/Frameworks/R.framework/Versions/2.15/Resources/library’
  • installing source package ‘Risatab’ ...
    ** R
    ** inst
    ** preparing package for lazy loading
    Warning: Class "C++Object" is defined (with package slot ‘Rcpp’) but no metadata object found to revise subclass information---not exported? Making a copy in package ‘.GlobalEnv’
    ** help
    *** installing help indices
    ** building package indices
    ** installing vignettes
    ** testing if installed package can be loaded
    *** arch - i386
    During startup - Warning message:
    Class "C++Object" is defined (with package slot ‘Rcpp’) but no metadata object found to revise subclass information---not exported? Making a copy in package ‘.GlobalEnv’
    *** arch - x86_64
    During startup - Warning message:
    Class "C++Object" is defined (with package slot ‘Rcpp’) but no metadata object found to revise subclass information---not exported? Making a copy in package ‘.GlobalEnv’
  • DONE (Risatab)

Example getExpressionSet

The base.url provided in the getExpressionSet example is no longer accessible. The example, therefore, can not be executed.

I have no other way to assess this function and check it's expected output.

Risa chokes in the presence of editor backup files like "i_Investigation~"

If my ISA directory contains editor backup files like "i_Investigation~"
then I get:

ISAmtbls <- readISAtab()

Error in file(file, "rt") : invalid 'description' argument
In addition: Warning message:
In if (!file.exists(file.path(path, ifilename))) stop("Did not find investigation file: ",  :
  the condition has length > 1 and only the first element will be used

I will check if this line https://github.com/ISA-tools/Risa/blob/master/R/AllGenerics.R#L122
needs to grep with line ending like ^ ... $ .
Yours,
Steffen

Warning: Undocumented S4 methods

Hi,

BioC is reporting a WARNING:
http://www.bioconductor.org/packages/devel/bioc/html/Risa.html
Yours, Steffen

* checking for missing documentation entries ... WARNING
Undocumented S4 methods:
  generic '[' and siglist 'AssayTab,ANY,ANY,ANY'
  generic '[' and siglist 'ISATab,ANY,ANY,ANY'
  generic '[<-' and siglist 'AssayTab,ANY,ANY,ANY'
  generic '[<-' and siglist 'ISATab,ANY,ANY,ANY'
All user-level objects in a package (including S4 classes and methods)
should have documentation entries.
See chapter ‘Writing R documentation files’ in the ‘Writing R
Extensions’ manual.

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.