GithubHelp home page GithubHelp logo

Comments (12)

pjotrp avatar pjotrp commented on August 10, 2024

I am studying the GEMMA code to see how we add LOCO support.

from gemma.

pcarbo avatar pcarbo commented on August 10, 2024

Okay @pjotrp. It basically would involve an "outer loop" that would run relationship matrix creation + LMM association analysis on each chromosome. Note that I have some R code (see function run.gemma in that file) that does this in case it is useful for helping to implement LOCO within gemma.

from gemma.

pjotrp avatar pjotrp commented on August 10, 2024

The outer loop may be the easiest hack for now though it will be hard to make generic for all supported input formats. If you look at the code you'll see that GEMMA has an innerloop for every file type it supports. I somehow need to plug in K-1 and subset SNPs. Looks like that will be pretty intrusive to make that generic.

from gemma.

pjotrp avatar pjotrp commented on August 10, 2024

I have implemented LOCO for Bimbam format. I'll put in a PR after we agree on the coding style, see #62

from gemma.

pjotrp avatar pjotrp commented on August 10, 2024

Two more things need to be done:

  1. Add LOCO to plink format
  2. Run all chromosomes instead of just one

I think we need to focus on BIMBAM and Plink formats for core algorithms. Other formats should really format into one of these and eventually we should remove internal support. That way we can become more DRY.

wdyt?

from gemma.

xiangzhou avatar xiangzhou commented on August 10, 2024

I agree.

from gemma.

pcarbo avatar pcarbo commented on August 10, 2024

@pjotrp Sounds like a good plan to me!

from gemma.

pjotrp avatar pjotrp commented on August 10, 2024

https://github.com/genetics-statistics/gemma-wrapper now runs all chromosomes and caches results too.

Leaving issue open until I add LOCO to Plink.

from gemma.

pjotrp avatar pjotrp commented on August 10, 2024

AnalyzeBimBam and AnalyzePlink contain duplicate logic - and they
differ now because the first has LOCO support. To add LOCO support to
PLINK we'll converge on logic and make the functions DRY.

The functions can be split into:

  1. Initialization
  2. Partially read genotype data (batch processing)
  3. LMM on the submatrix
  4. Collate the results
  5. Cleanup

The only thing specific regarding the input file format is (2). The
way to solve is is to put that reader in a function that gets passed
in. I'll work on that in a new branch (for 0.98 release).

from gemma.

flaviahodel avatar flaviahodel commented on August 10, 2024

Hello! Are there any news regarding LOCO for Plink format?

from gemma.

pjotrp avatar pjotrp commented on August 10, 2024

It will happen sometime this year. If you want to help out :). Meanwhile, convert plink to BIMBAM. It can be done with the plink tool.

from gemma.

pjotrp avatar pjotrp commented on August 10, 2024

It is part of gemma2/lib. Gemma2/lib converts plink and bimbam to a new Rqtl2/GEMMA2 format and that supports LOCO.

from gemma.

Related Issues (20)

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.