Giter Site home page Giter Site logo

ngs's Introduction

ngs

Next generation sequencing (NGS/HTS) tools.

Build Status

###Using ngs

Artifacts from this project are available from the Maven Central repository.

E.g.

<dependency>
  <groupId>org.nmdp.ngs</groupId>
  <artifactId>ngs-align</artifactId>
  <version>${version}</version>
</dependency>

###Using ngs-tools

The ngs-tools module builds several command line tools.

For example

$ ngs-downsample-fastq -h
usage:
ngs-downsample-fastq -p 0.5 [args]

arguments:
   -a, --about  display about message [optional]
   -h, --help  display help message [optional]
   -i, --input-fastq-file [class java.io.File]  input FASTQ file, default stdin [optional]
   -o, --output-fastq-file [class java.io.File]  output FASTQ file, default stdout [optional]
   -p, --probability [class java.lang.Double]  probability a FASTQ record will be removed, [0.0-1.0] [required]
   -z, --seed [class java.lang.Integer]  random number seed, default relates to current time [optional]

###Hacking ngs

Install

To build

$ mvn install

ngs's People

Contributors

bmatern-nmdp avatar ckennedy-nmdp avatar dvaliga avatar epearson-nmdp avatar heuermh avatar janders3-nmdp avatar jasonbrelsford avatar mgeorge-nmdp avatar pbashyal-nmdp avatar

Stargazers

 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  avatar  avatar  avatar  avatar

ngs's Issues

Fix FindBugs and Checkstyle errors in feature module

Currently FindBugs reports 31 errors and Checkstyle reports 307 errors for the feature module. Run

$ mvn site

in the feature module to generate the reports.

With default configuration some can be safely ignored (e.g. 'name' hides a field) and several are the fault of JavaCC (e.g. Switch statement found in org.nmdp.ngs.feature.parser.FeatureParserTokenManager.getNextToken() where default case is missing).

Many of the others should be fixed before a version 1.4 release; the javadoc ones in particular.

Refactor tools Runnable --> Callable

Refactoring the Runnable classes in the tools module to implement Callable instead allows for easier integration with ExecutionService framework and moves exception handling into the static main method where it should be.

Maven assembly plugin complains about group id on OSX

With version 2.5.1 of the maven-assembly-plugin, building on OSX results in the following error

