Coder Social home page Coder Social logo

rtassel's Introduction

rTASSEL

Life Cycle Status R-CMD-check codecov DOI Binder

Objective

The main goal of developing this package is to construct an R-based front-end to connect to a variety of highly used TASSEL methods and analytical tools. By using R as a front-end, we aim to utilize a unified scripting workflow that exploits the analytical prowess of TASSEL in conjunction with R's popular data handling and parsing capabilities without ever having the user to switch between these two environments. rTASSEL also provide feature and speed advantages compared to other commonly used R packages. Take a look here for more information.

Citation

To cite rTASSEL, please use the following citation:

Monier et al., (2022). rTASSEL: An R interface to TASSEL for analyzing genomic diversity. Journal of Open Source Software, 7(76), 4530, https://doi.org/10.21105/joss.04530

Demo

If you want to test out what this package does but do not want to install it locally, we have set up an interactive Jupyter notebook detailing the walkthrough of rTASSEL on Binder. The Binder link can be accessed through the Binder icon on this page or by clicking here.

Installation and usage

If you do not have experience working with and setting up rJava with your R installation, it is recommended that you read the long-form documentation. This walkthrough can be found here. If you are already fairly comfortable working with Java JDK and rJava, you can follow the following commands.

Package source code can be installed directly from this BitBucket repository using the devtools package:

if (!require("devtools")) install.packages("devtools")
devtools::install_github("maize-genetics/rTASSEL")

Vignettes (build_vignettes) are optional since there are constantly updated article links on our website. If you do want to build vignettes locally, please use the following instructions:

if (!require("devtools")) install.packages("devtools")
devtools::install_github(
    repo = "maize-genetics/rTASSEL",
    ref = "master",
    build_vignettes = TRUE,
    dependencies = TRUE
)

Getting help

For an overview of available functions, use the following command:

help(package = "rTASSEL")

If you need a walkthrough for potential pipelines, long-form documentation can be found on our website including a getting started article.

If you would like to study a function in full, refer to the R documentation by using ?<function> in the console, where <function> is an rTASSEL-based function.

rtassel's People

Contributors

arcadeo avatar btmonier avatar buckler4 avatar lynnjo avatar sarahejensen avatar tcasstevens avatar ter56 avatar twrightsman avatar

Stargazers

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

Watchers

 avatar  avatar  avatar

rtassel's Issues

[JOSS review] Add `dependencies = TRUE` to build vignettes on a fresh system.

Congratulations on this awesome R package! As part of the JOSS review, I have installed the package within a Bioconductor docker image (R 4.2.0). I noticed that the

devtools::install_bitbucket(
    repo = "bucklerlab/rtassel",
    ref = "master",
    build_vignettes = TRUE
)

command fails, because a fresh container doesn't have the rmarkdown package (listed under Suggests in rTASSEL's DESCRIPTION file) is not available.

To install packages listed under Suggests, users need to add dependencies = TRUE to the devtools::install_bitbucket command. Perhaps you want to this argument to make sure the build_vignettes = TRUE argument succeeds even on a new system?

