MCPcopy Index your code
hub / github.com/CampagneLaboratory/variationanalysis

github.com/CampagneLaboratory/variationanalysis @r1.4.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release r1.4.0 ↗ · + Follow
3,209 symbols 8,905 edges 515 files 766 documented · 24%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

VariationAnalysis

Join the chat at https://gitter.im/CampagneLaboratory/variationanalysis

This project provides:

  • A deep learning model training and evaluation framework (codename Matcha). Builds on DL4J and provides abstractions and organizing principles useful when training and evaluating models in practice (see doc). Supports both CPU and GPU model training and inference. We distribute the CPU version on maven, but you can build the project and choose the GPU maven profile to compile a CUDA version on the appropriate hardware.
  • A tool to train DL models for calling somatic variations. An example of using the framework for a specific domain.
  • A preview of a tool to train DL models for calling genotypes. This is a straightforward application of the Matcha framework and takes advantage of ground-truth genotypes established for specific quality control samples.

Download

You can download the binary distribution here: * Release 1.2 (January 2017).

Tutorials

We provide a tutorial for the somatic calling models. It is strongly recommended that you read the tutorial at this time. It demonstrates an end-to-end application where we collect data, train a model, and use it in an application. The domain is genomics, but you will get an idea how the framework can help with deep learning projects.

A second tutorial describes how to train genotype models. Note that this feature is an early preview.

Two of the tools demonstrated in the tutorial have been developed with the framework:

  • train-somatic.sh. This tool implements training with early stopping.
  • predict.sh. This tool uses a trained model to predict on a dataset. It provides features to filter results which are useful for error analysis.
  • search-hyper-params.sh. A tool to help determine which hyper-parameters result in models with higher performance. It takes the number of models to evaluate and a train-somatic.sh command line, generates random combinations of parameter values, and run train-somatic.sh. Performance is written in the model-conditions.txt file after each model is trained. This makes it easy to pick conditions that work best.

The somatic tools also include:

  • show.sh. This tool also helps with error analysis. It shows input records in various formats for the examples identified by the predict.sh tool.
  • split.sh. This tool splits a training set into different files. Useful to create training, validation and test splits.
  • randomize.sh. This tool takes a number of training sets and shuffles the records in them. Useful to remove any order (i.e., correlation due to genomic position). Scales to files with hundreds of million of examples.

Interested in genotype calling with deep learning models? Have a look at the preview of the genotype module (tutorial and doc).

framework javadocs somatic javadocs genotype javadocs

See the project on GitHub --- Learn more about the Campagne Laboratory

Extension points exported contracts — how you extend this code

ToolArguments (Interface)
Created by fac2003 on 10/23/16. [21 implementers]
framework/src/main/java/org/campagnelab/dl/framework/tools/arguments/ToolArguments.java
GenotypeCountFactory (Interface)
A factory to encapsulate the creation of spefic types of GenotypeCount implementations. Created by fac2003 on 6/3/16. [13 …
somatic/src/main/java/org/campagnelab/dl/somatic/genotypes/GenotypeCountFactory.java
SplitStrategy (Interface)
A strategy to split a segment. @author manuele [9 implementers]
genotype/src/main/java/org/campagnelab/dl/genotype/segments/splitting/SplitStrategy.java
FeatureMapper (Interface)
FeatureMapper instances convert records to mapped features suitable to train a neural net or computation graph. Created [15 …
framework/src/main/java/org/campagnelab/dl/framework/mappers/FeatureMapper.java
SimulationStrategy (Interface)
Mutate the second sample in a pair of sample to simulate somatic mutation and errors. Created by fac2003 on 7/19/16. [10 …
somatic/src/main/java/org/campagnelab/dl/somatic/intermediaries/SimulationStrategy.java
SingleBaseMapper (Interface)
(no doc) [30 implementers]
genotype/src/main/java/org/campagnelab/dl/genotype/mappers/SingleBaseMapper.java
FeatureNameMapper (Interface)
Created by rct2002 on 7/4/16. [70 implementers]
framework/src/main/java/org/campagnelab/dl/framework/mappers/FeatureNameMapper.java
NamedDataSetIterator (Interface)
A dataset iterator with a basename. Created by fac2003 on 11/2/16. [18 implementers]
somatic/src/main/java/org/campagnelab/dl/somatic/learning/iterators/NamedDataSetIterator.java

Core symbols most depended-on inside this repo

args
called by 176
somatic/src/main/java/org/campagnelab/dl/somatic/learning/architecture/graphs/SixDenseLayersNarrower2.java
forOneSampleGenotype
called by 172
somatic/src/main/java/org/campagnelab/dl/somatic/mappers/functional/TraversalHelper.java
add
called by 136
genotype/src/main/java/org/campagnelab/dl/genotype/segments/Segment.java
args
called by 133
framework/src/main/java/org/campagnelab/dl/framework/tools/Predict.java
numberOfFeatures
called by 126
framework/src/main/java/org/campagnelab/dl/framework/mappers/FeatureMapper.java
args
called by 116
genotype/src/main/java/org/campagnelab/dl/genotype/tools/PredictG.java
put
called by 103
framework/src/main/java/org/campagnelab/dl/framework/models/ModelPropertiesHelper.java
toString
called by 98
genotype/src/main/java/org/campagnelab/dl/genotype/segments/Segment.java

Shape

Method 2,674
Class 502
Interface 22
Enum 11

Languages

Java100%

Modules by API surface

framework/src/main/java/org/campagnelab/dl/framework/domains/DomainDescriptor.java44 symbols
genotype/src/main/java/org/campagnelab/dl/genotype/learning/domains/GenotypeDomainDescriptor.java35 symbols
genotype/src/main/java/org/campagnelab/dl/genotype/segments/Segment.java29 symbols
somatic/src/main/java/org/campagnelab/dl/somatic/learning/iterators/SamplingIterator.java27 symbols
somatic/src/main/java/org/campagnelab/dl/somatic/learning/domains/SomaticMutationDomainDescriptor.java25 symbols
somatic/src/main/java/org/campagnelab/dl/somatic/learning/iterators/BaseInformationIterator.java23 symbols
genotype/src/main/java/org/campagnelab/dl/genotype/learning/domains/GenotypeSegmentDomainDescriptor.java21 symbols
framework/src/main/java/org/campagnelab/dl/framework/performance/TimeSeriesPerformanceCalculator.java20 symbols
framework/src/main/java/org/campagnelab/dl/framework/domains/PretrainingDomainDescriptor.java20 symbols
genotype/src/main/java/org/campagnelab/dl/genotype/helpers/GenotypeHelper.java19 symbols
framework/src/main/java/org/campagnelab/dl/framework/performance/PerformanceLogger.java19 symbols
framework/src/main/java/org/campagnelab/dl/framework/models/ModelPropertiesHelper.java19 symbols

For agents

$ claude mcp add variationanalysis \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page