$ mvn install
...
INFO] <<< maven-assembly-plugin:2.5.1:assembly (default) < package @ ngs-tools <<<
[INFO] 
[INFO] --- maven-assembly-plugin:2.5.1:assembly (default) @ ngs-tools ---
[INFO] Reading assembly descriptor: src/main/assembly/assembly.xml
[INFO] Building tar: ngs/tools/target/ngs-tools-1.5-SNAPSHOT-bin.tar.gz
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] 
[INFO] ngs-multimodule .................................... SUCCESS [  3.126 s]
[INFO] ngs-align .......................................... SUCCESS [ 11.713 s]
[INFO] ngs-variant ........................................ SUCCESS [  1.935 s]
[INFO] ngs-feature ........................................ SUCCESS [  3.248 s]
[INFO] ngs-gtr ............................................ SUCCESS [  9.387 s]
[INFO] ngs-hml ............................................ SUCCESS [  2.234 s]
[INFO] ngs-range .......................................... SUCCESS [  3.639 s]
[INFO] ngs-reads .......................................... SUCCESS [  1.092 s]
[INFO] ngs-xjc-plugins .................................... SUCCESS [  0.357 s]
[INFO] ngs-sra ............................................ SUCCESS [  6.662 s]
[INFO] ngs-tools .......................................... FAILURE [ 11.730 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 55.648 s
[INFO] Finished at: 2014-11-13T10:37:46-06:00
[INFO] Final Memory: 52M/379M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-assembly-plugin:2.5.1:assembly (default) on project ngs-tools: Execution default of goal org.apache.maven.plugins:maven-assembly-plugin:2.5.1:assembly failed: group id '827464065' is too big ( > 2097151 ) -> [Help 1]

This is a known issue with maven-assembly-plugin

Assembly plugin >= 2.5 thinks my group ID is too big
http://jira.codehaus.org/browse/MASSEMBLY-728

The workaround is to use posix mode tar extensions (tarLongFileMode=posix); I don't know what effect that will have on our assemblies if any.

Fix minor javadoc warnings

Javadoc warnings

$ mvn javadoc:javadoc
[WARNING] working/ngs/target/checkout/align/src/main/java/org/nmdp/ngs/align/BedRecord.java:163: warning - @param argument "format" is not a parameter name.
[WARNING] working/ngs/target/checkout/variant/src/main/java/org/nmdp/ngs/variant/vcf/VcfSample.java:134: warning - @param argument "genome" is not a parameter name.
[WARNING] working/ngs/target/checkout/variant/src/main/java/org/nmdp/ngs/variant/vcf/VcfSample.java:148: warning - @param argument "genome" is not a parameter name.

Align module unit tests fail under JDK 8

Two align module unit tests fail under JDK 8.

$ mvn clean install
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=1024m; support was removed in 8.0
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO] 
[INFO] ngs-multimodule
[INFO] ngs-align
[INFO] ngs-variant
[INFO] ngs-feature
[INFO] ngs-gtr
[INFO] ngs-hml
[INFO] ngs-range
[INFO] ngs-reads
[INFO] ngs-xjc-plugins
[INFO] ngs-sra
[INFO] ngs-tools
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building ngs-multimodule 1.5-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ ngs-multimodule ---
[INFO] 
[INFO] --- maven-enforcer-plugin:1.3.1:enforce (enforce-java) @ ngs-multimodule ---
[INFO] 
[INFO] --- maven-install-plugin:2.5.2:install (default-install) @ ngs-multimodule ---
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building ngs-align 1.5-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ ngs-align ---
[INFO] 
[INFO] --- maven-enforcer-plugin:1.3.1:enforce (enforce-java) @ ngs-align ---
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ ngs-align ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ ngs-align ---
[INFO] Changes detected - recompiling the module!
[INFO] 
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ ngs-align ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 2 resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ ngs-align ---
[INFO] Changes detected - recompiling the module!
[INFO] 
[INFO] --- maven-surefire-plugin:2.17:test (default-test) @ ngs-align ---
[INFO] Surefire report directory: /Users/xxx/working/tmp/ngs/align/target/surefire-reports

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running org.nmdp.ngs.align.AlignmentsTest
Tests run: 81, Failures: 2, Errors: 0, Skipped: 0, Time elapsed: 0.883 sec <<< FAILURE! - in org.nmdp.ngs.align.AlignmentsTest
testLengths(org.nmdp.ngs.align.AlignmentsTest)  Time elapsed: 0.015 sec  <<< FAILURE!
java.lang.AssertionError: expected:<43> but was:<42>
    at org.junit.Assert.fail(Assert.java:88)
    at org.junit.Assert.failNotEquals(Assert.java:743)
    at org.junit.Assert.assertEquals(Assert.java:118)
    at org.junit.Assert.assertEquals(Assert.java:144)
    at org.nmdp.ngs.align.AlignmentsTest.testLengths(AlignmentsTest.java:273)

testStarts(org.nmdp.ngs.align.AlignmentsTest)  Time elapsed: 0.002 sec  <<< FAILURE!
java.lang.AssertionError: expected:<0> but was:<1>
    at org.junit.Assert.fail(Assert.java:88)
    at org.junit.Assert.failNotEquals(Assert.java:743)
    at org.junit.Assert.assertEquals(Assert.java:118)
    at org.junit.Assert.assertEquals(Assert.java:144)
    at org.nmdp.ngs.align.AlignmentsTest.testStarts(AlignmentsTest.java:366)

Running org.nmdp.ngs.align.BiojavaPairwiseAlignmentTest
Tests run: 29, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.343 sec - in org.nmdp.ngs.align.BiojavaPairwiseAlignmentTest
Running org.nmdp.ngs.align.BlastnTest
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.004 sec - in org.nmdp.ngs.align.BlastnTest
Running org.nmdp.ngs.align.CachedThreadPoolParallelBiojavaPairwiseAlignmentTest
Tests run: 27, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.619 sec - in org.nmdp.ngs.align.CachedThreadPoolParallelBiojavaPairwiseAlignmentTest
Running org.nmdp.ngs.align.FixedThreadPoolParallelBiojavaPairwiseAlignmentTest
Tests run: 27, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.406 sec - in org.nmdp.ngs.align.FixedThreadPoolParallelBiojavaPairwiseAlignmentTest
Running org.nmdp.ngs.align.GapPenaltiesTest
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0 sec - in org.nmdp.ngs.align.GapPenaltiesTest
Running org.nmdp.ngs.align.HighScoringPairTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0 sec - in org.nmdp.ngs.align.HighScoringPairTest