devtools::install_bitbucket(

Convert HapMap

Hi,

Quick question, is it possible to use rtassel to convert HapMap to vcf or plink format?

Thanks

[JOSS Review] Minor editorial comments

Minor comments

Nothing critical here, just a few suggestions -- consider giving the MS another run through to improve readability.

L12 — “TASSEL has limited means to use scripting languages” seems awkwardly worded. Maybe “has limited automation potential” or similar

L13 — Should there be a comma after “R package”?

L19 — The use of “evermore” seems awkward, consider replacing with a more commonly used phrasing

L46 — Remove comma after “function” and “readGenotypePhyenotype” or maybe revise L45-46 to “Once data is imported, the function readGenotypePhenotype is used to construct an S4 object, which is used for all downstream analyses”

L61-62 — Consider “Linear models can be specified following the format used by R’s lm function:”

L68 — Double citation

L88 — Might specify what sort of phylogenetic analysis this is (neighbor joining etc)

Kinship export

Hello, I was wondering if is possible to export the kinship matrix that could be used directly with Tassel. Similar to exportGenotypeTable.
Update: Sorry can't delete comment so, but no issue anymore.
Thanks!

Error Reading in Genotype Data

Good Evening All,
my issue is still related to #13 even after following the solution there by setting sortPositions=TRUE, I am still getting the same error. I am using R version 4.3.1 and I am on windows.

Thanks

Load Package

library(rTASSEL)

data path

GenoPathHMP=('~/../Desktop/geno.hmp.txt')

Read in the data

tasGenoHMP <- rTASSEL::readGenotypeTableFromPath(
path = GenoPathHMP,sortPositions = TRUE
)

Error Message

Error in .jcall("RJavaTools", "Ljava/lang/Object;", "invokeMethod", cl, :
java.lang.IllegalStateException: ImportUtils: read: nothing was loaded for: ~/../Desktop/geno.hmp.txt

[JOSS Review] Consider creating a Docker container

Installation required some workarounds because the rJava documentation for MacOS is outdated — for one, Oracle JDK doesn’t seem to support the new Mac chip architecture. This is just a suggestion, but you might consider making a containerized option. This wouldn't be terribly complicated, but might save a lot of headache for some people :)

[JOSS review]: Enriching pkgdown project site

Just a suggestion, but you might want to consider add the following to the (currently empty) _pkgdown.yml file:

template:
  bootstrap: 5
url: https://maizee-genetics.github.io/rTASSEL/index.html
home:
  links:
  - text: Bitbucket
    href: https://bitbucket.org/bucklerlab/rtassel/src/master/
  - text: github
    href: https://github.com/maize-genetics/rTASSEL
articles:
- title: Articles
  navbar: ~
  contents:
  - rtassel_walkthrough
  - genotype_filtration
  - rtassel_benchmarks

to

  1. Explicitly order the articles, e.g. putting the walkthrough first
  2. Add links to the github and bitbucket repositories to the project site
  3. Take advantage of bootstrap 5 (introduced with pkgdown v. 2.0.0)

Error while using readGenotypeTableFromPath()

Hi!
Currently I'm having problems while loading my genotype file.

This is the command that I'm using:

genoPathHMP <- "data/genotype_dmz119.hmp.txt"
tasGenoHMP <- rTASSEL::readGenotypeTableFromPath(
    path = genoPathHMP
)

And the error in console states:

Error in .jcall("RJavaTools", "Ljava/lang/Object;", "invokeMethod", cl,  : 
  java.lang.IllegalStateException: ImportUtils: read: nothing was loaded for: data/genotype_dmz119.hmp.txt
  • File works fine in TASSEL 5.0 GUI.
  • Dummy file from documentation worksfine.
  • Eliminated every special character for taxa or SNP ID.
  • Working directory is the same as root of RProject.

log4j:WARN Please initialize the log4j system properly.

It seems the log4j initialization might not be complete, as this code snipped from the rtassel_walkthrough.Rmd vignette gives a warning. (This is not relevant for the JOSS review, but I thought I'd point it out in case you want to check.)

> library(rTASSEL)
Welcome to rTASSEL (version 0.9.26)
 • Consider starting a TASSEL log file (see ?startLogger())

> rTASSEL::startLogger(fullPath = NULL, fileName = NULL)
log4j:WARN No appenders could be found for logger (net.maizegenetics.util.LoggingUtils).
log4j:WARN Please initialize the log4j system properly.
TASSEL logging file created at: /home/rstudio/rTassel/vignettes/rTASSEL_log

startLogger <- function(fullPath = NULL, fileName = NULL, ...) {

rTassel installation on Apple M1

I have got an Apple MacBook Air with M1 cpu. I would like to install rTassel, but I got this error:

> devtools::install_github("maize-genetics/rTASSEL")
Downloading GitHub repo maize-genetics/rTASSEL@HEAD
── R CMD build ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
✔  checking for file ‘/private/var/folders/k2/gvwnrs_x07gglj0w6x1148mw0000gn/T/RtmptnalXw/remotes8e7318327d3f/maize-genetics-rTASSEL-4f1221a/DESCRIPTION’ (506ms)
─  preparing ‘rTASSEL’: (1.7s)
✔  checking DESCRIPTION meta-information ...
─  checking for LF line-endings in source and make files and shell scripts (495ms)
─  checking for empty or unneeded directories
─  building ‘rTASSEL_0.9.29.tar.gz’

Installing package into ‘/Users/thusor/Library/R/arm64/4.2/library’
(as ‘lib’ is unspecified)
* installing *source* package ‘rTASSEL’ ...
** using staged installation
** R
** data
*** moving datasets to lazyload DB
** inst
** byte-compile and prepare package for lazy loading
Error: .onLoad failed in loadNamespace() for 'rJava', details:
  call: dyn.load(jli, FALSE)
  error: unable to load shared object '/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/lib/jli/libjli.dylib':
  dlopen(/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/lib/jli/libjli.dylib, 0x000A): tried: '/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/lib/jli/libjli.dylib' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64')), '/System/Volumes/Preboot/Cryptexes/OS/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/lib/jli/libjli.dylib' (no such file), '/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/lib/jli/libjli.dylib' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64'))
Execution halted
ERROR: lazy loading failed for package ‘rTASSEL’
* removing ‘/Users/thusor/Library/R/arm64/4.2/library/rTASSEL’
Warning message:
In i.p(...) :
  installation of package ‘/var/folders/k2/gvwnrs_x07gglj0w6x1148mw0000gn/T//RtmptnalXw/file8e735dc0fd84/rTASSEL_0.9.29.tar.gz’ had non-zero exit status

As I see, there is a problem with arm64 architecture. Maybe, the rTassel install only on x86_64 architecture. How can I install rTassel on the arm64 architecture?

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.