Results :

Failed tests: 
  AlignmentsTest.testLengths:273 expected:<43> but was:<42>
  AlignmentsTest.testStarts:366 expected:<0> but was:<1>

Tests run: 170, Failures: 2, Errors: 0, Skipped: 0

[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] 
[INFO] ngs-multimodule .................................... SUCCESS [  3.607 s]
[INFO] ngs-align .......................................... FAILURE [  8.439 s]
[INFO] ngs-variant ........................................ SKIPPED
[INFO] ngs-feature ........................................ SKIPPED
[INFO] ngs-gtr ............................................ SKIPPED
[INFO] ngs-hml ............................................ SKIPPED
[INFO] ngs-range .......................................... SKIPPED
[INFO] ngs-reads .......................................... SKIPPED
[INFO] ngs-xjc-plugins .................................... SKIPPED
[INFO] ngs-sra ............................................ SKIPPED
[INFO] ngs-tools .......................................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 12.349 s
[INFO] Finished at: 2014-09-24T16:08:39-05:00
[INFO] Final Memory: 18M/197M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.17:test (default-test) on project ngs-align: There are test failures.
[ERROR] 
[ERROR] Please refer to /Users/mheuer/working/tmp/ngs/align/target/surefire-reports for the individual test results.
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
[ERROR] 
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <goals> -rf :ngs-align

IllegalArgumentException Invalid range in ngs-filter-interpretable-exons

$ ngs-filter-interpretable-exons -a 3.17.0/TAP2_prot.fasta.hmm2 -i 3.17.0/TAP2_gen.fasta 
>HLA:HLA06625Exception in thread "main" java.lang.IllegalArgumentException: Invalid range: [10605‥10597]
    at com.google.common.collect.Range.<init>(Range.java:363)
    at com.google.common.collect.Range.create(Range.java:153)
    at com.google.common.collect.Range.closed(Range.java:177)
    at org.nmdp.ngs.align.GenewiseExon.<init>(GenewiseExon.java:48)
    at org.nmdp.ngs.align.Genewise.genewiseExons(Genewise.java:103)
    at org.nmdp.ngs.tools.FilterInterpretableExons.run(FilterInterpretableExons.java:98)
    at org.nmdp.ngs.tools.FilterInterpretableExons.main(FilterInterpretableExons.java:166)

NGS validation, Output enhancement

Request to show expected vs. observed results for side by side in the same file/row. Also, show verdict (pass/fail) at locus level in addition to allele level.

Incorrectly interleaved FASTQ reads from ngs-interleave-fastq

Reads @HLA:HLA00001-1034 1 and @HLA:HLA00001-1035 2 are incorrectly interleaved in the example below

@HLA:HLA00001-1033 1
cccatctctgaccatgaggccaccctgaggtgctgggccctgggcttctaccctgcggagatcacactgacctggcagcgggatggggaggaccagaccc
+
!"',5CD???D?>>EAAGGBEDD@C;@B??9>J@B=>@C@FCG@=F@B?>@?B>CA;F>CDCB?;A<CADCF9DFGBF8A>96/,+(&$#""!!!!!!!!
@HLA:HLA00001-1033 2
ttgtgactgctgggatcaggtcccatcaccgccgtaatcaaggtgataaatctgtccttcattttaacaggtgctttacaaaagagtaagtgctggcaca
+
!"&,7CB9>?B==@?BE;AHEB:C<DB=A<E@;;FB?F=D=ACA=AA=D@AFC??F;BADCD=BAA@@?CCA@>AFIA@DA;41-**&$##"!!!!!!!!
@HLA:HLA00001-1034 1
cccaggcagtgacagtgcccagggctctgatgtgtctctcacagcttgtaaaggtgagagcttggagggcctgatgtgtgttgggtgttgggtggaacag
+
!"%-7<C=CAC@GAHE=AA>A9G>J>AF@C>@B>CC@=J?CB@ACDEGG>AB=9??H<EBADB@=9B>?@A@;?HB=;?>=<30+*)&%##"!!!!!!!!
@HLA:HLA00001-1035 2
ctcctcccggcgcggctcccccggtcctgcgcccccgccaggagggccccttgcttctccccgcagaggcggtttccctcccgaccccgcactcacccgc
+
!"%,6@AAA=@EB@A>AD>B<AI:AFF@@CA=>>AF>FDEF?DDEA?>>BB>H@FCCBCB=EG=EB?A@@>CFACC?<=;<754.,)'$$#"!!!!!!!!
@HLA:HLA00001-1036 1
ctgatgagtggttccctttgacaccggcagcagccttgggcccgtgacttttcctctcaggccttgttctctgcttcacactcaatgtgtgtgggggtct
+
!"&,6?@<@C@H?CAB@=<@ECE=<B?E@C8?BACCJ>DECD@B;>>>>?D>B=?DF:;=F>ADJADEI@??E??D=D>@<;71/-('$##"!!!!!!!!
@HLA:HLA00001-1036 2
ggaaggtgaggggccctgaccctgctaaaggtctccagagaggctcctgctttccctaagagacatgacacccccatctccctccttaccccatctcagg
+
!"&+8>ECEB>>=ECCG>@@<D=ACB<I=@<>@C?<A@CB><?BB@DC>==FC@@EEBE;>FAC=E?CG>C?@@?FC;=<CA8/.**'%#"""!!!!!!!

Improve command line argument doc for ngs-filter-consensus

Minor issue; the command line argument doc for ngs-filter-consensus needs improvement

$ ngs-filter-consensus -h
usage:
ngs-filter-consensus -i input.bam -x genome.txt -g HLA-A [args]

arguments:
   -a, --about  display about message [optional]
   -h, --help  display help message [optional]
   -i, --input-bam-file [class java.io.File]  input BAM file [required]
   -x, --input-genomic-range-file [class java.io.File]  input file of genomic ranges, space-delimited exon chrom:start-end [required]
   -o, --output-file [class java.io.File]  output FASTA file, default stdout [optional]
   -g, --gene [class java.lang.String]  gene (to put in the FASTA header) [required]
   -c, --cdna  output cdna from the same contig (phased consensus sequence) in FASTA format (for interpretation) [optional]
   -r, --remove-gaps  remove alignment gaps in the filtered consensus sequence [optional]
   -b, --minimum-breadth-of-coverage [class java.lang.Double]  filter contigs less than minimum, default 0.5 [optional]
   -p, --expected-ploidy [class java.lang.Integer]  ..., default 2 [optional]

Reduce runtime transitive dependencies

The list of runtime transitive dependencies included in the tools tarballs can mostly likely be reduced

$ ls tools/target/appassembler/lib/ | cat
alignment-1.9.1.jar
ant-1.8.2.jar
ant-launcher-1.8.2.jar
bcel-5.2.jar
bytecode-1.9.1.jar
commons-compress-1.8.1.jar
commons-jexl-2.1.1.jar
commons-lang-2.4.jar
commons-logging-1.1.1.jar
commons-math3-3.3.jar
core-1.9.1.jar
dsh-commandline-1.1.jar
dsh-compress-1.0.jar
guava-18.0.jar
htsjdk-1.118.jar
jakarta-regexp-1.4.jar
jaxb-api-2.2.9.jar
jaxb-core-2.2.10-b140310.1920.jar
jaxb-impl-2.2.10-b140310.1920.jar
jaxb-xjc-2.2.10-b140310.1920.jar
jsr305-2.0.3.jar
ngs-align-1.6.jar
ngs-feature-1.6.jar
ngs-hml-1.6.jar
ngs-range-1.6.jar
ngs-reads-1.6.jar
ngs-tools-1.6.jar
ngs-variant-1.6.jar
rtree-0.4.1.jar
rxjava-core-0.20.4.jar
sequencing-1.9.1.jar
snappy-java-1.0.3-rc3.jar

Tutorial For Vcf Parser

Add a tutorial including code examples to show how to use the vcf parser to access:
-Header information
-Reference and alternate alleles and genotypes.
-Format level tags
-Info level tags

Improve error reporting in ngs-filter-interpretable-exons

If the WISECONFIGDIR environment variable for genewise is unset, ngs-filter-interpretable-exons does not report the error correctly

$ ngs-filter-interpretable-exons -a 3.17.0/A_prot.fasta.hmm2 -i HLA-A\*01\:01\:01\:01.fasta 
>HLA:HLA00001

$ genewise -hmmer -both -genes -nosplice_gtag 3.17.0/A_prot.fasta.hmm2 HLA-A\*01\:01\:01\:01.fasta 
Warning Error
    Unable to open gene.stat  as gene stats file
Warning Error
    Could not read gene statistics in gene.stat
Warning Error
    Could not open BLOSUM62.bla as a filename for read Blast matrix
Information
    I could not read the Comparison matrix file in BLOSUM62.bla; however,
you are using a HMM so it is not needed. Please set the WISECONFIGDIR
or WISEPERSONALDIR variable correctly to prevent this message.
Warning Error
    Could not open file codon.table as codon table file
Warning Error
    Could not read codon table file in codon.table
Fatal Error
    Could not build objects!

$ export WISECONFIGDIR=/usr/local/share/genewise

$ genewise -hmmer -both -genes -nosplice_gtag 3.17.0/A_prot.fasta.hmm2 HLA-A\*01\:01\:01\:01.fasta 
GeneLoop6 Matrix calculation: [ 641000] Cells 99%
Gene 1
Gene 506 1289 
  Exon 506 773 phase 0
  Exon 1015 1289 phase 1
//
GeneLoop6 Matrix calculation: [ 641000] Cells 99%
//

$ ngs-filter-interpretable-exons -a 3.17.0/A_prot.fasta.hmm2 -i HLA-A\*01\:01\:01\:01.fasta 
>HLA:HLA00001:Exon 506 773 phase 0 range [506‥773]:Exon 1015 1289 phase 1 range [1015‥1289]
tcccactccatgaggtatttcttcacatccgtgtcccggcccggccgcggggagccccgcttcatcgccgtgggctacgtggacgacacgcagttcgtgcggttcgacagcgacgccgcgagccagaagatggagccgcgggcgccgtggatagagcaggaggggccggagtattgggaccaggagacacggaatatgaaggcccactcacagactgaccgagcgaacctggggaccctgcgcggctactacaaccagagcgaggacggttctcacaccatccagataatgtatggctgcgacgtggggccggacgggcgcttcctccgcgggtaccggcaggacgcctacgacggcaaggattacatcgccctgaacgaggacctgcgctcttggaccgcggcggacatggcagctcagatcaccaagcgcaagtgggaggcggtccatgcggcggagcagcggagagtctacctggagggccggtgcgtggacgggctccgcagatacctggagaacgggaaggagacgctgcagcgcacg

ngs-filter-vcf throws exception when parsing ceph-bwa-j-gatk-haplotype-joint.vcf.gz

$ ngs-filter-vcf -i ceph-bwa-j-gatk-haplotype-joint.vcf.gz -s rs114039523,rs184045725,rs114945359
##fileformat=VCFv4.1
##ALT=<ID=NON_REF,Description="Represents any possible alternative allele at this location">
...
##contig=<ID=GL000192.1,length=547496>
##reference=file:///n/regal/hsph_bioinfo/bcbio_nextgen/genomes/Hsapiens/GRCh37/seq/GRCh37.fa
java.io.IOException: invalid genotype fields at line number 156
    at org.nmdp.ngs.variant.vcf.VcfParser$VcfLineProcessor.processLine(VcfParser.java:177)
    at com.google.common.io.CharStreams.readLines(CharStreams.java:144)
    at org.nmdp.ngs.variant.vcf.VcfParser.parse(VcfParser.java:60)
    at org.nmdp.ngs.variant.vcf.StreamingVcfParser.stream(StreamingVcfParser.java:60)
    at org.nmdp.ngs.variant.vcf.VcfReader.stream(VcfReader.java:77)
    at org.nmdp.ngs.tools.FilterVcf.call(FilterVcf.java:87)
    at org.nmdp.ngs.tools.FilterVcf.main(FilterVcf.java:196)

Homozygous results

Observed results sometimes only produce one allele call (when the expected result is homozygous), so I thought that was the way the observed file shows homozygous calls… until I noticed that sometimes, it does produce two allele calls for homozygous results (ideal scenario), so not sure what is going on when it shows one vs. two. Can the pipeline distinguish homozygous calls, and what is the threshold?

Missing package-info.java package javadoc

The following packages are missing package-info.java package javadoc

  • org.nmdp.ngs.hml.jaxb.gl
  • org.nmdp.ngs.sra.jaxb.analysis
  • org.nmdp.ngs.sra.jaxb.common
  • org.nmdp.ngs.sra.jaxb.experiment
  • org.nmdp.ngs.sra.jaxb.run
  • org.nmdp.ngs.sra.jaxb.sample
  • org.nmdp.ngs.sra.jaxb.study

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.