├── data ├── tests │ ├── Stress.txt │ ├── applyVariants.txt │ ├── WholeDir.txt │ ├── expectedOutputs │ │ ├── full_deletion.fa │ │ ├── deletion.fa │ │ ├── large_deletion.fa │ │ ├── reversed_events.fa │ │ ├── snp.fa │ │ ├── inversion.fa │ │ ├── indel.fa │ │ ├── transloc_right.fa │ │ ├── transloc_left.fa │ │ ├── diploid_full_deletion.fa │ │ ├── duplication.fa │ │ └── diploid_deletion.fa │ ├── givenInputs │ │ ├── large_deletion.vcf │ │ ├── indel.vcf │ │ ├── conflict_deletion_translocation.vcf │ │ ├── duplication.vcf │ │ ├── reversed_events.vcf │ │ ├── zygosity.vcf │ │ ├── inversion.vcf │ │ ├── snp.pl │ │ ├── full_deletion.vcf │ │ ├── transloc_left.vcf │ │ ├── transloc_right.vcf │ │ └── deletion.vcf │ ├── Haploid.txt │ └── Diploid.txt ├── Genomes │ ├── acgt │ │ ├── chr1.fa.fai │ │ ├── chr2.fa.fai │ │ ├── chr3.fa.fai │ │ ├── chr4.fa.fai │ │ ├── chr1.fa │ │ ├── chr2.fa │ │ ├── chr3.fa │ │ ├── chr4.fa │ │ └── genome_size.xml │ ├── acgt.fa.fai │ └── acgt.fa ├── Variants │ ├── OneAtTelomere.vcf │ ├── None.vcf │ └── OneOfEachType.vcf ├── MismatchTables │ ├── ZeroHomopolymerIndelTable.tsv │ ├── ZeroMismatchTable.tsv │ ├── DefaultMismatchTableWithoutIndels.tsv │ ├── DefaultHomopolymerIndelTable.tsv │ └── DefaultMismatchTable.tsv ├── MotifQualityDropTables │ └── ZeroMotifQualityDropTable.tsv ├── RunInfo │ ├── RunInfo_SingleRead1x1Tiles.xml │ ├── RunInfo_SingleRead2x2Tiles.xml │ ├── RunInfo_PairedReads1x1Tiles.xml │ ├── RunInfo_PairedReads4x4Tiles.xml │ ├── RunInfo_PairedReads2x151Cycles1x1Tiles.xml │ ├── RunInfo_PairedReads2x251Cycles1x1Tiles.xml │ ├── RunInfo_PairedReads2x251Cycles2x2Tiles.xml │ ├── RunInfo_PairedReads2x251Cycles2x64Tiles.xml │ ├── RunInfo_PairedReadsBarcode1x1Tiles.xml │ ├── RunInfo_PairedReadsBarcode1x32Tiles.xml │ └── RunInfo_PairedReadsBarcode8x32Tiles.xml ├── QualityTables │ └── DefaultQQTable.tsv └── GcCoverageFitTables │ └── Homo_sapiens.example1.tsv ├── src ├── c++ │ ├── lib │ │ ├── io │ │ │ ├── cppunit │ │ │ │ ├── RegistryNames.txt │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── testBcl.hh │ │ │ │ └── testVcf.hh │ │ │ ├── CMakeLists.txt │ │ │ ├── Bam.cpp │ │ │ └── BgzfCompressor.cpp │ │ ├── common │ │ │ ├── cppunit │ │ │ │ ├── RegistryNames.txt │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── testLogger.hh │ │ │ │ ├── testExceptions.hh │ │ │ │ ├── testExceptions.cpp │ │ │ │ └── testLogger.cpp │ │ │ ├── CMakeLists.txt │ │ │ ├── Logger.cpp │ │ │ └── FileSystem.cpp │ │ ├── genome │ │ │ ├── cppunit │ │ │ │ ├── RegistryNames.txt │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── testEnrichedFragment.hh │ │ │ │ ├── testEnrichedFragment.cpp │ │ │ │ ├── testVariantList.hh │ │ │ │ └── testVariantList.cpp │ │ │ ├── CMakeLists.txt │ │ │ └── SharedFastaReference.cpp │ │ ├── model │ │ │ ├── cppunit │ │ │ │ ├── RegistryNames.txt │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── testFragment.hh │ │ │ │ ├── testFragment.cpp │ │ │ │ ├── testPhred.hh │ │ │ │ ├── testStructuralVariant.hh │ │ │ │ ├── testGenotype.hh │ │ │ │ ├── testContig.hh │ │ │ │ ├── testIntervalGenerator.hh │ │ │ │ └── testPhred.cpp │ │ │ ├── Phred.cpp │ │ │ ├── Nucleotides.cpp │ │ │ └── CMakeLists.txt │ │ ├── main │ │ │ ├── CMakeLists.txt │ │ │ ├── VcfComparatorOptions.cpp │ │ │ └── RunFolderGeneratorOptions.cpp │ │ └── CMakeLists.txt │ ├── libexec │ │ ├── diffBam │ │ │ ├── CMakeLists.txt │ │ │ ├── diffBam.cpp │ │ │ ├── BamDiffOptions.hh │ │ │ └── BamDiffOptions.cpp │ │ ├── fastaDump │ │ │ ├── CMakeLists.txt │ │ │ ├── fastaDump.cpp │ │ │ └── FastaDumperOptions.hh │ │ ├── analyseBam │ │ │ ├── CMakeLists.txt │ │ │ ├── analyseBam.cpp │ │ │ └── BamAnalyserOptions.hh │ │ ├── analyseFastq │ │ │ ├── CMakeLists.txt │ │ │ ├── analyseFastq.cpp │ │ │ └── FastqAnalyserOptions.hh │ │ ├── simulateSequencer │ │ │ ├── CMakeLists.txt │ │ │ ├── simulateSequencer.cpp │ │ │ └── SequencerSimulator.hh │ │ ├── canonical2segments │ │ │ ├── CMakeLists.txt │ │ │ ├── canonical2segments.cpp │ │ │ ├── CanonicalToSegmentsConverter.hh │ │ │ ├── CanonicalToSegmentsConverterOptions.hh │ │ │ └── CanonicalToSegmentsConverterOptions.cpp │ │ ├── generateHomopolymerIndelVcf │ │ │ ├── CMakeLists.txt │ │ │ ├── generateHomopolymerIndelVcf.cpp │ │ │ ├── HomopolymerIndelVcfGenerator.hh │ │ │ ├── HomopolymerIndelVcfGeneratorOptions.hh │ │ │ └── HomopolymerIndelVcfGeneratorOptions.cpp │ │ └── CMakeLists.txt │ ├── unittest │ │ ├── CMakeLists.txt │ │ ├── RegistryName.hh │ │ ├── check-source.sh │ │ ├── cppunitTest.cpp │ │ └── RegistryName.cpp │ ├── bin │ │ ├── compareVcf.cpp │ │ ├── createRunFolder.cpp │ │ ├── allocateFragments.cpp │ │ ├── CMakeLists.txt │ │ └── applyVariants.cpp │ └── include │ │ ├── common │ │ ├── FileSystem.hh │ │ ├── Semaphore.hh │ │ └── Logger.hh │ │ ├── model │ │ ├── StructuralVariantType.hh │ │ ├── PassFilter.hh │ │ └── Phred.hh │ │ ├── main │ │ ├── VcfComparator.hh │ │ ├── VcfComparatorOptions.hh │ │ ├── RunFolderGenerator.hh │ │ ├── FragmentsAllocator.hh │ │ └── FragmentsAllocatorOptions.hh │ │ ├── genome │ │ ├── TmpFastaReader.hh │ │ └── GcContent.hh │ │ └── io │ │ ├── Fastq.hh │ │ └── RunInfo.hh ├── bash │ ├── test │ │ ├── common.sh │ │ ├── testWholeDir.sh.in │ │ ├── testHaploid.sh.in │ │ ├── testDiploid.sh.in │ │ └── testStress.sh.in │ ├── CMakeLists.txt │ └── libexec │ │ ├── CMakeLists.txt │ │ └── getBclBases.sh ├── CTestConfig.cmake ├── cmake │ ├── CTestCustom.cmake │ ├── preInstall │ │ ├── CMakeLists.txt │ │ ├── copyrightAndChanges │ │ │ └── CMakeLists.txt │ │ └── checkTargetPathsWritable │ │ │ ├── CMakeLists.txt │ │ │ └── checkTargetPathWritable.cmake │ ├── postInstall │ │ └── CMakeLists.txt │ ├── cxxExecutable.cmake │ ├── bootstrap │ │ ├── common.sh │ │ ├── installLibzoo.sh │ │ └── installBoost.sh │ └── libzoo.cmake ├── perl │ ├── lib │ │ └── CMakeLists.txt │ ├── libexec │ │ └── CMakeLists.txt │ └── CMakeLists.txt ├── makefiles │ ├── CMakeLists.txt │ ├── common.mk │ └── assign.mk └── analysis │ └── cpp │ └── add_translocations │ ├── Makefile │ ├── AddTranslocations.h │ └── VcfVariant.h ├── doc └── html │ ├── EAGLE+-+Enhanced+Artificial+Genome+Engine.html │ ├── images │ └── icons │ │ ├── bullet_blue.gif │ │ └── grey_arrow_down.gif │ └── attachments │ ├── 1708520 │ ├── 1638714.png │ ├── 1638715.png │ ├── 1638793.jpg │ ├── 1638795.jpg │ ├── 1638796.jpg │ ├── 1638797.jpg │ ├── 1638798.jpg │ └── 1638799.jpg │ ├── 1708522 │ └── 1638685.png │ ├── 1709470 │ ├── 1638717.png │ ├── 1638719.png │ └── 1638720.jpg │ ├── 1709472 │ ├── 1638721.jpg │ ├── 1638722.jpg │ ├── 1638724.jpg │ └── 1638727.png │ ├── 1709653 │ └── 1638728.jpg │ ├── 1709886 │ ├── 1638730.jpg │ ├── 1638734.png │ ├── 1638735.png │ ├── 1638742.png │ ├── 1638743.png │ ├── 1638744.png │ ├── 1638747.png │ ├── 1638748.png │ └── 1638749.pptx │ ├── 1711055 │ └── 1638829.jpg │ ├── 1711266 │ └── 1638821.jpg │ ├── 1711448 │ └── 1638811.jpg │ ├── 1711471 │ └── 1638813.jpg │ ├── 1712127 │ └── 1638861.jpg │ ├── 1712208 │ ├── 1638877.jpg │ ├── 1638886.jpg │ ├── 1638887.jpg │ └── 1638896.jpg │ ├── 1712626 │ └── 1638898.jpg │ ├── 3834889 │ └── 4128824.jpg │ ├── 3834925 │ ├── 4128825.jpg │ └── 4128826.jpg │ └── 3834936 │ └── 4128827.jpg ├── ChangeLog ├── redist └── beetl-1.0.tar.bz2 ├── validation ├── TestConfig │ ├── test8.mk │ ├── test6.mk │ ├── test7.mk │ ├── test2.mk │ ├── test4.mk │ ├── test5.mk │ ├── testHuman3.mk │ ├── test9.mk │ ├── test3.mk │ ├── testHuman1.mk │ ├── test1.mk │ └── testHuman2.mk ├── Makefile.in └── CMakeLists.txt ├── LICENSE └── README.md /data/tests/Stress.txt: -------------------------------------------------------------------------------- 1 | snp 2 | -------------------------------------------------------------------------------- /data/Genomes/acgt/chr1.fa.fai: -------------------------------------------------------------------------------- 1 | chr1 280 6 70 71 2 | -------------------------------------------------------------------------------- /data/Genomes/acgt/chr2.fa.fai: -------------------------------------------------------------------------------- 1 | chr2 280 6 70 71 2 | -------------------------------------------------------------------------------- /data/Genomes/acgt/chr3.fa.fai: -------------------------------------------------------------------------------- 1 | chr3 280 6 70 71 2 | -------------------------------------------------------------------------------- /data/Genomes/acgt/chr4.fa.fai: -------------------------------------------------------------------------------- 1 | chr4 280 6 70 71 2 | -------------------------------------------------------------------------------- /src/c++/lib/io/cppunit/RegistryNames.txt: -------------------------------------------------------------------------------- 1 | Bcl 2 | Vcf 3 | -------------------------------------------------------------------------------- /doc/html/EAGLE+-+Enhanced+Artificial+Genome+Engine.html: -------------------------------------------------------------------------------- 1 | index.html -------------------------------------------------------------------------------- /src/c++/lib/common/cppunit/RegistryNames.txt: -------------------------------------------------------------------------------- 1 | Exceptions 2 | Logger -------------------------------------------------------------------------------- /ChangeLog: -------------------------------------------------------------------------------- 1 | 2014-08-28 First public release of EAGLE Version 2.0 2 | -------------------------------------------------------------------------------- /data/tests/applyVariants.txt: -------------------------------------------------------------------------------- 1 | Stress 2 | Haploid 3 | Diploid 4 | WholeDir 5 | -------------------------------------------------------------------------------- /src/c++/lib/genome/cppunit/RegistryNames.txt: -------------------------------------------------------------------------------- 1 | VariantList 2 | EnrichedFragment 3 | -------------------------------------------------------------------------------- /redist/beetl-1.0.tar.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sequencing/EAGLE/HEAD/redist/beetl-1.0.tar.bz2 -------------------------------------------------------------------------------- /data/Variants/OneAtTelomere.vcf: -------------------------------------------------------------------------------- 1 | #CHROM POS ID REF ALT QUAL FILT INFO 2 | chr 1 . G T 0 PASS SVTYPE=SNP 3 | -------------------------------------------------------------------------------- /data/MismatchTables/ZeroHomopolymerIndelTable.tsv: -------------------------------------------------------------------------------- 1 | #homopolymerSize deletionProb insertionProb 2 | 0 0.0 0.0 3 | -------------------------------------------------------------------------------- /data/Genomes/acgt.fa.fai: -------------------------------------------------------------------------------- 1 | chr1 280 6 70 71 2 | chr2 280 296 70 71 3 | chr3 280 586 70 71 4 | chr4 280 876 70 71 5 | -------------------------------------------------------------------------------- /data/tests/WholeDir.txt: -------------------------------------------------------------------------------- 1 | insertion 2 | deletion 3 | indel 4 | transloc_left 5 | transloc_right 6 | reversed_events 7 | -------------------------------------------------------------------------------- /data/Variants/None.vcf: -------------------------------------------------------------------------------- 1 | #CHROM POS ID REF ALT QUAL FILT INFO 2 | # This file is intentionally empty (test with no variants) 3 | -------------------------------------------------------------------------------- /data/tests/expectedOutputs/full_deletion.fa: -------------------------------------------------------------------------------- 1 | >chr1_allele1 2 | A 3 | >chr2_allele1 4 | C 5 | >chr3_allele1 6 | >chr4_allele1 7 | -------------------------------------------------------------------------------- /doc/html/images/icons/bullet_blue.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sequencing/EAGLE/HEAD/doc/html/images/icons/bullet_blue.gif -------------------------------------------------------------------------------- /doc/html/attachments/1708520/1638714.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sequencing/EAGLE/HEAD/doc/html/attachments/1708520/1638714.png -------------------------------------------------------------------------------- /doc/html/attachments/1708520/1638715.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sequencing/EAGLE/HEAD/doc/html/attachments/1708520/1638715.png -------------------------------------------------------------------------------- /doc/html/attachments/1708520/1638793.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sequencing/EAGLE/HEAD/doc/html/attachments/1708520/1638793.jpg -------------------------------------------------------------------------------- /doc/html/attachments/1708520/1638795.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sequencing/EAGLE/HEAD/doc/html/attachments/1708520/1638795.jpg -------------------------------------------------------------------------------- /doc/html/attachments/1708520/1638796.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sequencing/EAGLE/HEAD/doc/html/attachments/1708520/1638796.jpg -------------------------------------------------------------------------------- /doc/html/attachments/1708520/1638797.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sequencing/EAGLE/HEAD/doc/html/attachments/1708520/1638797.jpg -------------------------------------------------------------------------------- /doc/html/attachments/1708520/1638798.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sequencing/EAGLE/HEAD/doc/html/attachments/1708520/1638798.jpg -------------------------------------------------------------------------------- /doc/html/attachments/1708520/1638799.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sequencing/EAGLE/HEAD/doc/html/attachments/1708520/1638799.jpg -------------------------------------------------------------------------------- /doc/html/attachments/1708522/1638685.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sequencing/EAGLE/HEAD/doc/html/attachments/1708522/1638685.png -------------------------------------------------------------------------------- /doc/html/attachments/1709470/1638717.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sequencing/EAGLE/HEAD/doc/html/attachments/1709470/1638717.png -------------------------------------------------------------------------------- /doc/html/attachments/1709470/1638719.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sequencing/EAGLE/HEAD/doc/html/attachments/1709470/1638719.png -------------------------------------------------------------------------------- /doc/html/attachments/1709470/1638720.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sequencing/EAGLE/HEAD/doc/html/attachments/1709470/1638720.jpg -------------------------------------------------------------------------------- /doc/html/attachments/1709472/1638721.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sequencing/EAGLE/HEAD/doc/html/attachments/1709472/1638721.jpg -------------------------------------------------------------------------------- /doc/html/attachments/1709472/1638722.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sequencing/EAGLE/HEAD/doc/html/attachments/1709472/1638722.jpg -------------------------------------------------------------------------------- /doc/html/attachments/1709472/1638724.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sequencing/EAGLE/HEAD/doc/html/attachments/1709472/1638724.jpg -------------------------------------------------------------------------------- /doc/html/attachments/1709472/1638727.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sequencing/EAGLE/HEAD/doc/html/attachments/1709472/1638727.png -------------------------------------------------------------------------------- /doc/html/attachments/1709653/1638728.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sequencing/EAGLE/HEAD/doc/html/attachments/1709653/1638728.jpg -------------------------------------------------------------------------------- /doc/html/attachments/1709886/1638730.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sequencing/EAGLE/HEAD/doc/html/attachments/1709886/1638730.jpg -------------------------------------------------------------------------------- /doc/html/attachments/1709886/1638734.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sequencing/EAGLE/HEAD/doc/html/attachments/1709886/1638734.png -------------------------------------------------------------------------------- /doc/html/attachments/1709886/1638735.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sequencing/EAGLE/HEAD/doc/html/attachments/1709886/1638735.png -------------------------------------------------------------------------------- /doc/html/attachments/1709886/1638742.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sequencing/EAGLE/HEAD/doc/html/attachments/1709886/1638742.png -------------------------------------------------------------------------------- /doc/html/attachments/1709886/1638743.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sequencing/EAGLE/HEAD/doc/html/attachments/1709886/1638743.png -------------------------------------------------------------------------------- /doc/html/attachments/1709886/1638744.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sequencing/EAGLE/HEAD/doc/html/attachments/1709886/1638744.png -------------------------------------------------------------------------------- /doc/html/attachments/1709886/1638747.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sequencing/EAGLE/HEAD/doc/html/attachments/1709886/1638747.png -------------------------------------------------------------------------------- /doc/html/attachments/1709886/1638748.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sequencing/EAGLE/HEAD/doc/html/attachments/1709886/1638748.png -------------------------------------------------------------------------------- /doc/html/attachments/1711055/1638829.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sequencing/EAGLE/HEAD/doc/html/attachments/1711055/1638829.jpg -------------------------------------------------------------------------------- /doc/html/attachments/1711266/1638821.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sequencing/EAGLE/HEAD/doc/html/attachments/1711266/1638821.jpg -------------------------------------------------------------------------------- /doc/html/attachments/1711448/1638811.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sequencing/EAGLE/HEAD/doc/html/attachments/1711448/1638811.jpg -------------------------------------------------------------------------------- /doc/html/attachments/1711471/1638813.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sequencing/EAGLE/HEAD/doc/html/attachments/1711471/1638813.jpg -------------------------------------------------------------------------------- /doc/html/attachments/1712127/1638861.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sequencing/EAGLE/HEAD/doc/html/attachments/1712127/1638861.jpg -------------------------------------------------------------------------------- /doc/html/attachments/1712208/1638877.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sequencing/EAGLE/HEAD/doc/html/attachments/1712208/1638877.jpg -------------------------------------------------------------------------------- /doc/html/attachments/1712208/1638886.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sequencing/EAGLE/HEAD/doc/html/attachments/1712208/1638886.jpg -------------------------------------------------------------------------------- /doc/html/attachments/1712208/1638887.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sequencing/EAGLE/HEAD/doc/html/attachments/1712208/1638887.jpg -------------------------------------------------------------------------------- /doc/html/attachments/1712208/1638896.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sequencing/EAGLE/HEAD/doc/html/attachments/1712208/1638896.jpg -------------------------------------------------------------------------------- /doc/html/attachments/1712626/1638898.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sequencing/EAGLE/HEAD/doc/html/attachments/1712626/1638898.jpg -------------------------------------------------------------------------------- /doc/html/attachments/3834889/4128824.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sequencing/EAGLE/HEAD/doc/html/attachments/3834889/4128824.jpg -------------------------------------------------------------------------------- /doc/html/attachments/3834925/4128825.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sequencing/EAGLE/HEAD/doc/html/attachments/3834925/4128825.jpg -------------------------------------------------------------------------------- /doc/html/attachments/3834925/4128826.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sequencing/EAGLE/HEAD/doc/html/attachments/3834925/4128826.jpg -------------------------------------------------------------------------------- /doc/html/attachments/3834936/4128827.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sequencing/EAGLE/HEAD/doc/html/attachments/3834936/4128827.jpg -------------------------------------------------------------------------------- /data/MotifQualityDropTables/ZeroMotifQualityDropTable.tsv: -------------------------------------------------------------------------------- 1 | #Kmer repeatCount meanQualityAfter quality histogram pairs {quality:count} 2 | -------------------------------------------------------------------------------- /doc/html/attachments/1709886/1638749.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sequencing/EAGLE/HEAD/doc/html/attachments/1709886/1638749.pptx -------------------------------------------------------------------------------- /doc/html/images/icons/grey_arrow_down.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sequencing/EAGLE/HEAD/doc/html/images/icons/grey_arrow_down.gif -------------------------------------------------------------------------------- /src/c++/lib/model/cppunit/RegistryNames.txt: -------------------------------------------------------------------------------- 1 | Contig 2 | StructuralVariant 3 | Genotype 4 | IntervalGenerator 5 | Fragment 6 | Phred 7 | -------------------------------------------------------------------------------- /data/tests/givenInputs/large_deletion.vcf: -------------------------------------------------------------------------------- 1 | #CHROM POS ID REF ALT QUAL FILT INFO 2 | chr1 20 . A A[chr1:261[ 0 PASS SVTYPE=DEL 3 | chr1 261 . T ]chr1:20]T 0 PASS SVTYPE=DEL 4 | -------------------------------------------------------------------------------- /src/bash/test/common.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -o nounset 3 | 4 | catcher() 5 | { 6 | echo "Error detected" 7 | exit 1 8 | } 9 | trap catcher ERR 10 | trap catcher SIGSEGV 11 | -------------------------------------------------------------------------------- /data/tests/Haploid.txt: -------------------------------------------------------------------------------- 1 | insertion 2 | deletion 3 | indel 4 | large_deletion 5 | transloc_left 6 | transloc_right 7 | reversed_events 8 | full_deletion 9 | inversion 10 | duplication 11 | -------------------------------------------------------------------------------- /data/MismatchTables/ZeroMismatchTable.tsv: -------------------------------------------------------------------------------- 1 | # x x->A x->C x->G x->T del x->insertedA x->insertedC x->insertedG x->insertedT 2 | A 1 0 0 0 0 0 0 0 0 3 | C 0 1 0 0 0 0 0 0 0 4 | G 0 0 1 0 0 0 0 0 0 5 | T 0 0 0 1 0 0 0 0 0 6 | -------------------------------------------------------------------------------- /data/tests/givenInputs/indel.vcf: -------------------------------------------------------------------------------- 1 | #CHROM POS ID REF ALT QUAL FILT INFO 2 | chr1 15 . AAAAAA ACCCCC 0 PASS SVTYPE=INDEL 3 | chr2 15 . CCCCCCCCC CTTTTT 0 PASS SVTYPE=INDEL 4 | chr3 15 . GGGGGG GAAAAAAAA 0 PASS SVTYPE=INDEL 5 | -------------------------------------------------------------------------------- /data/tests/Diploid.txt: -------------------------------------------------------------------------------- 1 | insertion 2 | deletion 3 | indel 4 | large_deletion 5 | transloc_left 6 | transloc_right 7 | reversed_events 8 | full_deletion 9 | duplication 10 | zygosity 11 | conflict_deletion_translocation 12 | -------------------------------------------------------------------------------- /data/MismatchTables/DefaultMismatchTableWithoutIndels.tsv: -------------------------------------------------------------------------------- 1 | # x x->A x->C x->G x->T del x->insertedA x->insertedC x->insertedG x->insertedT 2 | A 0 599620 781362 540031 0 0 0 0 0 3 | C 501568 0 395190 638686 0 0 0 0 0 4 | G 631820 405798 0 482292 0 0 0 0 0 5 | T 699284 878566 756130 0 0 0 0 0 0 6 | -------------------------------------------------------------------------------- /data/Variants/OneOfEachType.vcf: -------------------------------------------------------------------------------- 1 | #CHROM POS ID REF ALT QUAL FILT INFO 2 | chr 1000 . A ACGTACGTACGTACGT 0 PASS SVTYPE=INS 3 | chr 2000 . C T 0 PASS SVTYPE=SNP 4 | chr 4000 . GCGAACGAG G 0 PASS SVTYPE=DEL 5 | chr 5000 . C C[chr:10000[ 0 PASS SVTYPE=DEL 6 | chr 10000 . T ]chr:5000]T 0 PASS SVTYPE=DEL 7 | -------------------------------------------------------------------------------- /data/Genomes/acgt/chr1.fa: -------------------------------------------------------------------------------- 1 | >chr1 2 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 3 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 4 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 5 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 6 | -------------------------------------------------------------------------------- /data/Genomes/acgt/chr2.fa: -------------------------------------------------------------------------------- 1 | >chr2 2 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 3 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 4 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 5 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 6 | -------------------------------------------------------------------------------- /data/Genomes/acgt/chr3.fa: -------------------------------------------------------------------------------- 1 | >chr3 2 | GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 3 | GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 4 | GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 5 | GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 6 | -------------------------------------------------------------------------------- /data/Genomes/acgt/chr4.fa: -------------------------------------------------------------------------------- 1 | >chr4 2 | TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 3 | TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 4 | TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 5 | TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 6 | -------------------------------------------------------------------------------- /data/Genomes/acgt/genome_size.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /data/MismatchTables/DefaultHomopolymerIndelTable.tsv: -------------------------------------------------------------------------------- 1 | #homopolymerSize deletionProb insertionProb 2 | 0 0.0 0.0 3 | 1 0.0 0.0 4 | 2 0.00001 0.000007 5 | 3 0.00001 0.000006 6 | 4 0.000006 0.000014 7 | 5 0.000024 0.000013 8 | 6 0.00014 0.00018 9 | 7 0.00070 0.00066 10 | 8 0.00068 0.00127 11 | 9 0.0015 0.0014 12 | 10 0.0020 0.0016 13 | 11 0.0033 0.0025 14 | -------------------------------------------------------------------------------- /data/tests/givenInputs/conflict_deletion_translocation.vcf: -------------------------------------------------------------------------------- 1 | #CHROM POS ID REF ALT QUAL FILT INFO 2 | # deletion 60-95 3 | chr1 60 . AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A 0 PASS SVTYPE=DEL 4 | # inversion 71-140 5 | chr1 70 . A A]chr1:140] 0 PASS SVTYPE=BND 6 | chr1 140 . A A]chr1:70] 0 PASS SVTYPE=BND 7 | chr1 71 . T [chr1:141[T 0 PASS SVTYPE=BND 8 | chr1 141 . T [chr1:71[T 0 PASS SVTYPE=BND 9 | -------------------------------------------------------------------------------- /data/tests/givenInputs/duplication.vcf: -------------------------------------------------------------------------------- 1 | #CHROM POS ID REF ALT QUAL FILT INFO 2 | # Tandem duplication 3 | chr1 140 . A A[chr1:71[ 0 PASS SVTYPE=BND 4 | chr1 71 . A ]chr1:140]A 0 PASS SVTYPE=BND 5 | # Tandem triplication (Copy Number=3 on allele 1) 6 | chr2 140 . C C[chr2:71[ 0 PASS SVTYPE=BND 7 | chr2 71 . C ]chr2:140]C 0 PASS SVTYPE=BND 8 | chr2 140 . C C[chr2:71[ 0 PASS SVTYPE=BND 9 | chr2 71 . C ]chr2:140]C 0 PASS SVTYPE=BND 10 | -------------------------------------------------------------------------------- /data/tests/givenInputs/reversed_events.vcf: -------------------------------------------------------------------------------- 1 | #CHROM POS ID REF ALT QUAL FILT INFO 2 | chr1 140 . A A]chr2:140] 0 PASS SVTYPE=BND 3 | chr2 140 . C C]chr1:140] 0 PASS SVTYPE=BND 4 | chr1 141 . A [chr2:141[A 0 PASS SVTYPE=BND 5 | chr2 141 . C [chr1:141[C 0 PASS SVTYPE=BND 6 | chr2 35 . CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C 0 PASS SVTYPE=DEL 7 | chr2 30 . C CTATTT 0 PASS SVTYPE=INS 8 | chr2 20 . C A 0 PASS SVTYPE=SNP 9 | chr2 10 . CCCCCC CTATTT 0 PASS SVTYPE=INDEL 10 | -------------------------------------------------------------------------------- /data/tests/givenInputs/zygosity.vcf: -------------------------------------------------------------------------------- 1 | #CHROM POS ID REF ALT QUAL FILT INFO FORMAT NA18507 2 | chr1 10 . A AGGGGG 0 PASS SVTYPE=INS GT:GQ 0/1:99 3 | chr1 20 . A T 0 PASS SVTYPE=SNP GT:GQ 1/0:99 4 | chr1 30 . AAAAAA A 0 PASS SVTYPE=DEL GT:GQ 0/1:99 5 | # 6 | chr2 10 . C CGGGGG 0 PASS SVTYPE=INS GT:GQ 1/1:99 7 | chr2 20 . C T 0 PASS SVTYPE=SNP GT:GQ 1/1:99 8 | chr2 30 . CCCCCC C 0 PASS SVTYPE=DEL GT:GQ 1/1:99 9 | # 10 | chr3 10 . .GG .G,.T . PASS SVTYPE=INDEL GT 1/2 11 | 12 | -------------------------------------------------------------------------------- /data/tests/givenInputs/inversion.vcf: -------------------------------------------------------------------------------- 1 | #CHROM POS ID REF ALT QUAL FILT INFO 2 | chr1 70 . A A]chr1:140] 0 PASS SVTYPE=BND 3 | chr1 140 . A A]chr1:70] 0 PASS SVTYPE=BND 4 | chr1 71 . T [chr1:141[T 0 PASS SVTYPE=BND 5 | chr1 141 . T [chr1:71[T 0 PASS SVTYPE=BND 6 | # flip chr2:71 to its complement: 7 | chr2 70 . C C]chr2:71] 0 PASS SVTYPE=BND 8 | chr2 71 . C C]chr2:70] 0 PASS SVTYPE=BND 9 | chr2 71 . G [chr2:72[G 0 PASS SVTYPE=BND 10 | chr2 72 . G [chr2:71[G 0 PASS SVTYPE=BND 11 | -------------------------------------------------------------------------------- /data/RunInfo/RunInfo_SingleRead1x1Tiles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | FC1234TST 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /data/RunInfo/RunInfo_SingleRead2x2Tiles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | FC1234TST 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /data/tests/givenInputs/snp.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env perl 2 | use strict; 3 | use warnings "all"; 4 | 5 | print "#CHROM\tPOS\tID\tREF\tALT\tQUAL\tFILT\tINFO\n"; 6 | my @chr = (['chr1','A'],['chr2','C'],['chr3','G'],['chr4','T']); 7 | for (my $i = 0; $i < 4; $i++) 8 | { 9 | foreach my $pos (1..280) 10 | { 11 | my $offset = ($pos - 1) % 4; 12 | print join("\t",( $chr[$i][0], $pos, ".", $chr[$i][1], $chr[$offset][1], "0", "PASS", "SVTYPE=SNP\n" )) 13 | if ($offset != $i); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /data/RunInfo/RunInfo_PairedReads1x1Tiles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | FC1234TST 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /data/RunInfo/RunInfo_PairedReads4x4Tiles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | FC1234TST 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/c++/lib/model/Phred.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | ** 7 | ** \description Pre-computed Phred quality scores 8 | ** 9 | ** \author Lilian Janin 10 | **/ 11 | 12 | #include "model/Phred.hh" 13 | 14 | namespace eagle 15 | { 16 | namespace model 17 | { 18 | 19 | std::vector< double > Phred::qualityToProbability_; 20 | 21 | 22 | } // namespace model 23 | } // namespace eagle 24 | -------------------------------------------------------------------------------- /data/RunInfo/RunInfo_PairedReads2x151Cycles1x1Tiles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | FC1234TST 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /data/RunInfo/RunInfo_PairedReads2x251Cycles1x1Tiles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | FC1234TST 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /data/RunInfo/RunInfo_PairedReads2x251Cycles2x2Tiles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | FC1234TST 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/c++/lib/io/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## Copyright (c) 2014 Illumina, Inc. 4 | ## 5 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 6 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 7 | ## 8 | ## file CMakeLists.txt 9 | ## 10 | ## Configuration file for the lib/io subfolder 11 | ## 12 | ## author Mauricio Varea 13 | ## 14 | ################################################################################ 15 | 16 | include(${EAGLE_CXX_LIBRARY_CMAKE}) 17 | -------------------------------------------------------------------------------- /src/c++/lib/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## Copyright (c) 2014 Illumina, Inc. 4 | ## 5 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 6 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 7 | ## 8 | ## file CMakeLists.txt 9 | ## 10 | ## Configuration file for the lib/main subfolder 11 | ## 12 | ## author Lilian Janin 13 | ## 14 | ################################################################################ 15 | 16 | include(${EAGLE_CXX_LIBRARY_CMAKE}) 17 | -------------------------------------------------------------------------------- /src/c++/lib/model/Nucleotides.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | ** 7 | ** \dsecription Basic functionality for base manipulation. 8 | ** 9 | ** \author Mauricio Varea 10 | **/ 11 | 12 | #include "model/Nucleotides.hh" 13 | 14 | namespace eagle 15 | { 16 | namespace model 17 | { 18 | 19 | std::vector< std::vector > IUPAC::encode; 20 | 21 | 22 | } // namespace model 23 | } // namespace eagle 24 | -------------------------------------------------------------------------------- /src/CTestConfig.cmake: -------------------------------------------------------------------------------- 1 | set(CTEST_PROJECT_NAME "EAGLE") 2 | 3 | set(MEMORYCHECK_COMMAND_OPTIONS "--trace-children=yes") 4 | 5 | set(CTEST_NIGHTLY_START_TIME "01:00:00 UTC") 6 | set(CTEST_DROP_METHOD "http") 7 | #set(CTEST_DROP_SITE "ukch-cdash01.chuk.illumina.com") 8 | set(CTEST_DROP_SITE "10.46.146.88") # <- Come's machine 9 | #set (CTEST_DROP_LOCATION "cgi-bin/HTTPUploadDartFile.cgi") 10 | set (CTEST_DROP_LOCATION "/CDash/submit.php?project=EAGLE") 11 | set(CTEST_DROP_SITE_CDASH TRUE) 12 | 13 | #set (CTEST_TRIGGER_SITE 14 | # "http://${DROP_SITE}/cgi-bin/Submit-vtk-TestingResults.pl") 15 | -------------------------------------------------------------------------------- /src/c++/lib/common/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## Copyright (c) 2014 Illumina, Inc. 4 | ## 5 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 6 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 7 | ## 8 | ## file CMakeLists.txt 9 | ## 10 | ## Configuration file for the c++/common subfolder 11 | ## 12 | ## author Mauricio Varea 13 | ## 14 | ################################################################################ 15 | 16 | include(${EAGLE_CXX_LIBRARY_CMAKE}) 17 | -------------------------------------------------------------------------------- /src/c++/lib/genome/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## Copyright (c) 2014 Illumina, Inc. 4 | ## 5 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 6 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 7 | ## 8 | ## file CMakeLists.txt 9 | ## 10 | ## Configuration file for the lib/genome subfolder 11 | ## 12 | ## author Mauricio Varea 13 | ## 14 | ################################################################################ 15 | 16 | include(${EAGLE_CXX_LIBRARY_CMAKE}) 17 | -------------------------------------------------------------------------------- /src/c++/lib/io/cppunit/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## Copyright (c) 2014 Illumina, Inc. 4 | ## 5 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 6 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 7 | ## 8 | ## file CMakeLists.txt 9 | ## 10 | ## Configuration file for any cppunit subfolder 11 | ## 12 | ## author Mauricio Varea 13 | ## 14 | ################################################################################ 15 | 16 | include(${EAGLE_CPPUNIT_CMAKE}) 17 | -------------------------------------------------------------------------------- /src/c++/lib/model/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## Copyright (c) 2014 Illumina, Inc. 4 | ## 5 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 6 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 7 | ## 8 | ## file CMakeLists.txt 9 | ## 10 | ## Configuration file for the lib/model subfolder 11 | ## 12 | ## author Mauricio Varea 13 | ## 14 | ################################################################################ 15 | 16 | include(${EAGLE_CXX_LIBRARY_CMAKE}) 17 | -------------------------------------------------------------------------------- /src/c++/lib/model/cppunit/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## Copyright (c) 2014 Illumina, Inc. 4 | ## 5 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 6 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 7 | ## 8 | ## file CMakeLists.txt 9 | ## 10 | ## Configuration file for any cppunit subfolder 11 | ## 12 | ## author Mauricio Varea 13 | ## 14 | ################################################################################ 15 | 16 | include(${EAGLE_CPPUNIT_CMAKE}) 17 | -------------------------------------------------------------------------------- /src/c++/lib/common/cppunit/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## Copyright (c) 2014 Illumina, Inc. 4 | ## 5 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 6 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 7 | ## 8 | ## file CMakeLists.txt 9 | ## 10 | ## Configuration file for any cppunit subfolder 11 | ## 12 | ## author Mauricio Varea 13 | ## 14 | ################################################################################ 15 | 16 | include(${EAGLE_CPPUNIT_CMAKE}) 17 | -------------------------------------------------------------------------------- /src/c++/lib/genome/cppunit/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## Copyright (c) 2014 Illumina, Inc. 4 | ## 5 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 6 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 7 | ## 8 | ## file CMakeLists.txt 9 | ## 10 | ## Configuration file for any cppunit subfolder 11 | ## 12 | ## author Mauricio Varea 13 | ## 14 | ################################################################################ 15 | 16 | include(${EAGLE_CPPUNIT_CMAKE}) 17 | -------------------------------------------------------------------------------- /src/cmake/CTestCustom.cmake: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## Copyright (c) 2014 Illumina, Inc. 4 | ## 5 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 6 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 7 | ## 8 | ## file CTestCustom.ctest 9 | ## 10 | ## CMake configuration file for a validation framework 11 | ## 12 | ## authors: Mauricio Varea 13 | ## 14 | ################################################################################ 15 | 16 | #set( CTEST_CUSTOM_POST_TEST "echo Job Done" ) -------------------------------------------------------------------------------- /src/c++/libexec/diffBam/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## Copyright (c) 2014 Illumina, Inc. 4 | ## 5 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 6 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 7 | ## 8 | ## file CMakeLists.txt 9 | ## 10 | ## Configuration file for the libexec/analyseBam subfolder 11 | ## 12 | ## author Mauricio Varea 13 | ## 14 | ################################################################################ 15 | 16 | include(${EAGLE_CXX_LIBEXEC_CMAKE}) 17 | -------------------------------------------------------------------------------- /src/c++/libexec/fastaDump/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## Copyright (c) 2014 Illumina, Inc. 4 | ## 5 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 6 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 7 | ## 8 | ## file CMakeLists.txt 9 | ## 10 | ## Configuration file for the libexec/fastaDump subfolder 11 | ## 12 | ## author Mauricio Varea 13 | ## 14 | ################################################################################ 15 | 16 | include(${EAGLE_CXX_LIBEXEC_CMAKE}) 17 | -------------------------------------------------------------------------------- /src/c++/libexec/analyseBam/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## Copyright (c) 2014 Illumina, Inc. 4 | ## 5 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 6 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 7 | ## 8 | ## file CMakeLists.txt 9 | ## 10 | ## Configuration file for the libexec/analyseBam subfolder 11 | ## 12 | ## author Mauricio Varea 13 | ## 14 | ################################################################################ 15 | 16 | include(${EAGLE_CXX_LIBEXEC_CMAKE}) 17 | -------------------------------------------------------------------------------- /src/c++/libexec/analyseFastq/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## Copyright (c) 2018 Illumina, Inc. 4 | ## 5 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 6 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 7 | ## 8 | ## file CMakeLists.txt 9 | ## 10 | ## Configuration file for the libexec/analyseFastq subfolder 11 | ## 12 | ## author Lilian Janin 13 | ## 14 | ################################################################################ 15 | 16 | include(${EAGLE_CXX_LIBEXEC_CMAKE}) 17 | -------------------------------------------------------------------------------- /data/MismatchTables/DefaultMismatchTable.tsv: -------------------------------------------------------------------------------- 1 | # x x->A x->C x->G x->T del x->insertedA x->insertedC x->insertedG x->insertedT 2 | A 0 599620 781362 540031 48416 9754 3402.25 3381.75 9080 3 | C 501568 0 395190 638686 16378 9754 3402.25 3381.75 9080 4 | G 631820 405798 0 482292 17251 9754 3402.25 3381.75 9080 5 | T 699284 878566 756130 0 44068 9754 3402.25 3381.75 9080 6 | # entries not processed: 7 | A->N A N 54979 8 | C->N C N 35769 9 | G->N G N 34525 10 | N->A N A 23033 11 | N->C N C 18890 12 | N->G N G 17332 13 | N->N N N 0 14 | N->T N T 29323 15 | N->_ N _ 9 16 | T->N T N 56195 17 | _->N _ N 13 18 | _->_ _ _ 0 19 | -------------------------------------------------------------------------------- /src/c++/libexec/simulateSequencer/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## Copyright (c) 2014 Illumina, Inc. 4 | ## 5 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 6 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 7 | ## 8 | ## file CMakeLists.txt 9 | ## 10 | ## Configuration file for the libexec/simulateSequencer subfolder 11 | ## 12 | ## author Mauricio Varea 13 | ## 14 | ################################################################################ 15 | 16 | include(${EAGLE_CXX_LIBEXEC_CMAKE}) 17 | -------------------------------------------------------------------------------- /src/c++/libexec/canonical2segments/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## Copyright (c) 2014 Illumina, Inc. 4 | ## 5 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 6 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 7 | ## 8 | ## file CMakeLists.txt 9 | ## 10 | ## Configuration file for the libexec/simulateSequencer subfolder 11 | ## 12 | ## author Mauricio Varea 13 | ## 14 | ################################################################################ 15 | 16 | include(${EAGLE_CXX_LIBEXEC_CMAKE}) 17 | -------------------------------------------------------------------------------- /data/tests/givenInputs/full_deletion.vcf: -------------------------------------------------------------------------------- 1 | #CHROM POS ID REF ALT QUAL FILT INFO 2 | chr1 1 . A A[chr1:281[ 0 PASS SVTYPE=DEL 3 | chr1 281 . N ]chr1:1]N 0 PASS SVTYPE=DEL 4 | chr2 0 . N N[chr2:280[ 0 PASS SVTYPE=DEL 5 | chr2 280 . G ]chr2:0]G 0 PASS SVTYPE=DEL 6 | chr3 0 . N N[chr3:281[ 0 PASS SVTYPE=DEL 7 | chr3 281 . N ]chr3:0]N 0 PASS SVTYPE=DEL 8 | chr4 0 . NTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT N 0 PASS SVTYPE=DEL 9 | -------------------------------------------------------------------------------- /data/tests/givenInputs/transloc_left.vcf: -------------------------------------------------------------------------------- 1 | #CHROM POS ID REF ALT QUAL FILT INFO 2 | chr1 70 . A A]chr2:70] 0 PASS SVTYPE=BND 3 | chr2 70 . C C]chr1:70] 0 PASS SVTYPE=BND 4 | chr1 71 . A [chr2:71[A 0 PASS SVTYPE=BND 5 | chr2 71 . C [chr1:71[C 0 PASS SVTYPE=BND 6 | # 7 | chr2 140 . C C]chr3:140] 0 PASS SVTYPE=BND 8 | chr3 140 . G G]chr2:140] 0 PASS SVTYPE=BND 9 | chr2 141 . C [chr3:141[C 0 PASS SVTYPE=BND 10 | chr3 141 . G [chr2:141[G 0 PASS SVTYPE=BND 11 | # 12 | chr3 210 . G G]chr4:210] 0 PASS SVTYPE=BND 13 | chr4 210 . T T]chr3:210] 0 PASS SVTYPE=BND 14 | chr3 211 . G [chr4:211[G 0 PASS SVTYPE=BND 15 | chr4 211 . T [chr3:211[T 0 PASS SVTYPE=BND 16 | -------------------------------------------------------------------------------- /data/tests/givenInputs/transloc_right.vcf: -------------------------------------------------------------------------------- 1 | #CHROM POS ID REF ALT QUAL FILT INFO 2 | chr1 70 . A A[chr2:71[ 0 PASS SVTYPE=BND 3 | chr2 71 . C ]chr1:70]C 0 PASS SVTYPE=BND 4 | chr1 71 . A ]chr2:70]A 0 PASS SVTYPE=BND 5 | chr2 70 . C C[chr1:71[ 0 PASS SVTYPE=BND 6 | # 7 | chr2 140 . C C[chr3:141[ 0 PASS SVTYPE=BND 8 | chr3 141 . G ]chr2:140]G 0 PASS SVTYPE=BND 9 | chr2 141 . C ]chr3:140]C 0 PASS SVTYPE=BND 10 | chr3 140 . G G[chr2:141[ 0 PASS SVTYPE=BND 11 | # 12 | chr3 210 . G G[chr4:211[ 0 PASS SVTYPE=BND 13 | chr4 211 . T ]chr3:210]T 0 PASS SVTYPE=BND 14 | chr3 211 . G ]chr4:210]G 0 PASS SVTYPE=BND 15 | chr4 210 . T T[chr3:211[ 0 PASS SVTYPE=BND 16 | -------------------------------------------------------------------------------- /src/c++/libexec/generateHomopolymerIndelVcf/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## Copyright (c) 2014 Illumina, Inc. 4 | ## 5 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 6 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 7 | ## 8 | ## file CMakeLists.txt 9 | ## 10 | ## Configuration file for the libexec/generateHomopolymerIndelVcf subfolder 11 | ## 12 | ## author Mauricio Varea 13 | ## 14 | ################################################################################ 15 | 16 | include(${EAGLE_CXX_LIBEXEC_CMAKE}) 17 | -------------------------------------------------------------------------------- /data/RunInfo/RunInfo_PairedReads2x251Cycles2x64Tiles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | H04ADADXX 5 | HSQ868 6 | 121221 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/c++/libexec/diffBam/diffBam.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | ** 7 | ** \author Lilian Janin 8 | **/ 9 | 10 | #include "BamDiffOptions.hh" 11 | #include "BamDiff.hh" 12 | 13 | 14 | static void bamDiffLauncher(const eagle::main::BamDiffOptions &options) 15 | { 16 | eagle::main::BamDiff bamDiff( options ); 17 | bamDiff.run(); 18 | } 19 | 20 | 21 | int main(int argc, char *argv[]) 22 | { 23 | eagle::common::run(bamDiffLauncher, argc, argv); 24 | } 25 | -------------------------------------------------------------------------------- /src/cmake/preInstall/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## Copyright (c) 2014 Illumina, Inc. 4 | ## 5 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 6 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 7 | ## 8 | ## file CMakeLists.txt 9 | ## 10 | ## Configuration file for the preInstall subdirectory 11 | ## 12 | ## author Roman Petrovski 13 | ## 14 | ################################################################################ 15 | 16 | add_subdirectory (checkTargetPathsWritable) 17 | add_subdirectory (copyrightAndChanges) 18 | -------------------------------------------------------------------------------- /data/RunInfo/RunInfo_PairedReadsBarcode1x1Tiles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | FC1234TST 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /data/RunInfo/RunInfo_PairedReadsBarcode1x32Tiles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | FC1234TST 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /data/RunInfo/RunInfo_PairedReadsBarcode8x32Tiles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | FC1234TST 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/c++/unittest/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## Copyright (c) 2014 Illumina, Inc. 4 | ## 5 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 6 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 7 | ## 8 | ## file CMakeLists.txt 9 | ## 10 | ## Configuration file for the c++/unittest subfolder 11 | ## 12 | ## author Come Raczy 13 | ## 14 | ################################################################################ 15 | 16 | include_directories(${CPPUNIT_INCLUDE_DIR}) 17 | add_library(eagle_cppunit cppunitTest.cpp RegistryName.cpp) 18 | -------------------------------------------------------------------------------- /src/c++/libexec/analyseBam/analyseBam.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | ** 7 | ** \author Lilian Janin 8 | **/ 9 | 10 | #include "BamAnalyserOptions.hh" 11 | #include "BamAnalyser.hh" 12 | 13 | 14 | static void bamAnalyserLauncher(const eagle::main::BamAnalyserOptions &options) 15 | { 16 | eagle::main::BamAnalyser bamAnalyser( options ); 17 | bamAnalyser.run(); 18 | } 19 | 20 | 21 | int main(int argc, char *argv[]) 22 | { 23 | eagle::common::run(bamAnalyserLauncher, argc, argv); 24 | } 25 | -------------------------------------------------------------------------------- /src/cmake/postInstall/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## Copyright (c) 2014 Illumina, Inc. 4 | ## 5 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 6 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 7 | ## 8 | ## file CMakeLists.txt 9 | ## 10 | ## Configuration file for the share subdirectory 11 | ## 12 | ## author Mauricio Varea 13 | ## 14 | ################################################################################ 15 | 16 | #add_subdirectory (verifyBoost) 17 | configure_file("${CMAKE_CURRENT_SOURCE_DIR}/../CTestCustom.cmake" "${CMAKE_BINARY_DIR}/" COPYONLY) -------------------------------------------------------------------------------- /validation/TestConfig/test8.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## Copyright (c) 2014 Illumina, Inc. 4 | ## 5 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 6 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 7 | ## 8 | ## description Configuration makefile to configure validation tests. 9 | ## 10 | ## author Lilian Janin 11 | ## 12 | ################################################################################ 13 | 14 | 15 | include $(VALIDATION_DIR)/test7/config.mk 16 | 17 | # Test8 = test7 with the following overrides 18 | ALIGNMENT_EXTRAS = --KAGU_PARAMS "--circular chr" 19 | -------------------------------------------------------------------------------- /data/tests/expectedOutputs/deletion.fa: -------------------------------------------------------------------------------- 1 | >chr1_allele1 2 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 3 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 4 | >chr2_allele1 5 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 6 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 7 | >chr3_allele1 8 | GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 9 | GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 10 | >chr4_allele1 11 | TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 12 | TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 13 | -------------------------------------------------------------------------------- /src/c++/bin/compareVcf.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | ** 7 | ** \author Lilian Janin 8 | **/ 9 | 10 | #include "main/VcfComparatorOptions.hh" 11 | #include "main/VcfComparator.hh" 12 | 13 | 14 | static void vcfComparatorLauncher(const eagle::main::VcfComparatorOptions &options) 15 | { 16 | eagle::main::VcfComparator vcfComparator(options); 17 | vcfComparator.run(); 18 | } 19 | 20 | 21 | int main(int argc, char *argv[]) 22 | { 23 | eagle::common::run(vcfComparatorLauncher, argc, argv); 24 | } 25 | -------------------------------------------------------------------------------- /src/c++/libexec/analyseFastq/analyseFastq.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2018 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | ** 7 | ** \author Lilian Janin 8 | **/ 9 | 10 | #include "FastqAnalyserOptions.hh" 11 | #include "FastqAnalyser.hh" 12 | 13 | 14 | static void fastqAnalyserLauncher(const eagle::main::FastqAnalyserOptions &options) 15 | { 16 | eagle::main::FastqAnalyser fastqAnalyser( options ); 17 | fastqAnalyser.run(); 18 | } 19 | 20 | 21 | int main(int argc, char *argv[]) 22 | { 23 | eagle::common::run(fastqAnalyserLauncher, argc, argv); 24 | } 25 | -------------------------------------------------------------------------------- /validation/TestConfig/test6.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## Copyright (c) 2014 Illumina, Inc. 4 | ## 5 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 6 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 7 | ## 8 | ## description Configuration makefile to configure validation tests. 9 | ## 10 | ## author Lilian Janin 11 | ## 12 | ################################################################################ 13 | 14 | 15 | include $(VALIDATION_DIR)/test5/config.mk 16 | 17 | # Test6 = test5 with the following overrides 18 | VARIANTS_VCF = $(EAGLE_DATADIR)/Variants/OneOfEachType.vcf 19 | -------------------------------------------------------------------------------- /validation/TestConfig/test7.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## Copyright (c) 2014 Illumina, Inc. 4 | ## 5 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 6 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 7 | ## 8 | ## description Configuration makefile to configure validation tests. 9 | ## 10 | ## author Lilian Janin 11 | ## 12 | ################################################################################ 13 | 14 | 15 | include $(VALIDATION_DIR)/test5/config.mk 16 | 17 | # Test7 = test5 with the following overrides 18 | VARIANTS_VCF = $(EAGLE_DATADIR)/Variants/OneAtTelomere.vcf 19 | -------------------------------------------------------------------------------- /validation/TestConfig/test2.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## Copyright (c) 2014 Illumina, Inc. 4 | ## 5 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 6 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 7 | ## 8 | ## description Configuration makefile to configure validation tests. 9 | ## 10 | ## author Lilian Janin 11 | ## 12 | ################################################################################ 13 | 14 | include $(VALIDATION_DIR)/test1/config.mk 15 | 16 | # Test2 = test1 with the following overrides 17 | RUN_INFO_XML = $(EAGLE_DATADIR)/RunInfo/RunInfo_SingleRead2x2Tiles.xml 18 | -------------------------------------------------------------------------------- /validation/TestConfig/test4.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## Copyright (c) 2014 Illumina, Inc. 4 | ## 5 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 6 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 7 | ## 8 | ## description Configuration makefile to configure validation tests. 9 | ## 10 | ## author Lilian Janin 11 | ## 12 | ################################################################################ 13 | 14 | 15 | include $(VALIDATION_DIR)/test3/config.mk 16 | 17 | # Test4 = test3 with the following overrides 18 | RUN_INFO_XML = $(EAGLE_DATADIR)/RunInfo/RunInfo_PairedReadsBarcode1x1Tiles.xml 19 | -------------------------------------------------------------------------------- /validation/TestConfig/test5.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## Copyright (c) 2014 Illumina, Inc. 4 | ## 5 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 6 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 7 | ## 8 | ## description Configuration makefile to configure validation tests. 9 | ## 10 | ## author Lilian Janin 11 | ## 12 | ################################################################################ 13 | 14 | 15 | include $(VALIDATION_DIR)/test4/config.mk 16 | 17 | # Test5 = test4 with the following overrides 18 | RUN_INFO_XML = $(EAGLE_DATADIR)/RunInfo/RunInfo_PairedReadsBarcode8x32Tiles.xml 19 | -------------------------------------------------------------------------------- /src/c++/bin/createRunFolder.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | ** 7 | ** \author Lilian Janin 8 | **/ 9 | 10 | #include "main/RunFolderGeneratorOptions.hh" 11 | #include "main/RunFolderGenerator.hh" 12 | 13 | 14 | static void runFolderGeneratorLauncher(const eagle::main::RunFolderGeneratorOptions &options) 15 | { 16 | eagle::main::RunFolderGenerator runFolderGenerator(options); 17 | runFolderGenerator.run(); 18 | } 19 | 20 | 21 | int main(int argc, char *argv[]) 22 | { 23 | eagle::common::run(runFolderGeneratorLauncher, argc, argv); 24 | } 25 | -------------------------------------------------------------------------------- /src/c++/unittest/RegistryName.hh: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | ** 7 | ** \description Management of the registry names for the cppunit tests. 8 | ** 9 | ** \author Come Raczy 10 | **/ 11 | 12 | #ifndef EAGLE_UNIT_TEST_REGISTRY_NAME 13 | #define EAGLE_UNIT_TEST_REGISTRY_NAME 14 | 15 | #include 16 | #include 17 | #include 18 | 19 | const std::vector &getRegistryNameList(); 20 | std::string registryName(const std::string &name) throw (std::invalid_argument); 21 | 22 | #endif // EAGLE_UNIT_TEST_REGISTRY_NAME 23 | -------------------------------------------------------------------------------- /src/c++/bin/allocateFragments.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | ** 7 | ** \author Lilian Janin 8 | **/ 9 | 10 | #include "main/FragmentsAllocatorOptions.hh" 11 | #include "main/FragmentsAllocator.hh" 12 | 13 | 14 | static void allocateFragmentsLauncher(const eagle::main::FragmentsAllocatorOptions &options) 15 | { 16 | eagle::main::FragmentsAllocator fragmentsAllocator( options ); 17 | fragmentsAllocator.run(); 18 | } 19 | 20 | 21 | int main(int argc, char *argv[]) 22 | { 23 | eagle::common::run(allocateFragmentsLauncher, argc, argv); 24 | } 25 | -------------------------------------------------------------------------------- /src/cmake/preInstall/copyrightAndChanges/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## Copyright (c) 2014 Illumina, Inc. 4 | ## 5 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 6 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 7 | ## 8 | ## file CMakeLists.txt 9 | ## 10 | ## Configuration file for the COPYRIGHT and Changes file installation 11 | ## 12 | ## author Roman Petrovski 13 | ## 14 | ################################################################################ 15 | 16 | # Installing top level components 17 | # install(FILES "${EAGLE_SOURCE_DIR}/Changes" "${EAGLE_SOURCE_DIR}/COPYRIGHT" DESTINATION "${EAGLE_DATADIR}") 18 | -------------------------------------------------------------------------------- /src/c++/lib/io/cppunit/testBcl.hh: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | **/ 7 | 8 | #ifndef EAGLE_MODEL_TEST_BCL_HH 9 | #define EAGLE_MODEL_TEST_BCL_HH 10 | 11 | #include 12 | 13 | #include "io/Bcl.hh" 14 | 15 | 16 | class TestBcl : public CppUnit::TestFixture 17 | { 18 | CPPUNIT_TEST_SUITE( TestBcl ); 19 | CPPUNIT_TEST( testBclTile ); 20 | CPPUNIT_TEST_SUITE_END(); 21 | private: 22 | public: 23 | void setUp(); 24 | void tearDown(); 25 | void testBclTile(); 26 | }; 27 | 28 | #endif //EAGLE_MODEL_TEST_BCL_HH 29 | -------------------------------------------------------------------------------- /src/c++/libexec/simulateSequencer/simulateSequencer.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | ** 7 | ** \author Lilian Janin 8 | **/ 9 | 10 | #include "SequencerSimulatorOptions.hh" 11 | #include "SequencerSimulator.hh" 12 | 13 | 14 | static void sequencerSimulatorLauncher(const eagle::main::SequencerSimulatorOptions &options) 15 | { 16 | eagle::main::SequencerSimulator sequencerSimulator( options ); 17 | sequencerSimulator.run(); 18 | } 19 | 20 | 21 | int main(int argc, char *argv[]) 22 | { 23 | eagle::common::run(sequencerSimulatorLauncher, argc, argv); 24 | } 25 | -------------------------------------------------------------------------------- /validation/TestConfig/testHuman3.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## Copyright (c) 2014 Illumina, Inc. 4 | ## 5 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 6 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 7 | ## 8 | ## description Configuration makefile to configure validation tests. 9 | ## 10 | ## author Lilian Janin 11 | ## 12 | ################################################################################ 13 | 14 | include $(VALIDATION_DIR)/testHuman1/config.mk 15 | 16 | # TestHuman3 = testHuman1 with the following overrides 17 | EAGLE_TEST_REF = /illumina/scratch/iGenomes/Homo_sapiens/UCSC/hg19/Sequence/Chromosomes/chr21.fa 18 | -------------------------------------------------------------------------------- /src/c++/lib/model/cppunit/testFragment.hh: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | **/ 7 | 8 | #ifndef EAGLE_MODEL_TEST_FRAGMENT_HH 9 | #define EAGLE_MODEL_TEST_FRAGMENT_HH 10 | 11 | #include 12 | 13 | #include "model/Fragment.hh" 14 | 15 | 16 | class TestFragment : public CppUnit::TestFixture 17 | { 18 | CPPUNIT_TEST_SUITE( TestFragment ); 19 | CPPUNIT_TEST( testFragment ); 20 | CPPUNIT_TEST_SUITE_END(); 21 | private: 22 | public: 23 | void setUp(); 24 | void tearDown(); 25 | void testFragment(); 26 | }; 27 | 28 | #endif //EAGLE_MODEL_TEST_FRAGMENT_HH 29 | -------------------------------------------------------------------------------- /src/c++/lib/common/cppunit/testLogger.hh: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | **/ 7 | 8 | #ifndef EAGLE_COMMON_TEST_LOGGER_HH 9 | #define EAGLE_COMMON_TEST_LOGGER_HH 10 | 11 | #include 12 | 13 | #include 14 | 15 | #include "common/Logger.hh" 16 | 17 | class TestLogger : public CppUnit::TestFixture 18 | { 19 | CPPUNIT_TEST_SUITE( TestLogger ); 20 | CPPUNIT_TEST( testTime ); 21 | CPPUNIT_TEST_SUITE_END(); 22 | private: 23 | public: 24 | void setUp(); 25 | void tearDown(); 26 | void testTime(); 27 | }; 28 | 29 | #endif // EAGLE_COMMON_TEST_LOGGER_HH 30 | -------------------------------------------------------------------------------- /validation/TestConfig/test9.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## Copyright (c) 2014 Illumina, Inc. 4 | ## 5 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 6 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 7 | ## 8 | ## description Configuration makefile to configure validation tests. 9 | ## 10 | ## author Lilian Janin 11 | ## 12 | ################################################################################ 13 | 14 | 15 | include $(VALIDATION_DIR)/test8/config.mk 16 | 17 | # Test9 = test8 with the following overrides 18 | RUN_INFO_XML = $(EAGLE_DATADIR)/RunInfo/RunInfo_SingleRead1x1Tiles.xml 19 | 20 | CASAVA_ANALYSIS = eland_extended 21 | CASAVA_USE_BASES = y*n 22 | -------------------------------------------------------------------------------- /validation/TestConfig/test3.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## Copyright (c) 2014 Illumina, Inc. 4 | ## 5 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 6 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 7 | ## 8 | ## description Configuration makefile to configure validation tests. 9 | ## 10 | ## author Lilian Janin 11 | ## 12 | ################################################################################ 13 | 14 | 15 | include $(VALIDATION_DIR)/test1/config.mk 16 | 17 | # Test3 = test1 with the following overrides 18 | RUN_INFO_XML = $(EAGLE_DATADIR)/RunInfo/RunInfo_PairedReads1x1Tiles.xml 19 | 20 | CASAVA_ANALYSIS = eland_pair 21 | CASAVA_USE_BASES = y*n,y*n 22 | -------------------------------------------------------------------------------- /src/c++/lib/genome/SharedFastaReference.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | ** 7 | ** \author Lilian Janin 8 | **/ 9 | 10 | #include "genome/SharedFastaReference.hh" 11 | 12 | 13 | namespace eagle 14 | { 15 | namespace genome 16 | { 17 | 18 | PreferredFastaReader* SharedFastaReference::fastaReference_ = 0; 19 | 20 | std::vector< boost::filesystem::path > SharedFastaReference::sampleGenomeDir_; 21 | std::vector< PreferredFastaReader* > SharedFastaReference::fastaReferenceArray_; 22 | std::map< std::string, unsigned int > SharedFastaReference::dictionary_; 23 | 24 | 25 | } // namespace genome 26 | } // namespace eagle 27 | -------------------------------------------------------------------------------- /src/c++/lib/common/cppunit/testExceptions.hh: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | **/ 7 | 8 | #ifndef EAGLE_COMMON_TEST_EXCEPTIONS_HH 9 | #define EAGLE_COMMON_TEST_EXCEPTIONS_HH 10 | 11 | #include 12 | 13 | #include 14 | 15 | #include "common/Exceptions.hh" 16 | 17 | class TestExceptions : public CppUnit::TestFixture 18 | { 19 | CPPUNIT_TEST_SUITE( TestExceptions ); 20 | CPPUNIT_TEST( testErrorNumber ); 21 | CPPUNIT_TEST_SUITE_END(); 22 | private: 23 | public: 24 | void setUp(); 25 | void tearDown(); 26 | void testErrorNumber(); 27 | }; 28 | 29 | #endif // EAGLE_COMMON_TEST_EXCEPTIONS_HH 30 | -------------------------------------------------------------------------------- /src/c++/lib/model/cppunit/testFragment.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | **/ 7 | 8 | #include 9 | #include 10 | #include 11 | #include 12 | 13 | using namespace std; 14 | using boost::assign::list_of; 15 | 16 | #include "Helpers.hh" 17 | 18 | #include "RegistryName.hh" 19 | #include "testFragment.hh" 20 | 21 | using eagle::model::Fragment; 22 | 23 | CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( TestFragment, registryName("Fragment")); 24 | 25 | 26 | void TestFragment::setUp() 27 | { 28 | } 29 | 30 | void TestFragment::tearDown() 31 | { 32 | } 33 | 34 | 35 | void TestFragment::testFragment() 36 | { 37 | } 38 | -------------------------------------------------------------------------------- /src/c++/libexec/canonical2segments/canonical2segments.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | ** 7 | ** \author Lilian Janin 8 | **/ 9 | 10 | #include "CanonicalToSegmentsConverterOptions.hh" 11 | #include "CanonicalToSegmentsConverter.hh" 12 | 13 | 14 | static void canonicalToSegmentsConverterLauncher(const eagle::main::CanonicalToSegmentsConverterOptions &options) 15 | { 16 | eagle::main::CanonicalToSegmentsConverter canonicalToSegmentsConverter( options ); 17 | canonicalToSegmentsConverter.run(); 18 | } 19 | 20 | 21 | int main(int argc, char *argv[]) 22 | { 23 | eagle::common::run(canonicalToSegmentsConverterLauncher, argc, argv); 24 | } 25 | -------------------------------------------------------------------------------- /src/c++/lib/model/cppunit/testPhred.hh: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | **/ 7 | 8 | #ifndef EAGLE_MODEL_TEST_PHRED_HH 9 | #define EAGLE_MODEL_TEST_PHRED_HH 10 | 11 | #include 12 | 13 | #include "model/Phred.hh" 14 | 15 | 16 | class TestPhred : public CppUnit::TestFixture 17 | { 18 | CPPUNIT_TEST_SUITE( TestPhred ); 19 | CPPUNIT_TEST( testQualToProb ); 20 | CPPUNIT_TEST( testProbToQual ); 21 | CPPUNIT_TEST_SUITE_END(); 22 | private: 23 | public: 24 | void setUp(); 25 | void tearDown(); 26 | void testQualToProb(); 27 | void testProbToQual(); 28 | }; 29 | 30 | #endif //EAGLE_MODEL_TEST_PHRED_HH 31 | -------------------------------------------------------------------------------- /src/c++/libexec/generateHomopolymerIndelVcf/generateHomopolymerIndelVcf.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | ** 7 | ** \author Lilian Janin 8 | **/ 9 | 10 | #include "HomopolymerIndelVcfGeneratorOptions.hh" 11 | #include "HomopolymerIndelVcfGenerator.hh" 12 | 13 | 14 | static void homopolymerIndelVcfGeneratorLauncher(const eagle::main::HomopolymerIndelVcfGeneratorOptions &options) 15 | { 16 | eagle::main::HomopolymerIndelVcfGenerator homopolymerIndelVcfGenerator( options ); 17 | homopolymerIndelVcfGenerator.run(); 18 | } 19 | 20 | 21 | int main(int argc, char *argv[]) 22 | { 23 | eagle::common::run(homopolymerIndelVcfGeneratorLauncher, argc, argv); 24 | } 25 | -------------------------------------------------------------------------------- /src/c++/lib/genome/cppunit/testEnrichedFragment.hh: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | **/ 7 | 8 | #ifndef EAGLE_GENOME_TEST_ENRICHED_FRAGMENT_HH 9 | #define EAGLE_GENOME_TEST_ENRICHED_FRAGMENT_HH 10 | 11 | #include 12 | 13 | #include "genome/EnrichedFragment.hh" 14 | 15 | 16 | class TestEnrichedFragment : public CppUnit::TestFixture 17 | { 18 | CPPUNIT_TEST_SUITE( TestEnrichedFragment ); 19 | CPPUNIT_TEST( testEnrichedFragment ); 20 | CPPUNIT_TEST_SUITE_END(); 21 | private: 22 | public: 23 | void setUp(); 24 | void tearDown(); 25 | void testEnrichedFragment(); 26 | }; 27 | 28 | #endif //EAGLE_GENOME_TEST_FRAGMENT_HH 29 | -------------------------------------------------------------------------------- /validation/TestConfig/testHuman1.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## Copyright (c) 2014 Illumina, Inc. 4 | ## 5 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 6 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 7 | ## 8 | ## description Configuration makefile to configure validation tests. 9 | ## 10 | ## author Lilian Janin 11 | ## 12 | ################################################################################ 13 | 14 | 15 | EAGLE_TEST_REF = /illumina/scratch/iGenomes/Homo_sapiens/UCSC/hg19/Sequence/Chromosomes 16 | VARIANTS_VCF = $(EAGLE_DATADIR)/Variants/None.vcf 17 | RUN_INFO_XML = $(EAGLE_DATADIR)/RunInfo/RunInfo_PairedReadsBarcode8x32Tiles.xml 18 | DEPTH = 30 19 | 20 | CASAVA_ANALYSIS = eland_pair 21 | CASAVA_USE_BASES = y*n,y*n 22 | -------------------------------------------------------------------------------- /validation/TestConfig/test1.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## Copyright (c) 2014 Illumina, Inc. 4 | ## 5 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 6 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 7 | ## 8 | ## description Configuration makefile to configure validation tests. 9 | ## 10 | ## author Lilian Janin 11 | ## 12 | ################################################################################ 13 | 14 | 15 | EAGLE_TEST_REF = /illumina/scratch/iGenomes/Enterobacteriophage_lamdba/NCBI/1993-04-28/Sequence/Chromosomes 16 | VARIANTS_VCF = $(EAGLE_DATADIR)/Variants/None.vcf 17 | RUN_INFO_XML = $(EAGLE_DATADIR)/RunInfo/RunInfo_SingleRead1x1Tiles.xml 18 | DEPTH = 30 19 | 20 | CASAVA_ANALYSIS = eland_extended 21 | CASAVA_USE_BASES = y*n 22 | -------------------------------------------------------------------------------- /src/c++/lib/genome/cppunit/testEnrichedFragment.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | **/ 7 | 8 | #include 9 | #include 10 | #include 11 | #include 12 | 13 | using namespace std; 14 | using boost::assign::list_of; 15 | 16 | #include "Helpers.hh" 17 | 18 | #include "RegistryName.hh" 19 | #include "testEnrichedFragment.hh" 20 | 21 | using eagle::genome::EnrichedFragment; 22 | 23 | CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( TestEnrichedFragment, registryName("EnrichedFragment")); 24 | 25 | 26 | void TestEnrichedFragment::setUp() 27 | { 28 | } 29 | 30 | void TestEnrichedFragment::tearDown() 31 | { 32 | } 33 | 34 | 35 | void TestEnrichedFragment::testEnrichedFragment() 36 | { 37 | } 38 | -------------------------------------------------------------------------------- /src/perl/lib/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## Copyright (c) 2014 Illumina, Inc. 4 | ## 5 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 6 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 7 | ## 8 | ## file CMakeLists.txt 9 | ## 10 | ## Configuration file for the perl/lib directory 11 | ## 12 | ## author Mauricio Varea 13 | ## 14 | ################################################################################ 15 | 16 | include ("${EAGLE_GLOBALS_CMAKE}") 17 | 18 | install(CODE " 19 | include (\"${EAGLE_MACROS_CMAKE}\") 20 | configure_files_recursively (\"${CMAKE_CURRENT_SOURCE_DIR}\" \"${CMAKE_CURRENT_BINARY_DIR}\" \"*.pm\") 21 | install_files_recursively (\"${CMAKE_CURRENT_BINARY_DIR}\" \"${EAGLE_ORIG_LIBDIR}\" \"*.pm\" \"\${EAGLE_LIBRARY_PERMISSIONS}\") 22 | ") 23 | -------------------------------------------------------------------------------- /src/c++/lib/model/cppunit/testStructuralVariant.hh: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | **/ 7 | 8 | #ifndef EAGLE_MODEL_TEST_STRUCTURAL_VARIANT_HH 9 | #define EAGLE_MODEL_TEST_STRUCTURAL_VARIANT_HH 10 | 11 | #include 12 | 13 | #include "model/StructuralVariant.hh" 14 | 15 | 16 | class TestStructuralVariant : public CppUnit::TestFixture 17 | { 18 | CPPUNIT_TEST_SUITE( TestStructuralVariant ); 19 | CPPUNIT_TEST( testFlags ); 20 | CPPUNIT_TEST( testVariant ); 21 | CPPUNIT_TEST_SUITE_END(); 22 | private: 23 | public: 24 | void setUp(); 25 | void tearDown(); 26 | void testFlags(); 27 | void testVariant(); 28 | }; 29 | 30 | #endif // EAGLE_MODEL_TEST_STRUCTURAL_VARIANT_HH 31 | 32 | -------------------------------------------------------------------------------- /src/makefiles/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## Copyright (c) 2014 Illumina, Inc. 4 | ## 5 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 6 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 7 | ## 8 | ## file CMakeLists.txt 9 | ## 10 | ## Configuration file for the makefiles directory 11 | ## 12 | ## author Mauricio Varea 13 | ## 14 | ################################################################################ 15 | 16 | include ("${EAGLE_GLOBALS_CMAKE}") 17 | 18 | install(CODE " 19 | include (\"${EAGLE_MACROS_CMAKE}\") 20 | configure_files_recursively (\"${CMAKE_CURRENT_SOURCE_DIR}\" \"${CMAKE_CURRENT_BINARY_DIR}\" \"*.mk\") 21 | install_files_recursively (\"${CMAKE_CURRENT_BINARY_DIR}\" \"${EAGLE_ORIG_DATADIR}/Workflows\" \"*.mk\" \"\${EAGLE_LIBRARY_PERMISSIONS}\") 22 | ") 23 | -------------------------------------------------------------------------------- /src/perl/libexec/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## Copyright (c) 2014 Illumina, Inc. 4 | ## 5 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 6 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 7 | ## 8 | ## file CMakeLists.txt 9 | ## 10 | ## Configuration file for the perl/libexec directory 11 | ## 12 | ## author Mauricio Varea 13 | ## 14 | ################################################################################ 15 | 16 | include ("${EAGLE_GLOBALS_CMAKE}") 17 | 18 | install(CODE " 19 | include (\"${EAGLE_MACROS_CMAKE}\") 20 | configure_files_recursively (\"${CMAKE_CURRENT_SOURCE_DIR}\" \"${CMAKE_CURRENT_BINARY_DIR}\" \"*.pl\") 21 | install_files_recursively (\"${CMAKE_CURRENT_BINARY_DIR}\" \"${EAGLE_ORIG_LIBEXECDIR}\" \"*.pl\" \"\${EAGLE_EXECUTABLE_PERMISSIONS}\") 22 | ") 23 | -------------------------------------------------------------------------------- /data/QualityTables/DefaultQQTable.tsv: -------------------------------------------------------------------------------- 1 | #Quality ErrorRate 2 | 0 1 3 | 1 0.794328 4 | 2 0.630957 5 | 3 0.501187 6 | 4 0.398107 7 | 5 0.316228 8 | 6 0.251189 9 | 7 0.199526 10 | 8 0.158489 11 | 9 0.125893 12 | 10 0.1 13 | 11 0.0794328 14 | 12 0.0630957 15 | 13 0.0501187 16 | 14 0.0398107 17 | 15 0.0316228 18 | 16 0.0251189 19 | 17 0.0199526 20 | 18 0.0158489 21 | 19 0.0125893 22 | 20 0.01 23 | 21 0.00794328 24 | 22 0.00630957 25 | 23 0.00501187 26 | 24 0.00398107 27 | 25 0.00316228 28 | 26 0.00251189 29 | 27 0.00199526 30 | 28 0.00158489 31 | 29 0.00125893 32 | 30 0.001 33 | 31 0.000794328 34 | 32 0.000630957 35 | 33 0.000501187 36 | 34 0.000398107 37 | 35 0.000316228 38 | 36 0.000251189 39 | 37 0.000199526 40 | 38 0.000158489 41 | 39 0.000125893 42 | 40 0.0001 43 | 41 7.94328e-05 44 | 42 6.30957e-05 45 | 43 5.01187e-05 46 | 44 3.98107e-05 47 | 45 3.16228e-05 48 | 46 2.51189e-05 49 | 47 1.99526e-05 50 | 48 1.58489e-05 51 | 49 1.25893e-05 52 | 50 0 53 | -------------------------------------------------------------------------------- /src/c++/lib/common/cppunit/testExceptions.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | **/ 7 | 8 | #include 9 | #include 10 | #include 11 | 12 | using namespace std; 13 | 14 | #include "RegistryName.hh" 15 | #include "testExceptions.hh" 16 | 17 | using namespace eagle::common; 18 | 19 | 20 | CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( TestExceptions, registryName("Exceptions")); 21 | 22 | void TestExceptions::setUp() 23 | { 24 | } 25 | 26 | void TestExceptions::tearDown() 27 | { 28 | } 29 | 30 | 31 | void TestExceptions::testErrorNumber() 32 | { 33 | ExceptionData e(1337, "exception unit test"); 34 | CPPUNIT_ASSERT_EQUAL(1337, e.getErrorNumber()); 35 | CPPUNIT_ASSERT_EQUAL(string("exception unit test"), e.getMessage()); 36 | } 37 | 38 | -------------------------------------------------------------------------------- /src/bash/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## Copyright (c) 2014 Illumina, Inc. 4 | ## 5 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 6 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 7 | ## 8 | ## file CMakeLists.txt 9 | ## 10 | ## Configuration file for the bash directory 11 | ## 12 | ## author Mauricio Varea 13 | ## 14 | ################################################################################ 15 | 16 | include ("${EAGLE_GLOBALS_CMAKE}") 17 | include ("${EAGLE_MACROS_CMAKE}") 18 | configure_files ("${CMAKE_CURRENT_SOURCE_DIR}/test" 19 | "${CMAKE_BINARY_DIR}/Testing/scripts" 20 | "*") 21 | configure_file("test/common.sh" "${CMAKE_BINARY_DIR}/Testing/scripts/common.sh" COPYONLY) 22 | 23 | ## 24 | ## build all the internal applications for the project 25 | ## 26 | add_subdirectory (libexec) 27 | -------------------------------------------------------------------------------- /src/bash/libexec/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## Copyright (c) 2014 Illumina, Inc. 4 | ## 5 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 6 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 7 | ## 8 | ## file CMakeLists.txt 9 | ## 10 | ## Configuration file for the bash/libexec subdirectory 11 | ## 12 | ## author Mauricio Varea 13 | ## 14 | ################################################################################ 15 | 16 | include ("${EAGLE_GLOBALS_CMAKE}") 17 | 18 | install(CODE " 19 | include (\"${EAGLE_MACROS_CMAKE}\") 20 | configure_files_recursively (\"${CMAKE_CURRENT_SOURCE_DIR}\" \"${CMAKE_CURRENT_BINARY_DIR}\" \"[a-z][a-zA-Z0-9]*.sh\") 21 | install_files_recursively (\"${CMAKE_CURRENT_BINARY_DIR}\" \"${EAGLE_ORIG_LIBEXECDIR}\" \"[a-z][a-zA-Z0-9]*.sh\" \"\${EAGLE_EXECUTABLE_PERMISSIONS}\") 22 | ") 23 | -------------------------------------------------------------------------------- /src/analysis/cpp/add_translocations/Makefile: -------------------------------------------------------------------------------- 1 | BOOST_ROOT ?= /home/craczy/boost_1_49_0 2 | #SEQAN_ROOT ?= /home/oschulz-trieglaff/code/seqan-release/seqan-1.3.1/ 3 | SEQAN_ROOT ?= /home/oschulz-trieglaff/code/seqan-trunk/core/include/ 4 | 5 | #LDFLAGS := -L${BOOST_ROOT}/lib -lboost_program_options -lboost_filesystem 6 | LDFLAGS := -L${BOOST_ROOT}/lib 7 | 8 | CPPFLAGS := -I${BOOST_ROOT}/include -I$(SEQAN_ROOT) -I. 9 | CPPFLAGS += -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 10 | CPPFLAGS += -O3 -g 11 | #CPPFLAGS += -g 12 | CPPFLAGS += -W -Wall -Wno-long-long -pedantic -Wno-variadic-macros 13 | 14 | CPP = /usr/bin/g++ 15 | 16 | TARGETS = AddTranslocations 17 | ADD_TR_OBJ = AddTranslocations.o VcfVariant.o 18 | 19 | #ALL_OBJ = $(SAMPLE_INV_OBJ) 20 | 21 | all: ${TARGETS} 22 | 23 | %.o: %.cpp %.h 24 | $(CPP) -c $(CPPFLAGS) $< 25 | 26 | AddTranslocations: $(ADD_TR_OBJ) 27 | $(CPP) $(CPPFLAGS) $(LDFLAGS) -o $@ $^ 28 | 29 | clean: 30 | /bin/rm -f *.o *~ ${TARGETS} 31 | 32 | -------------------------------------------------------------------------------- /src/c++/lib/genome/cppunit/testVariantList.hh: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | **/ 7 | 8 | #ifndef EAGLE_GENOME_TEST_VARIANT_LIST_HH 9 | #define EAGLE_GENOME_TEST_VARIANT_LIST_HH 10 | 11 | #include 12 | 13 | #include "genome/VariantList.hh" 14 | 15 | 16 | class TestVariantList : public CppUnit::TestFixture 17 | { 18 | CPPUNIT_TEST_SUITE( TestVariantList ); 19 | CPPUNIT_TEST( testAccess ); 20 | CPPUNIT_TEST( testConnectivity ); 21 | CPPUNIT_TEST_SUITE_END(); 22 | private: 23 | eagle::genome::VariantList VL; 24 | public: 25 | TestVariantList() 26 | : VL( 2 ) // diploid 27 | {} 28 | void setUp(); 29 | void tearDown(); 30 | void testAccess(); 31 | void testConnectivity(); 32 | }; 33 | 34 | 35 | #endif // EAGLE_GENOME_TEST_VARIANT_LIST_HH 36 | 37 | -------------------------------------------------------------------------------- /data/tests/expectedOutputs/large_deletion.fa: -------------------------------------------------------------------------------- 1 | >chr1_allele1 2 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 3 | >chr2_allele1 4 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 5 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 6 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 7 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 8 | >chr3_allele1 9 | GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 10 | GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 11 | GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 12 | GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 13 | >chr4_allele1 14 | TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 15 | TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 16 | TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 17 | TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 18 | -------------------------------------------------------------------------------- /validation/Makefile.in: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## Copyright (c) 2014 Illumina, Inc. 4 | ## 5 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 6 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 7 | ## 8 | ## description Top level makefile to run validation tests. 9 | ## 10 | ## authors Lilian Janin 11 | ## 12 | ################################################################################ 13 | 14 | 15 | override SHELL:=/bin/bash 16 | 17 | EAGLE_DATADIR = @EAGLE_FULL_DATADIR@ 18 | VALIDATION_DIR := $(EAGLE_DATADIR)/validation 19 | 20 | NULL := 21 | SPACE :=$(NULL) $(NULL) 22 | 23 | AND = && 24 | OR = || 25 | MKDIR = mkdir -p 26 | WIPE_OUT = rm -rf 27 | TIME = /usr/bin/time -v -o $(OUTPUT_DIR)/time.log --append 28 | 29 | 30 | all: $(shell ls $(VALIDATION_DIR)|grep test|grep -v Human) 31 | 32 | test%: 33 | mkdir -p $@ \ 34 | $(AND) cd $@ \ 35 | $(AND) $(MAKE) -f ${VALIDATION_DIR}/$@/Makefile \ 36 | 37 | -------------------------------------------------------------------------------- /src/c++/libexec/canonical2segments/CanonicalToSegmentsConverter.hh: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | ** 7 | ** \author Lilian Janin 8 | **/ 9 | 10 | #ifndef EAGLE_MAIN_CANONICAL_TO_SEGMENTS_CONVERTER_HH 11 | #define EAGLE_MAIN_CANONICAL_TO_SEGMENTS_CONVERTER_HH 12 | 13 | #include "io/RunInfo.hh" 14 | #include "genome/EnrichedFragment.hh" 15 | #include "genome/ReadCluster.hh" 16 | #include "CanonicalToSegmentsConverterOptions.hh" 17 | 18 | 19 | namespace eagle 20 | { 21 | namespace main 22 | { 23 | 24 | 25 | class CanonicalToSegmentsConverter 26 | { 27 | public: 28 | CanonicalToSegmentsConverter (const CanonicalToSegmentsConverterOptions &options); 29 | void run(); 30 | 31 | private: 32 | const CanonicalToSegmentsConverterOptions &options_; 33 | }; 34 | 35 | } // namespace main 36 | } // namespace eagle 37 | 38 | #endif // EAGLE_MAIN_CANONICAL_TO_SEGMENTS_CONVERTER_HH 39 | -------------------------------------------------------------------------------- /src/c++/lib/model/cppunit/testGenotype.hh: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | **/ 7 | 8 | #ifndef EAGLE_MODEL_TEST_GENOTYPE_HH 9 | #define EAGLE_MODEL_TEST_GENOTYPE_HH 10 | 11 | #include 12 | 13 | #include "model/Genotype.hh" 14 | 15 | 16 | class TestGenotype : public CppUnit::TestFixture 17 | { 18 | CPPUNIT_TEST_SUITE( TestGenotype ); 19 | CPPUNIT_TEST( testPureZygosity ); 20 | CPPUNIT_TEST( testImpureZygosity ); 21 | CPPUNIT_TEST( testVirtualPloidy ); 22 | CPPUNIT_TEST( testRealPloidy ); 23 | CPPUNIT_TEST( testStreaming ); 24 | CPPUNIT_TEST_SUITE_END(); 25 | private: 26 | public: 27 | void setUp(); 28 | void tearDown(); 29 | void testPureZygosity(); 30 | void testImpureZygosity(); 31 | void testVirtualPloidy(); 32 | void testRealPloidy(); 33 | void testStreaming(); 34 | }; 35 | 36 | #endif // EAGLE_MODEL_TEST_GENOTYPE_HH 37 | -------------------------------------------------------------------------------- /src/cmake/cxxExecutable.cmake: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## Copyright (c) 2014 Illumina, Inc. 4 | ## 5 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 6 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 7 | ## 8 | ## file cxxExecutable.cmake 9 | ## 10 | ## CMake configuration file for all the c++ executables 11 | ## 12 | ## author Mauricio Varea 13 | ## 14 | ################################################################################ 15 | 16 | include (${EAGLE_GLOBALS_CMAKE}) 17 | 18 | get_filename_component(EAGLE_CURRENT_DIR_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME) 19 | message (STATUS "Adding the c++ program subdirectory: ${EAGLE_CURRENT_DIR_NAME}") 20 | include_directories (${EAGLE_CXX_ALL_INCLUDES}) 21 | include_directories (${CMAKE_CURRENT_BINARY_DIR}) 22 | include_directories (${CMAKE_CURRENT_SOURCE_DIR}) 23 | include_directories (${EAGLE_CXX_CONFIG_H_DIR}) 24 | 25 | ## 26 | ## probably useless (originally defined for eland) 27 | ## 28 | add_definitions(-D_REENTRANT) 29 | -------------------------------------------------------------------------------- /src/c++/include/common/FileSystem.hh: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | ** 7 | ** \description A preprocessor-based Logger + time display. 8 | ** 9 | ** \author Mauricio Varea 10 | **/ 11 | 12 | #ifndef EAGLE_COMMON_FILE_SYSTEM_HH 13 | #define EAGLE_COMMON_FILE_SYSTEM_HH 14 | 15 | #include 16 | #include 17 | #include 18 | #include 19 | 20 | 21 | namespace eagle 22 | { 23 | namespace common 24 | { 25 | 26 | class Glob 27 | { 28 | public: 29 | // Glob( boost::regex pattern ) : pattern_(pattern) {} 30 | Glob( std::string pattern = ".*" ) : pattern_(pattern, boost::regex_constants::mod_x) {} 31 | 32 | std::vector glob( const boost::filesystem::path& dir ) const; 33 | private: 34 | boost::regex pattern_; 35 | }; 36 | 37 | 38 | } // namespace common 39 | } // namespace eagle 40 | 41 | #endif // EAGLE_COMMON_FILE_SYSTEM_HH 42 | -------------------------------------------------------------------------------- /src/c++/unittest/check-source.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | ################################################################################ 3 | ## 4 | ## Copyright (c) 2014 Illumina, Inc. 5 | ## 6 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 7 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 8 | ## 9 | ## file check-source.sh 10 | ## 11 | ## Basic sanity checks on the source code before running the cppuint tests 12 | ## 13 | ## author Come Raczy 14 | ## 15 | ################################################################################ 16 | 17 | target=$1 18 | shift 19 | good=yes 20 | for file in $* ; do 21 | check=`grep -nH CPPUNIT_TEST_SUITE_NAMED_REGISTRATION $file | grep -v registryName` 22 | if [[ $check ]] ; then 23 | if [[ $good ]] ; then 24 | good= 25 | echo >&2 26 | echo use of unchecked registry names: >&2 27 | fi 28 | echo " "$check >&2 29 | echo >&2 30 | fi 31 | done 32 | if [[ $good ]] ; then 33 | echo checked > $target 34 | else 35 | exit 1 36 | fi 37 | 38 | -------------------------------------------------------------------------------- /src/cmake/preInstall/checkTargetPathsWritable/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## Copyright (c) 2014 Illumina, Inc. 4 | ## 5 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 6 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 7 | ## 8 | ## file configure 9 | ## 10 | ## Configuration file for the share subdirectory 11 | ## 12 | ## author Mauricio Varea 13 | ## 14 | ################################################################################ 15 | 16 | #include ("${EAGLE_MACROS_CMAKE}") 17 | 18 | #get_filename_component(EAGLE_CURRENT_DIR_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME) 19 | message (STATUS "Verifying target directories access") 20 | 21 | include ("${EAGLE_GLOBALS_CMAKE}") 22 | install( 23 | CODE "set(EAGLE_DEST_DIRS \"\${EAGLE_DEST_DATADIR}\" 24 | \"\${EAGLE_DEST_BINDIR}\" \"\${EAGLE_DEST_LIBDIR}\" 25 | \"\${EAGLE_DEST_LIBEXECDIR}\")" 26 | SCRIPT "${CMAKE_CURRENT_SOURCE_DIR}/checkTargetPathWritable.cmake" 27 | ) 28 | -------------------------------------------------------------------------------- /validation/TestConfig/testHuman2.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## Copyright (c) 2014 Illumina, Inc. 4 | ## 5 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 6 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 7 | ## 8 | ## description Configuration makefile to run the ORION tests (without noise). 9 | ## 10 | ## author Mauricio Varea 11 | ## 12 | ################################################################################ 13 | 14 | include $(VALIDATION_DIR)/testHuman1/config.mk 15 | 16 | # TestHuman2 = testHuman1 with the following overrides 17 | EAGLE_TEST_REF = /illumina/scratch/iGenomes/Homo_sapiens/NCBI/build37.1/Sequence/Chromosomes 18 | VARIANTS_VCF = $(EAGLE_DATADIR)/Variants/Stephens2009.vcf 19 | 20 | ALIGNMENT_EXTRAS = --PAS_PARAMS "--max_patterns_to_store 100000" 21 | 22 | # female. Override for male. 23 | EAGLE_EXTRAS = --genome-mutator-options='--organism-ploidy=2 --ploidy-chromosome=chrY --ploidy-level=0 --ploidy-chromosome=chrM --ploidy-level=100' 24 | -------------------------------------------------------------------------------- /src/c++/libexec/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## Copyright (c) 2014 Illumina, Inc. 4 | ## 5 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 6 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 7 | ## 8 | ## file CMakeLists.txt 9 | ## 10 | ## Configuration file for the libexec subfolder 11 | ## 12 | ## author Mauricio Varea 13 | ## 14 | ################################################################################ 15 | 16 | ## 17 | ## List of EAGLE utilities 18 | ## 19 | file (GLOB EAGLE_ALL_UTILITIES [a-z][a-zA-Z0-9]*) 20 | 21 | ## 22 | ## Build all the utilities for the project 23 | ## EAGLE_AVAILABLE_UTILITIES is incrementally updated 24 | ## 25 | 26 | set (EAGLE_AVAILABLE_UTILITIES "") 27 | set (EAGLE_ALL_UTILITIES_DIRS "") 28 | foreach (EAGLE_LIBEXEC ${EAGLE_ALL_UTILITIES}) 29 | add_subdirectory(${EAGLE_LIBEXEC}) 30 | set(EAGLE_AVAILABLE_UTILITIES ${EAGLE_LIBEXEC} ${EAGLE_AVAILABLE_UTILITIES} ) 31 | endforeach (EAGLE_LIBEXEC) 32 | 33 | set (EAGLE_AVAILABLE_UTILITIES ${EAGLE_AVAILABLE_UTILITIES} PARENT_SCOPE) 34 | -------------------------------------------------------------------------------- /src/c++/lib/model/cppunit/testContig.hh: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | **/ 7 | 8 | #ifndef EAGLE_MODEL_TEST_CONTIG_HH 9 | #define EAGLE_MODEL_TEST_CONTIG_HH 10 | 11 | #include 12 | 13 | #include "model/Contig.hh" 14 | 15 | 16 | class TestContig : public CppUnit::TestFixture 17 | { 18 | CPPUNIT_TEST_SUITE( TestContig ); 19 | CPPUNIT_TEST( testHeadReset ); 20 | CPPUNIT_TEST( testHeadGet ); 21 | CPPUNIT_TEST( testHeadCreate ); 22 | CPPUNIT_TEST( testBodyBlock ); 23 | //CPPUNIT_TEST( testBodySingle ); 24 | //CPPUNIT_TEST( testBodyManipulation ); 25 | CPPUNIT_TEST_SUITE_END(); 26 | private: 27 | public: 28 | void setUp(); 29 | void tearDown(); 30 | void testHeadReset(); 31 | void testHeadGet(); 32 | void testHeadCreate(); 33 | void testBodyBlock(); 34 | //void testBodySingle(); 35 | //void testBodyManipulation(); 36 | }; 37 | 38 | #endif // EAGLE_MODEL_TEST_CONTIG_HH 39 | 40 | -------------------------------------------------------------------------------- /src/c++/lib/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## Copyright (c) 2014 Illumina, Inc. 4 | ## 5 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 6 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 7 | ## 8 | ## file CMakeLists.txt 9 | ## 10 | ## Configuration file for the lib subfolder 11 | ## 12 | ## author Mauricio Varea 13 | ## 14 | ################################################################################ 15 | 16 | ## 17 | ## List of EAGLE libraries 18 | ## 19 | set (EAGLE_ALL_LIBRARIES common model io genome main) 20 | 21 | ## 22 | ## Build all the libraries for the project 23 | ## EAGLE_AVAILABLE_LIBRARIES is incrementally updated 24 | ## 25 | 26 | set (EAGLE_AVAILABLE_LIBRARIES "") 27 | set (EAGLE_ALL_LIBRARY_DIRS "") 28 | foreach (EAGLE_LIB_DIR ${EAGLE_ALL_LIBRARIES}) 29 | add_subdirectory(${EAGLE_LIB_DIR}) 30 | set(EAGLE_AVAILABLE_LIBRARIES eagle_${EAGLE_LIB_DIR} ${EAGLE_AVAILABLE_LIBRARIES} ) 31 | endforeach (EAGLE_LIB_DIR) 32 | 33 | set (EAGLE_AVAILABLE_LIBRARIES ${EAGLE_AVAILABLE_LIBRARIES} PARENT_SCOPE) 34 | 35 | -------------------------------------------------------------------------------- /data/tests/givenInputs/deletion.vcf: -------------------------------------------------------------------------------- 1 | #CHROM POS ID REF ALT QUAL FILT INFO 2 | chr1 35 . AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A 0 PASS SVTYPE=DEL 3 | chr1 71 . AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A 0 PASS SVTYPE=DEL 4 | chr1 107 . AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A 0 PASS SVTYPE=DEL 5 | chr1 143 . AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA A 0 PASS SVTYPE=DEL 6 | chr2 35 . CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C 0 PASS SVTYPE=DEL 7 | chr2 71 . CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C 0 PASS SVTYPE=DEL 8 | chr2 107 . CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C 0 PASS SVTYPE=DEL 9 | chr2 143 . CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C 0 PASS SVTYPE=DEL 10 | chr3 35 . GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG G 0 PASS SVTYPE=DEL 11 | chr3 71 . GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG G 0 PASS SVTYPE=DEL 12 | chr3 107 . GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG G 0 PASS SVTYPE=DEL 13 | chr3 143 . GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG G 0 PASS SVTYPE=DEL 14 | chr4 35 . TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT T 0 PASS SVTYPE=DEL 15 | chr4 71 . TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT T 0 PASS SVTYPE=DEL 16 | chr4 107 . TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT T 0 PASS SVTYPE=DEL 17 | chr4 143 . TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT T 0 PASS SVTYPE=DEL 18 | -------------------------------------------------------------------------------- /src/c++/lib/model/cppunit/testIntervalGenerator.hh: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | **/ 7 | 8 | #ifndef EAGLE_MODEL_TEST_INTERVAL_GENERATOR_HH 9 | #define EAGLE_MODEL_TEST_INTERVAL_GENERATOR_HH 10 | 11 | #include 12 | 13 | #include "model/IntervalGenerator.hh" 14 | 15 | 16 | class TestIntervalGenerator : public CppUnit::TestFixture 17 | { 18 | CPPUNIT_TEST_SUITE( TestIntervalGenerator ); 19 | CPPUNIT_TEST( testReproducibleRandomness ); 20 | CPPUNIT_TEST( testLargeRandomPositions ); 21 | CPPUNIT_TEST( testRandomIntervals ); 22 | CPPUNIT_TEST( testUniformIntervals ); 23 | CPPUNIT_TEST( testRandomIntervalEnd ); 24 | CPPUNIT_TEST_SUITE_END(); 25 | private: 26 | public: 27 | void setUp(); 28 | void tearDown(); 29 | void testReproducibleRandomness(); 30 | void testLargeRandomPositions(); 31 | void testRandomIntervals(); 32 | void testUniformIntervals(); 33 | void testRandomIntervalEnd(); 34 | }; 35 | 36 | #endif //EAGLE_MODEL_TEST_INTERVAL_GENERATOR_HH 37 | -------------------------------------------------------------------------------- /data/Genomes/acgt.fa: -------------------------------------------------------------------------------- 1 | >chr1 2 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 3 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 4 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 5 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 6 | >chr2 7 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 8 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 9 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 10 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 11 | >chr3 12 | GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 13 | GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 14 | GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 15 | GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 16 | >chr4 17 | TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 18 | TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 19 | TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 20 | TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 21 | -------------------------------------------------------------------------------- /src/c++/include/common/Semaphore.hh: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | ** 7 | ** \description Deadlock-free Semaphore class, able to reset itself after crashes 8 | ** 9 | ** Deadlock-free semaphore class based on boost's named semaphore. 10 | ** Automatically increase its counter after a timed_wait to avoid deadlocks 11 | ** And automatically decrease it back to normal when possible 12 | ** 13 | ** \author Lilian Janin 14 | **/ 15 | 16 | #ifndef EAGLE_COMMON_SEMAPHORE_HH 17 | #define EAGLE_COMMON_SEMAPHORE_HH 18 | 19 | #include 20 | #include 21 | 22 | 23 | namespace eagle 24 | { 25 | namespace common 26 | { 27 | 28 | class Semaphore 29 | { 30 | public: 31 | Semaphore( const std::string& name, const unsigned int count ); 32 | void wait(); 33 | void post(); 34 | 35 | private: 36 | const unsigned int resourceCount_; 37 | boost::interprocess::named_semaphore semaphore_; 38 | }; 39 | 40 | 41 | } // namespace common 42 | } // namespace eagle 43 | 44 | #endif // EAGLE_COMMON_SEMAPHORE_HH 45 | -------------------------------------------------------------------------------- /src/c++/lib/common/Logger.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | ** 7 | ** \description Time display. 8 | ** 9 | ** \author Mauricio Varea 10 | **/ 11 | 12 | #include 13 | #include 14 | #include 15 | 16 | #include "common/Logger.hh" 17 | 18 | namespace eagle 19 | { 20 | namespace common 21 | { 22 | 23 | std::string displayTime(size_t time) 24 | { // time in microSeconds 25 | size_t mili = time / 1000; 26 | size_t hour = mili / (60 * 60 * 1000); 27 | size_t r_hour = mili % (60 * 60 * 1000); 28 | size_t min = r_hour / (60 * 1000); 29 | size_t r_min = r_hour % (60 * 1000); 30 | size_t sec = r_min / (1000); 31 | return boost::lexical_cast(mili) + "ms" 32 | + ((mili < 1000) ? "" : (boost::format(" (%uh:%um:%us)") % hour % min % sec).str()); 33 | } 34 | 35 | std::string displayTime(size_t time, size_t &acc) 36 | { 37 | acc += time; 38 | return displayTime(time); 39 | } 40 | 41 | 42 | } // namespace common 43 | } // namespace eagle 44 | -------------------------------------------------------------------------------- /src/c++/include/model/StructuralVariantType.hh: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | ** 7 | ** \description Component that deals with variant events. 8 | ** 9 | ** \author Mauricio Varea 10 | **/ 11 | 12 | #ifndef EAGLE_MODEL_STRUCTURAL_VARIANT_TYPE_HH 13 | #define EAGLE_MODEL_STRUCTURAL_VARIANT_TYPE_HH 14 | 15 | #include 16 | #include 17 | 18 | namespace eagle 19 | { 20 | namespace model 21 | { 22 | namespace variant 23 | { 24 | 25 | 26 | typedef std::bitset<7> Type; 27 | const Type Undefined(0); 28 | const Type SNP(0x1); 29 | const Type INS(0x2); 30 | const Type DEL(0x4); 31 | const Type InDel(INS | DEL); // 0x6 32 | const Type DUP(0x8); 33 | const Type INV(0x10); 34 | const Type XOVER(0x20); 35 | const Type Translocation(0x40); 36 | 37 | // initialization via specialization 38 | template T initialize(std::string chr, unsigned long pos, std::string ref, std::string alt, unsigned int altGtIndex=1); 39 | 40 | 41 | } // namespace variant 42 | } // namespace model 43 | } // namespace eagle 44 | 45 | #endif // EAGLE_GENOME_STRUCTURAL_VARIANT_TYPE_HH 46 | -------------------------------------------------------------------------------- /data/tests/expectedOutputs/reversed_events.fa: -------------------------------------------------------------------------------- 1 | >chr1_allele1 2 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 3 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 4 | GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 5 | GGGGGAAATAGGGGGGGGGGTGGGGAAATAGGGGGGGGGG 6 | >chr1_allele1_rev 7 | TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 8 | TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 9 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 10 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 11 | >chr3_allele1 12 | GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 13 | GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 14 | GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 15 | GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 16 | >chr4_allele1 17 | TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 18 | TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 19 | TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 20 | TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 21 | -------------------------------------------------------------------------------- /src/bash/libexec/getBclBases.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ $# -ne 5 ]; then 4 | echo "Usage:" 5 | echo " ${0##*/} " 6 | exit 1 7 | fi 8 | 9 | LANE=$1 10 | TILE=$2 11 | POS_IN_TILE=$3 12 | CYCLE1=$4 13 | CYCLE2=$5 14 | if [ $CYCLE1 -gt $CYCLE2 ] ; then 15 | REVERSE_COMPLEMENT=1 16 | STEP=-1 17 | BASES=TGCATGCA 18 | else 19 | REVERSE_COMPLEMENT=0 20 | STEP=1 21 | BASES=ACGTACGT 22 | fi 23 | 24 | let BYTENUM=POS_IN_TILE+4 25 | 26 | echo "Extracting read $LANE:$TILE:$POS_IN_TILE from cycle $CYCLE1 to $CYCLE2: reverse-complement=${REVERSE_COMPLEMENT}" 27 | 28 | for i in `seq $CYCLE1 $STEP $CYCLE2` ; 29 | do 30 | (hexdump -s $BYTENUM -n 1 -b RunFolder/Data/Intensities/BaseCalls/L00${LANE}/C$i.1/s_${LANE}_${TILE}.bcl | head -1 | head -c 11 |tail -c 1 | tr "01234567" "${BASES}"); 31 | done 32 | echo "" 33 | for i in `seq $CYCLE1 $STEP $CYCLE2` ; 34 | do 35 | BCL_BASE=`hexdump -s $BYTENUM -n 1 -b RunFolder/Data/Intensities/BaseCalls/L00${LANE}/C$i.1/s_${LANE}_${TILE}.bcl | head -1 | head -c 11 |tail -c 3` 36 | 37 | let QUAL=16*\(BCL_BASE/100%10\)+2*\(BCL_BASE/10%10\)+\(BCL_BASE%10/4\) 38 | echo -n "$BCL_BASE($QUAL)." 39 | done 40 | 41 | echo "" 42 | 43 | -------------------------------------------------------------------------------- /src/c++/include/model/PassFilter.hh: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | ** 7 | ** \description Class used to determine whether a cluster will Pass Filter (PF) or not 8 | ** 9 | ** \author Lilian Janin 10 | **/ 11 | 12 | #ifndef EAGLE_MODEL_PASS_FILTER_HH 13 | #define EAGLE_MODEL_PASS_FILTER_HH 14 | 15 | #include 16 | 17 | 18 | namespace eagle 19 | { 20 | namespace model 21 | { 22 | 23 | class PassFilter 24 | { 25 | public: 26 | static bool isBclClusterPassingFilter( const char *bclCluster, const unsigned int clusterLength ) 27 | { 28 | unsigned int Ncount = 0; 29 | for (unsigned int i=0; ichr1_allele1 2 | ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTAC 3 | GTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT 4 | ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTAC 5 | GTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT 6 | >chr2_allele1 7 | ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTAC 8 | GTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT 9 | ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTAC 10 | GTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT 11 | >chr3_allele1 12 | ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTAC 13 | GTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT 14 | ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTAC 15 | GTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT 16 | >chr4_allele1 17 | ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTAC 18 | GTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT 19 | ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTAC 20 | GTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT 21 | -------------------------------------------------------------------------------- /src/c++/include/main/VcfComparator.hh: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | ** 7 | ** \description Top level component to induce variants in a reference. 8 | ** 9 | ** \author Lilian Janin 10 | **/ 11 | 12 | #ifndef EAGLE_MAIN_VCF_COMPARATOR_HH 13 | #define EAGLE_MAIN_VCF_COMPARATOR_HH 14 | 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | 23 | #include "genome/VariantList.hh" 24 | #include "main/VcfComparatorOptions.hh" 25 | 26 | namespace bfs = boost::filesystem; 27 | 28 | 29 | namespace eagle 30 | { 31 | namespace main 32 | { 33 | 34 | class VcfComparator 35 | { 36 | public: 37 | VcfComparator( const VcfComparatorOptions& options ); 38 | void run(); 39 | 40 | private: 41 | const VcfComparatorOptions &options_; 42 | eagle::genome::VariantList simulatedVariantList_; 43 | eagle::genome::VariantList calledVariantList_; 44 | }; 45 | 46 | } // namespace main 47 | } // namespace eagle 48 | 49 | #endif // EAGLE_MAIN_VCF_COMPARATOR_HH 50 | -------------------------------------------------------------------------------- /data/tests/expectedOutputs/inversion.fa: -------------------------------------------------------------------------------- 1 | >chr1_allele1 2 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 3 | TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 4 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 5 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 6 | >chr2_allele1 7 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 8 | GCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 9 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 10 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 11 | >chr3_allele1 12 | GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 13 | GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 14 | GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 15 | GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 16 | >chr4_allele1 17 | TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 18 | TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 19 | TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 20 | TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 21 | -------------------------------------------------------------------------------- /data/tests/expectedOutputs/indel.fa: -------------------------------------------------------------------------------- 1 | >chr1_allele1 2 | AAAAAAAAAAAAAAACCCCCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 3 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 4 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 5 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 6 | >chr2_allele1 7 | CCCCCCCCCCCCCCCTTTTTCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 8 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 9 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 10 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 11 | >chr3_allele1 12 | GGGGGGGGGGGGGGGAAAAAAAAGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 13 | GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 14 | GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 15 | GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 16 | GGG 17 | >chr4_allele1 18 | TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 19 | TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 20 | TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 21 | TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 22 | -------------------------------------------------------------------------------- /data/tests/expectedOutputs/transloc_right.fa: -------------------------------------------------------------------------------- 1 | >chr1_allele1 2 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 3 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 4 | GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 5 | TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 6 | >chr2_allele1 7 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 8 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 9 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 10 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 11 | >chr3_allele1 12 | GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 13 | GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 14 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 15 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 16 | >chr4_allele1 17 | TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 18 | TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 19 | TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 20 | GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 21 | -------------------------------------------------------------------------------- /data/tests/expectedOutputs/transloc_left.fa: -------------------------------------------------------------------------------- 1 | >chr1_allele1 2 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 3 | GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 4 | >chr3_allele1 5 | GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 6 | GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 7 | GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 8 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 9 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 10 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 11 | >chr3_allele1_rev 12 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 13 | TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 14 | >chr4_allele1 15 | TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 16 | TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 17 | TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 18 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 19 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 20 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 21 | -------------------------------------------------------------------------------- /src/c++/include/main/VcfComparatorOptions.hh: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | ** 7 | ** \description Command line options for 'vcfComparator' 8 | ** 9 | ** \author Lilian Janin 10 | **/ 11 | 12 | #ifndef EAGLE_MAIN_VCF_COMPARATOR_OPTIONS_HH 13 | #define EAGLE_MAIN_VCF_COMPARATOR_OPTIONS_HH 14 | 15 | #include 16 | #include 17 | #include 18 | 19 | #include "common/Program.hh" 20 | 21 | namespace eagle 22 | { 23 | namespace main 24 | { 25 | 26 | class VcfComparatorOptions : public eagle::common::Options 27 | { 28 | public: 29 | VcfComparatorOptions(); 30 | private: 31 | std::string usagePrefix() const {return std::string("Usage:\n") 32 | + std::string(" compareVcf [parameters] [options]");} 33 | void postProcess(boost::program_options::variables_map &vm); 34 | 35 | public: 36 | std::vector< boost::filesystem::path > simulatedVariants; 37 | std::vector< boost::filesystem::path > calledVariants; 38 | }; 39 | 40 | } // namespace main 41 | } // namespace eagle 42 | 43 | #endif // EAGLE_MAIN_VCF_COMPARATOR_OPTIONS_HH 44 | -------------------------------------------------------------------------------- /src/c++/bin/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## Copyright (c) 2014 Illumina, Inc. 4 | ## 5 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 6 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 7 | ## 8 | ## file CMakeLists.txt 9 | ## 10 | ## Configuration file for the c++/bin subdirectory 11 | ## 12 | ## author Mauricio Varea 13 | ## 14 | ################################################################################ 15 | 16 | include(${EAGLE_CXX_EXECUTABLE_CMAKE}) 17 | 18 | file (GLOB EAGLE_PROGRAM_SOURCE_LIST [a-z][a-zA-Z0-9]*.cpp) 19 | 20 | ## 21 | ## Generic rule for all the other programs 22 | ## 23 | #set(BAM_LIBRARY "${SAMTOOLS_DIR}/libbam.a") 24 | foreach(EAGLE_PROGRAM_SOURCE ${EAGLE_PROGRAM_SOURCE_LIST}) 25 | get_filename_component(EAGLE_PROGRAM ${EAGLE_PROGRAM_SOURCE} NAME_WE) 26 | add_executable (${EAGLE_PROGRAM} ${EAGLE_PROGRAM_SOURCE}) 27 | target_link_libraries (${EAGLE_PROGRAM} ${EAGLE_AVAILABLE_LIBRARIES} 28 | ${BAM_LIBRARY} ${Boost_LIBRARIES} ${LIBXML2_LIBRARIES} 29 | ${EAGLE_ADDITIONAL_LIB} ) 30 | install(TARGETS ${EAGLE_PROGRAM} RUNTIME DESTINATION ${EAGLE_BINDIR}) 31 | endforeach(EAGLE_PROGRAM_SOURCE) 32 | -------------------------------------------------------------------------------- /src/c++/libexec/diffBam/BamDiffOptions.hh: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | ** 7 | ** \description Command line options for 'bamDiff' 8 | ** 9 | ** \author Lilian Janin 10 | **/ 11 | 12 | #ifndef EAGLE_MAIN_BAM_ANALYSER_OPTIONS_HH 13 | #define EAGLE_MAIN_BAM_ANALYSER_OPTIONS_HH 14 | 15 | #include 16 | #include 17 | #include 18 | 19 | #include "common/Program.hh" 20 | 21 | namespace eagle 22 | { 23 | namespace main 24 | { 25 | 26 | class BamDiffOptions : public eagle::common::Options 27 | { 28 | public: 29 | BamDiffOptions(); 30 | std::map exceptionPloidy() const; 31 | private: 32 | std::string usagePrefix() const {return std::string("Usage:\n") 33 | + std::string(" diffBam [parameters] [options]");} 34 | std::string usageSuffix() const; 35 | void postProcess(boost::program_options::variables_map &vm); 36 | 37 | public: 38 | boost::filesystem::path masterBamFile; 39 | boost::filesystem::path slaveBamFile; 40 | }; 41 | 42 | } // namespace main 43 | } // namespace eagle 44 | 45 | #endif // EAGLE_MAIN_BAM_ANALYSER_OPTIONS_HH 46 | -------------------------------------------------------------------------------- /data/tests/expectedOutputs/diploid_full_deletion.fa: -------------------------------------------------------------------------------- 1 | >chr1_allele1 2 | A 3 | >chr1_allele2 4 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 5 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 6 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 7 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 8 | >chr2_allele1 9 | C 10 | >chr2_allele2 11 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 12 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 13 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 14 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 15 | >chr3_allele1 16 | >chr3_allele2 17 | GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 18 | GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 19 | GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 20 | GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 21 | >chr4_allele1 22 | >chr4_allele2 23 | TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 24 | TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 25 | TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 26 | TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 27 | -------------------------------------------------------------------------------- /src/makefiles/common.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## Copyright (c) 2014 Illumina, Inc. 4 | ## 5 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 6 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 7 | ## 8 | ## description Main workflow. 9 | ## 10 | ## author Mauricio Varea 11 | ## 12 | ################################################################################ 13 | 14 | SHELL := /bin/bash 15 | EAGLE_BINDIR := @EAGLE_FULL_BINDIR@ 16 | EAGLE_LIBEXECDIR := @EAGLE_FULL_LIBEXECDIR@ 17 | 18 | NULL := 19 | SPACE :=$(NULL) $(NULL) 20 | COMMA :=, 21 | PIPE :=| 22 | BACKSLASHED_PIPE :=\| 23 | 24 | AND = && 25 | OR = || 26 | MKDIR = mkdir -p 27 | SLEEP = sleep 28 | TOUCH = touch 29 | WIPE_OUT = rm -rf 30 | TIME = /usr/bin/time -v -o $(EAGLE_OUTDIR)/time.log --append 31 | 32 | APPLY_VARIANTS := $(EAGLE_BINDIR)/applyVariants 33 | ALLOCATE_FRAGMENTS := $(EAGLE_BINDIR)/allocateFragments 34 | CREATE_RUN_FOLDER := $(EAGLE_BINDIR)/createRunFolder 35 | SIMULATE_SEQUENCER := $(EAGLE_LIBEXECDIR)/simulateSequencer 36 | CANONICAL2SEGMENTS := $(EAGLE_LIBEXECDIR)/canonical2segments 37 | 38 | #Index = $(shell echo "$(2)" | sed -r -e "s/[ \t]+/\n/g" | grep -n $(1) | cut -d ':' -f 1) 39 | 40 | .PRECIOUS: %/.sentinel 41 | %/.sentinel: 42 | $(MKDIR) $* $(OR) ( $(SLEEP) 5 $(AND) $(MKDIR) $* ); $(TOUCH) $@ 43 | -------------------------------------------------------------------------------- /src/c++/libexec/analyseBam/BamAnalyserOptions.hh: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | ** 7 | ** \description Command line options for 'bamAnalyser' 8 | ** 9 | ** \author Lilian Janin 10 | **/ 11 | 12 | #ifndef EAGLE_MAIN_BAM_ANALYSER_OPTIONS_HH 13 | #define EAGLE_MAIN_BAM_ANALYSER_OPTIONS_HH 14 | 15 | #include 16 | #include 17 | #include 18 | 19 | #include "common/Program.hh" 20 | 21 | namespace eagle 22 | { 23 | namespace main 24 | { 25 | 26 | class BamAnalyserOptions : public eagle::common::Options 27 | { 28 | public: 29 | BamAnalyserOptions(); 30 | std::map exceptionPloidy() const; 31 | private: 32 | std::string usagePrefix() const {return std::string("Usage:\n") 33 | + std::string(" analyseBam [parameters] [options]");} 34 | std::string usageSuffix() const; 35 | void postProcess(boost::program_options::variables_map &vm); 36 | 37 | public: 38 | boost::filesystem::path bamFile; 39 | boost::filesystem::path referenceGenome; 40 | std::string requestedMetrics; 41 | std::string requestedTables; 42 | }; 43 | 44 | } // namespace main 45 | } // namespace eagle 46 | 47 | #endif // EAGLE_MAIN_BAM_ANALYSER_OPTIONS_HH 48 | -------------------------------------------------------------------------------- /src/c++/libexec/canonical2segments/CanonicalToSegmentsConverterOptions.hh: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | ** 7 | ** \description Command line options for 'canonicalToSegmentsConverter' 8 | ** 9 | ** \author Lilian Janin 10 | **/ 11 | 12 | #ifndef EAGLE_MAIN_CANONICAL_TO_SEGMENTS_CONVERTER_OPTIONS_HH 13 | #define EAGLE_MAIN_CANONICAL_TO_SEGMENTS_CONVERTER_OPTIONS_HH 14 | 15 | #include 16 | #include 17 | #include 18 | 19 | #include "common/Program.hh" 20 | 21 | namespace eagle 22 | { 23 | namespace main 24 | { 25 | 26 | class CanonicalToSegmentsConverterOptions : public eagle::common::Options 27 | { 28 | public: 29 | CanonicalToSegmentsConverterOptions(); 30 | std::map exceptionPloidy() const; 31 | private: 32 | std::string usagePrefix() const {return std::string("Usage:\n") 33 | + std::string(" canonical2segments [parameters] [options]");} 34 | void postProcess(boost::program_options::variables_map &vm); 35 | 36 | public: 37 | boost::filesystem::path input; 38 | boost::filesystem::path outputDir; 39 | }; 40 | 41 | } // namespace main 42 | } // namespace eagle 43 | 44 | #endif // EAGLE_MAIN_CANONICAL_TO_SEGMENTS_CONVERTER_OPTIONS_HH 45 | -------------------------------------------------------------------------------- /src/analysis/cpp/add_translocations/AddTranslocations.h: -------------------------------------------------------------------------------- 1 | #ifndef ADD_TRANSLOCATIONS_H 2 | #define ADD_TRANSLOCATIONS_H 3 | 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | 10 | #include 11 | #include 12 | 13 | #include 14 | #include // includes interval tree and related tools 15 | 16 | #include 17 | #include 18 | #include 19 | #include 20 | 21 | #include "VcfVariant.h" 22 | 23 | using namespace seqan; 24 | 25 | typedef String TSequence; 26 | typedef IntervalTree TIntervalTree; 27 | typedef std::map TIntervalTreeMap; 28 | 29 | //#define DEBUG 30 | 31 | struct Options { 32 | 33 | bool showHelp; 34 | bool showVersion; 35 | unsigned verbosity; 36 | 37 | CharString gapFile; 38 | CharString refFile; 39 | CharString outputFile; 40 | CharString vcfInfile; 41 | 42 | CharString sampleId; 43 | 44 | unsigned numTranslocations; 45 | unsigned randomSeed; 46 | 47 | Options() { 48 | showHelp = false; 49 | showVersion = false; 50 | verbosity = 1; 51 | numTranslocations = 500; 52 | randomSeed = 0; 53 | sampleId = "NA12878"; 54 | } 55 | }; 56 | 57 | #endif // ADD_TRANSLOCATIONS_H 58 | -------------------------------------------------------------------------------- /src/perl/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## Copyright (c) 2014 Illumina, Inc. 4 | ## 5 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 6 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 7 | ## 8 | ## file CMakeLists.txt 9 | ## 10 | ## Configuration file for the perl subdirectory 11 | ## 12 | ## author Lilian Janin, Mauricio Varea 13 | ## 14 | ################################################################################ 15 | 16 | include ("${EAGLE_GLOBALS_CMAKE}") 17 | 18 | install(CODE " 19 | include (\"${EAGLE_MACROS_CMAKE}\") 20 | configure_files_recursively (\"${CMAKE_CURRENT_SOURCE_DIR}/bin\" \"${CMAKE_CURRENT_BINARY_DIR}/bin\" \"[a-z][a-zA-Z0-9]*.pl\") 21 | install_files_recursively (\"${CMAKE_CURRENT_BINARY_DIR}/bin\" \"${EAGLE_ORIG_BINDIR}\" \"[a-z][a-zA-Z0-9]*.pl\" \"\${EAGLE_EXECUTABLE_PERMISSIONS}\") 22 | ") 23 | 24 | ## 25 | ## build all the libraries for the project 26 | ## 27 | add_subdirectory (lib) 28 | 29 | ## 30 | ## build all the internal applications for the project 31 | ## 32 | add_subdirectory (libexec) 33 | 34 | ## Temporarily: 35 | #file (GLOB EAGLE_PROGRAM_LIST configure[a-zA-Z0-9]*.pl) 36 | #install(FILES ${EAGLE_PROGRAM_LIST} 37 | # DESTINATION ${EAGLE_BINDIR} 38 | # PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ OWNER_EXECUTE GROUP_EXECUTE WORLD_EXECUTE) 39 | 40 | -------------------------------------------------------------------------------- /src/c++/libexec/analyseFastq/FastqAnalyserOptions.hh: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2018 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | ** 7 | ** \description Command line options for 'fastqAnalyser' 8 | ** 9 | ** \author Lilian Janin 10 | **/ 11 | 12 | #ifndef EAGLE_MAIN_FASTQ_ANALYSER_OPTIONS_HH 13 | #define EAGLE_MAIN_FASTQ_ANALYSER_OPTIONS_HH 14 | 15 | #include 16 | #include 17 | #include 18 | 19 | #include "common/Program.hh" 20 | 21 | namespace eagle 22 | { 23 | namespace main 24 | { 25 | 26 | class FastqAnalyserOptions : public eagle::common::Options 27 | { 28 | public: 29 | FastqAnalyserOptions(); 30 | std::map exceptionPloidy() const; 31 | private: 32 | std::string usagePrefix() const {return std::string("Usage:\n") 33 | + std::string(" analyseFastq [parameters] [options]");} 34 | std::string usageSuffix() const; 35 | void postProcess(boost::program_options::variables_map &vm); 36 | 37 | public: 38 | boost::filesystem::path fastqFile; 39 | boost::filesystem::path referenceGenome; 40 | std::string requestedMetrics; 41 | std::string requestedTables; 42 | }; 43 | 44 | } // namespace main 45 | } // namespace eagle 46 | 47 | #endif // EAGLE_MAIN_FASTQ_ANALYSER_OPTIONS_HH 48 | -------------------------------------------------------------------------------- /src/c++/lib/common/cppunit/testLogger.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | **/ 7 | 8 | #include 9 | #include 10 | #include 11 | 12 | using namespace std; 13 | 14 | #include "RegistryName.hh" 15 | #include "testLogger.hh" 16 | 17 | using namespace eagle::common; 18 | 19 | CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( TestLogger, registryName("Logger")); 20 | 21 | static const size_t MiliSec(1000); 22 | static const size_t Sec(1000 * MiliSec); 23 | static const size_t Min(60 * Sec); 24 | static const size_t Hour(60 * Min); 25 | 26 | void TestLogger::setUp() 27 | { 28 | } 29 | 30 | void TestLogger::tearDown() 31 | { 32 | } 33 | 34 | 35 | void TestLogger::testTime() 36 | { 37 | CPPUNIT_ASSERT_EQUAL( string("999ms"), displayTime(static_cast(999 * MiliSec)) ); 38 | CPPUNIT_ASSERT_EQUAL( string("1000ms (0h:0m:1s)"), displayTime(static_cast( 1 * Sec)) ); 39 | CPPUNIT_ASSERT_EQUAL( string("60000ms (0h:1m:0s)"), displayTime(static_cast( 1 * Min)) ); 40 | CPPUNIT_ASSERT_EQUAL( string("3600000ms (1h:0m:0s)"), displayTime(static_cast( 1 * Hour)) ); 41 | CPPUNIT_ASSERT_EQUAL( string("9045500ms (2h:30m:45s)"), displayTime(static_cast(2 * Hour + 30 * Min + 45 * Sec + 500 * MiliSec)) ); 42 | } 43 | 44 | -------------------------------------------------------------------------------- /src/c++/libexec/generateHomopolymerIndelVcf/HomopolymerIndelVcfGenerator.hh: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | ** 7 | ** \author Lilian Janin 8 | **/ 9 | 10 | #ifndef EAGLE_MAIN_HOMOPOLYMER_INDEL_VCF_GENERATOR_HH 11 | #define EAGLE_MAIN_HOMOPOLYMER_INDEL_VCF_GENERATOR_HH 12 | 13 | #include 14 | #include 15 | #include 16 | #include 17 | 18 | #include "genome/Reference.hh" 19 | #include "io/BamParserFilter.hh" 20 | #include "HomopolymerIndelVcfGeneratorOptions.hh" 21 | 22 | 23 | namespace eagle 24 | { 25 | namespace main 26 | { 27 | 28 | 29 | class HomopolymerIndelVcfGenerator 30 | { 31 | public: 32 | HomopolymerIndelVcfGenerator (const HomopolymerIndelVcfGeneratorOptions &options); 33 | void run(); 34 | 35 | private: 36 | const HomopolymerIndelVcfGeneratorOptions &options_; 37 | boost::mt19937 randomGen_; 38 | std::vector< std::vector< double > > insertionProbabilities_, deletionProbabilities_; 39 | 40 | void processHomopolymer( const unsigned int homopolymerLength, const std::string &contigName, const unsigned long startPos, const char base ); 41 | }; 42 | 43 | 44 | } // namespace main 45 | } // namespace eagle 46 | 47 | #endif // EAGLE_MAIN_HOMOPOLYMER_INDEL_VCF_GENERATOR_HH 48 | -------------------------------------------------------------------------------- /data/tests/expectedOutputs/duplication.fa: -------------------------------------------------------------------------------- 1 | >chr1_allele1 2 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 3 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 4 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 5 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 6 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 7 | >chr2_allele1 8 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 9 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 10 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 11 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 12 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 13 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 14 | >chr3_allele1 15 | GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 16 | GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 17 | GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 18 | GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 19 | >chr4_allele1 20 | TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 21 | TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 22 | TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 23 | TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 24 | -------------------------------------------------------------------------------- /src/c++/libexec/generateHomopolymerIndelVcf/HomopolymerIndelVcfGeneratorOptions.hh: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | ** 7 | ** \description Command line options for 'homopolymerIndelVcfGenerator' 8 | ** 9 | ** \author Lilian Janin 10 | **/ 11 | 12 | #ifndef EAGLE_MAIN_HOMOPOLYMER_INDEL_VCF_GENERATOR_OPTIONS_HH 13 | #define EAGLE_MAIN_HOMOPOLYMER_INDEL_VCF_GENERATOR_OPTIONS_HH 14 | 15 | #include 16 | #include 17 | #include 18 | 19 | #include "common/Program.hh" 20 | 21 | namespace eagle 22 | { 23 | namespace main 24 | { 25 | 26 | class HomopolymerIndelVcfGeneratorOptions : public eagle::common::Options 27 | { 28 | public: 29 | HomopolymerIndelVcfGeneratorOptions(); 30 | std::map exceptionPloidy() const; 31 | private: 32 | std::string usagePrefix() const {return std::string("Usage:\n") 33 | + std::string(" generateHomopolymerIndelVcf [parameters] [options]");} 34 | std::string usageSuffix() const; 35 | void postProcess(boost::program_options::variables_map &vm); 36 | 37 | public: 38 | boost::filesystem::path indelProbabilitiesFile; 39 | boost::filesystem::path referenceGenome; 40 | }; 41 | 42 | } // namespace main 43 | } // namespace eagle 44 | 45 | #endif // EAGLE_MAIN_HOMOPOLYMER_INDEL_VCF_GENERATOR_OPTIONS_HH 46 | -------------------------------------------------------------------------------- /src/c++/lib/io/Bam.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | ** 7 | ** \description Writer component for BAM files. 8 | ** 9 | ** \author Lilian Janin 10 | **/ 11 | 12 | #include "io/Bam.hh" 13 | 14 | 15 | using namespace std; 16 | 17 | #define INDEX_FOREACH(index,a,b) \ 18 | for(int index = -1; index == -1;) \ 19 | BOOST_FOREACH(a,b) if(++index,true) 20 | 21 | 22 | namespace eagle 23 | { 24 | namespace io 25 | { 26 | 27 | 28 | void serialize(std::ostream &os, const char* bytes, size_t size) 29 | { 30 | // std::cerr << "writing: " << size << " bytes\n"; 31 | if (!os.write(bytes, size)) 32 | { 33 | BOOST_THROW_EXCEPTION( 34 | eagle::common::IoException(errno, (boost::format("Failed to write %d bytes into bam stream") % size).str())); 35 | } 36 | } 37 | 38 | void serializeBgzfFooter(std::ostream &os) 39 | { 40 | // For some strange reason, samtools wants an empty block at the very end of a compressed bam. 41 | // They call it 'magic'. Note, last \0 is removed (comparing to the original bgzf.c) because 42 | // the C++ compiler (rightfully) complains. 43 | const static char magic[28] = "\037\213\010\4\0\0\0\0\0\377\6\0\102\103\2\0\033\0\3\0\0\0\0\0\0\0\0"; 44 | serialize(os, magic, sizeof(magic)); 45 | } 46 | 47 | 48 | } // namespace genome 49 | } // namespace eagle 50 | -------------------------------------------------------------------------------- /src/c++/lib/io/cppunit/testVcf.hh: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | **/ 7 | 8 | #ifndef EAGLE_MODEL_TEST_VCF_HH 9 | #define EAGLE_MODEL_TEST_VCF_HH 10 | 11 | #include 12 | 13 | #include "io/Vcf.hh" 14 | 15 | 16 | class TestVcf : public CppUnit::TestFixture 17 | { 18 | CPPUNIT_TEST_SUITE( TestVcf ); 19 | CPPUNIT_TEST( testVcfParserSnp ); 20 | CPPUNIT_TEST( testVcfParserInsertions ); 21 | CPPUNIT_TEST( testVcfParserDeletions ); 22 | CPPUNIT_TEST( testVcfParserIndels ); 23 | CPPUNIT_TEST( testVcfParserTranslocations ); 24 | CPPUNIT_TEST( testVcfParserInversions ); 25 | CPPUNIT_TEST( testVcfParserDuplications ); 26 | CPPUNIT_TEST( testVcfParserQualityField ); 27 | CPPUNIT_TEST( testVcfParserFilterField ); 28 | CPPUNIT_TEST( testVcfParserInfoField ); 29 | CPPUNIT_TEST_SUITE_END(); 30 | public: 31 | void setUp(); 32 | void tearDown(); 33 | void testVcfParserSnp(); 34 | void testVcfParserInsertions(); 35 | void testVcfParserDeletions(); 36 | void testVcfParserIndels(); 37 | void testVcfParserTranslocations(); 38 | void testVcfParserInversions(); 39 | void testVcfParserDuplications(); 40 | void testVcfParserQualityField(); 41 | void testVcfParserFilterField(); 42 | void testVcfParserInfoField(); 43 | }; 44 | 45 | #endif //EAGLE_MODEL_TEST_VCF_HH 46 | -------------------------------------------------------------------------------- /data/GcCoverageFitTables/Homo_sapiens.example1.tsv: -------------------------------------------------------------------------------- 1 | #GC_content(%) Normalised coverage Num_windows 2 | # Column 2 = desired_bam_coverage / ref_coverage , for this GC% 3 | # Column 3 is optional, but useful to generate a precise number of simulated reads 4 | 0 1.0000000 816160 5 | 2 1.0000000 837454 6 | 4 1.0000000 1230102 7 | 6 1.0000000 1686423 8 | 8 1.0000000 2690638 9 | 10 1.0000000 4577136 10 | 12 1.0000000 8466363 11 | 14 1.0000000 15558646 12 | 16 1.0000000 27792248 13 | 18 1.0000000 46884995 14 | 20 1.0000000 74349369 15 | 22 0.9372086 110098426 16 | 24 0.8587064 152968446 17 | 26 0.8275988 199597749 18 | 28 0.8128749 246037956 19 | 30 0.8242441 289323536 20 | 32 0.8415586 325896697 21 | 34 0.8624385 352660924 22 | 36 0.8957215 367594666 23 | 38 0.9272131 369846381 24 | 40 0.9407128 359401798 25 | 42 0.9439427 337560573 26 | 44 0.9423469 309599878 27 | 46 0.9532909 279275826 28 | 48 0.9600580 250537075 29 | 50 0.9655342 226879624 30 | 52 1.0000000 209443315 31 | 54 0.9408396 195419063 32 | 56 0.8529945 179951097 33 | 58 0.8020479 158698723 34 | 60 0.7637538 130457722 35 | 62 0.7508049 98833146 36 | 64 0.7528954 69934612 37 | 66 0.7699404 47315156 38 | 68 0.7874073 31054265 39 | 70 0.8171686 20192634 40 | 72 0.8434613 13063899 41 | 74 0.8709620 8579697 42 | 76 0.9187793 5708161 43 | 78 0.9797961 3881139 44 | 80 1.0000000 2825989 45 | 82 1.0000000 2141130 46 | 84 1.0000000 1566763 47 | 86 1.0000000 983890 48 | 88 1.0000000 515041 49 | 90 1.0000000 267514 50 | 92 1.0000000 134815 51 | 94 1.0000000 60581 52 | 96 1.0000000 25091 53 | 98 1.0000000 8896 54 | 100 1.0000000 3762 55 | 56 | -------------------------------------------------------------------------------- /src/cmake/bootstrap/common.sh: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## Copyright (c) 2014 Illumina, Inc. 4 | ## 5 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 6 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 7 | ## 8 | ## file common.sh 9 | ## 10 | ## Definition of functions and variables common to all bootstrap scripts. 11 | ## 12 | ## author Mauricio Varea 13 | ## 14 | ################################################################################ 15 | 16 | function common_options () { 17 | TEMP=`getopt -n $SCRIPT -o fc -- "$@"` 18 | if [ $? != 0 ] ; then echo $SCRIPT: invalid option >&2; echo "Terminating..." >&2 ; exit 2 ; fi 19 | eval set -- "$TEMP" 20 | FORCE= 21 | CLEAN= 22 | while true ; do 23 | case "$1" in 24 | -f) FORCE=true ; shift ;; 25 | -c) CLEAN=true ; shift ;; 26 | --) shift ; break ;; 27 | *) echo "Internal error!" >&2; exit 2 ;; 28 | esac 29 | done 30 | } 31 | 32 | function common_create_source () { 33 | if [[ ! -e $SOURCE_TARBALL ]] ; then 34 | echo $SCRIPT: source tarball $SOURCE_TARBALL not found >&2 35 | exit 2 36 | fi 37 | echo Decompressing $SOURCE_TARBALL >&2 38 | mkdir -p ${BUILD_DIR} 39 | tar -C ${BUILD_DIR} -${TARBALL_COMPRESSION}xf $SOURCE_TARBALL 40 | 41 | if [[ ! -d $SOURCE_DIR ]] ; then 42 | echo $SOURCE_DIR does not exist >&2 43 | exit 2 44 | fi 45 | } 46 | 47 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2014 Illumina, Inc. 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are met: 6 | * Redistributions of source code must retain the above copyright 7 | notice, this list of conditions and the following disclaimer. 8 | * Redistributions in binary form must reproduce the above copyright 9 | notice, this list of conditions and the following disclaimer in the 10 | documentation and/or other materials provided with the distribution. 11 | * Neither the name of Illumina nor the 12 | names of its contributors may be used to endorse or promote products 13 | derived from this software without specific prior written permission. 14 | 15 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 16 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18 | DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY 19 | DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 21 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 22 | ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 24 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 | 26 | -------------------------------------------------------------------------------- /src/c++/lib/main/VcfComparatorOptions.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | ** 7 | ** \description Command line options for 'vcfComparator' 8 | ** 9 | ** \author Lilian Janin 10 | **/ 11 | 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | 18 | #include "main/VcfComparatorOptions.hh" 19 | 20 | namespace eagle 21 | { 22 | namespace main 23 | { 24 | 25 | namespace bpo = boost::program_options; 26 | namespace bfs = boost::filesystem; 27 | 28 | VcfComparatorOptions::VcfComparatorOptions() 29 | { 30 | parameters_.add_options() 31 | ("simulated-variants,s", bpo::value< std::vector< bfs::path > >(&simulatedVariants), 32 | "[input] \tFull path to the simulated variants VCF file (multiple occurrences allowed)") 33 | ("called-variants,c", bpo::value< std::vector< bfs::path > >(&calledVariants), 34 | "[input] \tFull path to the called variants VCF file (multiple occurrences allowed)") 35 | ; 36 | } 37 | 38 | void VcfComparatorOptions::postProcess(bpo::variables_map &vm) 39 | { 40 | eagle::common::OptionsHelper check(vm); 41 | 42 | check.requiredOptions( 43 | boost::assign::list_of("simulated-variants")("called-variants") 44 | ); 45 | } 46 | 47 | } //namespace main 48 | } // namespace eagle 49 | -------------------------------------------------------------------------------- /src/c++/libexec/fastaDump/fastaDump.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | ** 7 | **/ 8 | 9 | 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | #include 23 | #include 24 | 25 | 26 | #include "FastaDumper.hh" 27 | #include "FastaDumperOptions.hh" 28 | 29 | 30 | static void fastaDumperLauncher(const eagle::main::FastaDumperOptions &options) 31 | { 32 | if (eagle::main::FastaDumperOptions::WHOLE_DIR == options.mode) 33 | { 34 | std::clog << (boost::format("Looking for a reference genome in %s ...") % options.fastaFiles[0] ).str() << std::endl; 35 | eagle::main::FastaDumper fastaDumper( 36 | options.fastaFiles[0], 37 | options.position, 38 | options.size 39 | ); 40 | fastaDumper.run(); 41 | } else { 42 | eagle::main::FastaDumper fastaDumper( 43 | options.fastaFiles, 44 | options.position, 45 | options.size 46 | ); 47 | fastaDumper.run(); 48 | } 49 | } 50 | 51 | int main(int argc, char *argv[]) 52 | { 53 | eagle::common::run(fastaDumperLauncher, argc, argv); 54 | } 55 | -------------------------------------------------------------------------------- /src/c++/libexec/fastaDump/FastaDumperOptions.hh: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | ** 7 | ** \description Command line options for 'fastaDump' 8 | ** 9 | ** \author Mauricio Varea 10 | **/ 11 | 12 | #ifndef EAGLE_MAIN_FASTA_DUMPER_OPTIONS_HH 13 | #define EAGLE_MAIN_FASTA_DUMPER_OPTIONS_HH 14 | 15 | #include 16 | #include 17 | #include 18 | 19 | #include "common/Program.hh" 20 | 21 | namespace eagle 22 | { 23 | namespace main 24 | { 25 | 26 | class FastaDumperOptions : public eagle::common::Options 27 | { 28 | public: 29 | enum Modes 30 | { 31 | UNDEFINED, 32 | SAFE_MODE, 33 | WHOLE_DIR 34 | }; 35 | FastaDumperOptions(); 36 | private: 37 | std::string usagePrefix() const {return std::string("Usage:\n") 38 | + std::string(" fastaDump [ [... ]] [options]\n") 39 | + std::string("Or:\n") 40 | + std::string(" fastaDump [options]");} 41 | void postProcess(boost::program_options::variables_map &vm); 42 | 43 | public: 44 | std::vector< boost::filesystem::path > fastaFiles; 45 | std::string position; 46 | unsigned long size; 47 | 48 | Modes mode; 49 | }; 50 | 51 | } // namespace main 52 | } // namespace eagle 53 | 54 | #endif // EAGLE_MAIN_FASTA_DUMPER_OPTIONS_HH 55 | -------------------------------------------------------------------------------- /src/makefiles/assign.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## Copyright (c) 2014 Illumina, Inc. 4 | ## 5 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 6 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 7 | ## 8 | ## description assignment of N variables. 9 | ## 10 | ## This Makefile recursively assigns N values into N variables. If there are 11 | ## any ':' in any value_i, this will be treated as a list. 12 | ## 13 | ## definition 14 | ## assign.keys:=var1 var2 ... varN 15 | ## assign.values:=value1 value2 ... valueN 16 | ## include assign.mk 17 | ## 18 | ## example: 19 | ## assign.keys:=v1 v2 v3 20 | ## assign.values:=a b:c:d e 21 | ## include assign.mk 22 | ## is equivalent to: 23 | ## v1:=a 24 | ## v2:=b c d 25 | ## v3:=e 26 | ## 27 | ## author Mauricio Varea 28 | ## 29 | ################################################################################ 30 | ifneq ($(words $(assign.keys)),$(words $(assign.values))) 31 | $(error $(words $(assign.keys)) keys vs. $(words $(assign.values)) values :\ 32 | Multiple assignments only work if the lists are of equal lengths) 33 | endif 34 | ifneq (,$(assign.keys)) 35 | $(firstword $(assign.keys)):=$(subst :, ,$(firstword $(assign.values))) 36 | ifneq (1,$(words $(assign.keys))) 37 | assign.keys:=$(wordlist 2,$(words $(assign.keys)),$(assign.keys)) 38 | assign.values:=$(wordlist 2,$(words $(assign.values)),$(assign.values)) 39 | else 40 | assign.keys:= 41 | assign.values:= 42 | endif 43 | include $(MAKEFILES_DIR)/assign.mk 44 | endif 45 | -------------------------------------------------------------------------------- /src/analysis/cpp/add_translocations/VcfVariant.h: -------------------------------------------------------------------------------- 1 | #ifndef VCF_VARIANT_H 2 | #define VCF_VARIANT_H 3 | 4 | #include 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | 12 | using std::string; 13 | 14 | struct VcfRecord; // forward declaration because I like to put the typedefs at the beginning 15 | 16 | typedef std::vector vcfStore; 17 | 18 | struct VcfRecord { 19 | 20 | VcfRecord() : pos(0),len(0),qual(0) {} 21 | 22 | VcfRecord(std::string c, int p, int l, std::string i, std::string r, std::string a, 23 | int q, std::string fi, std::string in, std::string fo, std::string g) 24 | : chr(c), pos(p), len(l), id(i), ref(r), alt(a), qual(q), 25 | filter(fi), info(in), format(fo), gt(g) {} 26 | 27 | std::string chr; 28 | int pos; 29 | int len; // length can be negative for backward loops in a breakpoint 30 | std::string id; 31 | std::string ref; 32 | std::string alt; 33 | int qual; 34 | std::string filter; 35 | std::string info; 36 | std::string format; 37 | std::string gt; 38 | }; 39 | 40 | class VcfParser { 41 | public: 42 | VcfParser() {}; 43 | 44 | void buildVcfRecordFromString(const std::string& vcfLine, VcfRecord& rec); 45 | 46 | private: 47 | bool _parseInfoFieldAndAssignLength(VcfRecord& rec, bool reverse); 48 | void _tokenizeLine(const std::string& vcfLine, std::vector& vcfTokens); 49 | int _stringToInt( const std::string& s ); 50 | }; 51 | 52 | std::ostream & operator<<(std::ostream& os, const VcfRecord & r); 53 | 54 | #endif // VCF_VARIANT_H 55 | -------------------------------------------------------------------------------- /src/c++/libexec/canonical2segments/CanonicalToSegmentsConverterOptions.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | ** 7 | ** \description Command line options for 'canonicalToSegmentsConverter' 8 | ** 9 | ** \author Lilian Janin 10 | **/ 11 | 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | 18 | #include "CanonicalToSegmentsConverterOptions.hh" 19 | 20 | 21 | namespace eagle 22 | { 23 | namespace main 24 | { 25 | 26 | namespace bpo = boost::program_options; 27 | namespace bfs = boost::filesystem; 28 | 29 | CanonicalToSegmentsConverterOptions::CanonicalToSegmentsConverterOptions() 30 | : input() 31 | , outputDir() 32 | { 33 | parameters_.add_options() 34 | ("input,i", bpo::value< bfs::path >(&input), 35 | "[input] \tFull path to the canonical.vcf file") 36 | ("output-dir,o", bpo::value< bfs::path >(&outputDir)->default_value(outputDir), 37 | "[output] \tFull path to the output directory") 38 | ; 39 | } 40 | 41 | void CanonicalToSegmentsConverterOptions::postProcess(bpo::variables_map &vm) 42 | { 43 | eagle::common::OptionsHelper check(vm); 44 | 45 | check.requiredOptions(boost::assign::list_of 46 | ("input") 47 | ("output-dir") 48 | ); 49 | } 50 | 51 | } //namespace main 52 | } // namespace eagle 53 | -------------------------------------------------------------------------------- /src/cmake/bootstrap/installLibzoo.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | ################################################################################ 3 | ## 4 | ## Copyright (c) 2014 Illumina, Inc. 5 | ## 6 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 7 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 8 | ## 9 | ## file installLibzoo.sh 10 | ## 11 | ## Script to install libzoo 12 | ## 13 | ## author Mauricio Varea 14 | ## 15 | ################################################################################ 16 | 17 | REDIST_DIR=$1 18 | INSTALL_DIR=$2 19 | if [[ $# -ge 3 ]] ; then PARALLEL=$3 ; else PARALLEL=1 ; fi 20 | 21 | . `dirname "$0"`/common.sh 22 | 23 | BUILD_DIR=${INSTALL_DIR}/build 24 | BIN_DIR=${INSTALL_DIR}/bin 25 | LIB_DIR=${INSTALL_DIR}/lib 26 | INCLUDE_DIR=${INSTALL_DIR}/include 27 | 28 | SCRIPT=`basename "$0"` 29 | VERSION=${EAGLE_LIBZOO_VERSION} 30 | SOURCE_TARBALL=${REDIST_DIR}/beetl-${VERSION}.tar.bz2 31 | TARBALL_COMPRESSION=j 32 | SOURCE_DIR=${BUILD_DIR}/beetl-${VERSION} 33 | 34 | common_options $@ 35 | 36 | if [[ $CLEAN ]] ; then 37 | echo removing $SOURCE_DIR 38 | rm -rf $SOURCE_DIR ${INCLUDE_DIR}/libzoo ${LIB_DIR}/liblibzoo_*.{a,so} 39 | exit 0 40 | fi 41 | 42 | common_create_source 43 | cd ${SOURCE_DIR} \ 44 | && ./configure --prefix=${INSTALL_DIR} \ 45 | && make -j$PARALLEL -C src libzoo.a \ 46 | && mkdir -p ${LIB_DIR} \ 47 | && cp src/libzoo.a ${LIB_DIR} 48 | 49 | if [ $? != 0 ] ; then echo "$SCRIPT: build failed: Terminating..." >&2 ; exit 1 ; fi 50 | 51 | #echo "Cleaning up ${SOURCE_DIR}" >&2 52 | #rm -rf ${SOURCE_DIR} 53 | 54 | echo "libzoo-$VERSION installed successfully" >&2 55 | -------------------------------------------------------------------------------- /src/cmake/preInstall/checkTargetPathsWritable/checkTargetPathWritable.cmake: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## Copyright (c) 2014 Illumina, Inc. 4 | ## 5 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 6 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 7 | ## 8 | ## file checkTargetPathWriteable.cmake 9 | ## 10 | ## Configuration file for the cppunit subfolders 11 | ## 12 | ## author Mauricio Varea 13 | ## 14 | ################################################################################ 15 | 16 | foreach (EAGLE_DEST_DIR ${EAGLE_DEST_DIRS}) 17 | message (STATUS "Testing access to ${EAGLE_DEST_DIR}...") 18 | execute_process(COMMAND "${CMAKE_COMMAND}" "-E" "make_directory" "${EAGLE_DEST_DIR}/.eagle" RESULT_VARIABLE TMP_RESULT ) 19 | if (TMP_RESULT) 20 | message (STATUS "ERROR: Directory is not writeable: ${EAGLE_DEST_DIR}") 21 | message (STATUS "If you don't have administrator access to the " 22 | "target installation location, please use --prefix " 23 | "command-line option when configuring EAGLE. " 24 | "Please use configure --help for all installer " 25 | "command-line options details.") 26 | message (FATAL_ERROR "ERROR: EAGLE installation cannot continue") 27 | else (TMP_RESULT) 28 | execute_process(COMMAND "${CMAKE_COMMAND}" "-E" "remove_directory" "${EAGLE_DEST_DIR}/.eagle" ) 29 | message (STATUS "Directory is writeable: ${EAGLE_DEST_DIR}") 30 | endif (TMP_RESULT) 31 | endforeach (EAGLE_DEST_DIR ${EAGLE_DEST_DIRS}) 32 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | EAGLE - Enhanced Artificial Genome Engine 2 | ========================================= 3 | 4 | The Enhanced Artificial Genome Engine (EAGLE) software is designed to simulate 5 | the behaviour of Illumina's Next Generation Sequencing instruments, in order to 6 | facilitate the development and testing of downstream applications. 7 | 8 | 9 | Dependencies 10 | ============ 11 | 12 | Required packages (based on a fresh Ubuntu install): 13 | 14 | CMake >= 2.8.2 15 | C++ compiler 16 | Boost development libraries >= 1.56 17 | LibXml 18 | Samtools 19 | dc 20 | bzip2 21 | which (in centos docker) 22 | time (in docker) 23 | 24 | All together: 25 | `apt-get install cmake g++ libboost-all-dev libxml2-dev libxml-simple-perl samtools dc bzip2 time` 26 | / `yum install cmake gcc-c++ boost-devel libxml2-devel perl-libxml-perl samtools bc bzip2 which time` 27 | 28 | Note: On some versions of CentOS you may need: `yum install libxml2-static glibc-static zlib-static` 29 | 30 | 31 | Installation Instructions 32 | ========================= 33 | 34 | `/src/configure` 35 | 36 | Note: We noticed that cmake doesn't always get detected. Adding "--with-cmake=cmake" helps. (I know...) 37 | 38 | 39 | Pre-built Docker image 40 | ====================== 41 | 42 | The following public Docker image is available: `ljanin/eagle:2.5.1` 43 | 44 | `sudo docker run -it --rm ljanin/eagle:2.5.1` 45 | 46 | 47 | Documentation 48 | ============= 49 | 50 | - http://htmlpreview.github.io/?https://github.com/sequencing/EAGLE/blob/master/doc/html/index.html 51 | - http://htmlpreview.github.io/?https://github.com/sequencing/EAGLE/blob/master/doc/html/index2.html 52 | 53 | -------------------------------------------------------------------------------- /src/c++/include/genome/TmpFastaReader.hh: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | ** 7 | ** \description Fast fasta reader, which we keep until the mainstream reader is faster than this one 8 | ** 9 | ** \author Lilian Janin 10 | **/ 11 | 12 | 13 | #ifndef TMP_FASTA_READER_HH 14 | #define TMP_FASTA_READER_HH 15 | 16 | #include 17 | #include 18 | #include 19 | 20 | #include "genome/Reference.hh" 21 | 22 | using namespace std; 23 | 24 | 25 | namespace eagle 26 | { 27 | namespace genome 28 | { 29 | 30 | 31 | struct TmpFastaFileInfo 32 | { 33 | ifstream *file; 34 | unsigned long globalPosMin, globalPosMax; 35 | unsigned int headerLength; 36 | unsigned int basesPerLine; 37 | unsigned long baseCount; 38 | string contigName; 39 | unsigned long fileSize; 40 | }; 41 | 42 | 43 | class TmpFastaReader 44 | { 45 | public: 46 | TmpFastaReader( const boost::filesystem::path &refDir ); 47 | const vector allContigNames() { return fastaRef_.allContigNames(); } 48 | const vector allContigLengths() { return fastaRef_.allContigLengths(); } 49 | char get( const unsigned long globalPos, const unsigned long offset, bool& overlapContigBoundary ); 50 | void convertFromGlobalPos( const unsigned long globalPos, int& refId, unsigned long& posInContig ); 51 | 52 | private: 53 | MultiFastaReference fastaRef_; 54 | vector fileInfos_; 55 | }; 56 | 57 | 58 | } // namespace genome 59 | } // namespace eagle 60 | 61 | #endif 62 | -------------------------------------------------------------------------------- /src/c++/unittest/cppunitTest.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | ** 7 | ** \description Main program used for all the cppunit tests 8 | ** 9 | ** \author Come Raczy 10 | **/ 11 | 12 | #include 13 | #include 14 | #include 15 | #include 16 | 17 | #include "RegistryName.hh" 18 | 19 | int main() 20 | { 21 | 22 | CppUnit::TextUi::TestRunner runner; 23 | // First add the tests from the named registries in the right order 24 | // To add/remove/modify a registry name, or to change its sequence 25 | // number, edit RegistryName.cpp 26 | for (std::vector::const_iterator name = getRegistryNameList().begin(); 27 | getRegistryNameList().end() != name; ++name) 28 | { 29 | CppUnit::Test *namedSuite = CppUnit::TestFactoryRegistry::getRegistry(*name).makeTest(); 30 | runner.addTest(namedSuite); 31 | } 32 | 33 | // Add the top level (unnamed) suite from the list of tests to run 34 | CppUnit::Test *suite = CppUnit::TestFactoryRegistry::getRegistry().makeTest(); 35 | runner.addTest( suite ); 36 | 37 | // Change the default outputter to a compiler error format outputter 38 | runner.setOutputter( new CppUnit::CompilerOutputter( &runner.result(), 39 | std::cerr ) ); 40 | // Run the tests. 41 | bool wasSuccessful = runner.run(); 42 | 43 | // Return error code 1 if the one of test failed. 44 | return wasSuccessful ? 0 : 1; 45 | } 46 | -------------------------------------------------------------------------------- /validation/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## Copyright (c) 2014 Illumina, Inc. 4 | ## 5 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 6 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 7 | ## 8 | ## file CMakeLists.txt 9 | ## 10 | ## Configuration file for the test directory 11 | ## 12 | ## author Mauricio Varea 13 | ## 14 | ################################################################################ 15 | 16 | include ("${EAGLE_GLOBALS_CMAKE}") 17 | 18 | 19 | # Install "test*" 20 | file (GLOB EAGLE_TEST_LIST RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" TestConfig/test*.mk) 21 | 22 | install(CODE " 23 | configure_file(\"${CMAKE_CURRENT_SOURCE_DIR}/Makefile.in\" \"${CMAKE_CURRENT_BINARY_DIR}/Makefile.top\" @ONLY) 24 | ") 25 | install(FILES "${CMAKE_CURRENT_BINARY_DIR}/Makefile.top" DESTINATION "${EAGLE_ORIG_DATADIR}/validation/" RENAME "Makefile") 26 | 27 | foreach(EAGLE_TEST_CFG ${EAGLE_TEST_LIST}) 28 | get_filename_component(EAGLE_TEST ${EAGLE_TEST_CFG} NAME_WE) 29 | message(STATUS "Configuring system-test: ${EAGLE_TEST}") 30 | install(CODE " 31 | set (EAGLE_TEST ${EAGLE_TEST}) 32 | configure_file(\"${CMAKE_CURRENT_SOURCE_DIR}/MakefileForTests.in\" \"${CMAKE_CURRENT_BINARY_DIR}/Makefile.${EAGLE_TEST}\" @ONLY) 33 | ") 34 | install(FILES "${CMAKE_CURRENT_BINARY_DIR}/Makefile.${EAGLE_TEST}" DESTINATION "${EAGLE_ORIG_DATADIR}/validation/${EAGLE_TEST}" RENAME "Makefile") 35 | install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/${EAGLE_TEST_CFG}" DESTINATION "${EAGLE_ORIG_DATADIR}/validation/${EAGLE_TEST}" RENAME "config.mk") 36 | endforeach(EAGLE_TEST_CFG) 37 | 38 | 39 | -------------------------------------------------------------------------------- /src/c++/lib/main/RunFolderGeneratorOptions.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | ** 7 | ** \description Command line options for 'runFolderGenerator' 8 | ** 9 | ** \author Lilian Janin 10 | **/ 11 | 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | 18 | #include "main/RunFolderGeneratorOptions.hh" 19 | 20 | namespace eagle 21 | { 22 | namespace main 23 | { 24 | 25 | namespace bpo = boost::program_options; 26 | namespace bfs = boost::filesystem; 27 | 28 | RunFolderGeneratorOptions::RunFolderGeneratorOptions() 29 | : outputDir("") 30 | , tileIdList("") 31 | { 32 | parameters_.add_options() 33 | ("run-info,i", bpo::value< bfs::path >(&runInfo), "[input] \tFull path to the RunInfo.xml file") 34 | ; 35 | 36 | namedOptions_.add_options() 37 | ("tile-id,t", bpo::value< std::string >(&tileIdList), "Comma-separated list of tile Ids") 38 | ; 39 | 40 | unnamedOptions_.add_options() 41 | ("output-dir,o", bpo::value< bfs::path >(&outputDir), "[output] \tOutput dir") 42 | ; 43 | positionalOptions_.add("output-dir",1); 44 | } 45 | 46 | void RunFolderGeneratorOptions::postProcess(bpo::variables_map &vm) 47 | { 48 | eagle::common::OptionsHelper check(vm); 49 | 50 | check.requiredOptions( 51 | boost::assign::list_of("output-dir")("run-info")("tile-id") 52 | ); 53 | 54 | boost::split( tileId, tileIdList, boost::is_any_of(",") ); 55 | } 56 | 57 | } //namespace main 58 | } // namespace eagle 59 | -------------------------------------------------------------------------------- /src/c++/include/main/RunFolderGenerator.hh: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | ** 7 | ** \description Top level component to induce variants in a reference. 8 | ** 9 | ** \author Lilian Janin 10 | **/ 11 | 12 | #ifndef EAGLE_MAIN_RUN_FOLDER_GENERATOR_HH 13 | #define EAGLE_MAIN_RUN_FOLDER_GENERATOR_HH 14 | 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | 23 | #include "io/RunInfo.hh" 24 | #include "main/RunFolderGeneratorOptions.hh" 25 | 26 | namespace bfs = boost::filesystem; 27 | 28 | 29 | namespace eagle 30 | { 31 | namespace main 32 | { 33 | 34 | class RunFolderGenerator 35 | { 36 | public: 37 | RunFolderGenerator( const RunFolderGeneratorOptions& options ); 38 | void run(); 39 | private: 40 | void generateDirectoryStructure() const; 41 | void generateMetadata() const; 42 | void generateRunInfo() const; 43 | void generateConfig() const; 44 | void generateSampleSheet() const; 45 | void generateMatrix() const; 46 | void generatePhasing() const; 47 | 48 | const RunFolderGeneratorOptions &options_; 49 | eagle::io::RunInfo runInfo_; 50 | const bfs::path runFolderPath_; 51 | const bfs::path dataPath_; 52 | const bfs::path intensitiesPath_; 53 | const bfs::path baseCallsPath_; 54 | 55 | string runFolder_, runFolderDate_, runFolderId_, instrument_, flowcell_; 56 | }; 57 | 58 | } // namespace main 59 | } // namespace eagle 60 | 61 | #endif // EAGLE_MAIN_RUN_FOLDER_GENERATOR_HH 62 | -------------------------------------------------------------------------------- /src/c++/include/genome/GcContent.hh: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | ** 7 | ** \description Set of classes to calculate and use GC content 8 | ** 9 | ** \author Lilian Janin 10 | **/ 11 | 12 | #ifndef EAGLE_GENOME_GC_CONTENT_HH 13 | #define EAGLE_GENOME_GC_CONTENT_HH 14 | 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | 22 | #include "model/Fragment.hh" 23 | #include "model/Nucleotides.hh" 24 | 25 | 26 | using namespace std; 27 | 28 | 29 | namespace eagle 30 | { 31 | namespace genome 32 | { 33 | 34 | 35 | class GcCoverageFit 36 | { 37 | public: 38 | GcCoverageFit( const boost::filesystem::path& gcCoverageFitFilename, const boost::filesystem::path& sampleGenomeDir/*, boost::shared_ptr randomGen*/ ); 39 | double averageMultiplier(); 40 | bool needsDiscarding( const model::Fragment& fragment ); 41 | bool needsDiscarding( const double gcContent ); 42 | 43 | private: 44 | bool isActive_; 45 | std::vector gcContentValues_; 46 | std::vector coverageMultiplierValues_; 47 | // boost::shared_ptr& randomGen_; 48 | eagle::model::IUPAC baseConverter_; 49 | double averageMultiplier_; 50 | 51 | void parseGcCoverageFitFile( const boost::filesystem::path& filename ); 52 | double getInterpolatedCoverageMultiplierForGcContent( const double gcContent ); 53 | }; 54 | 55 | 56 | 57 | } // namespace genome 58 | } // namespace eagle 59 | 60 | #endif // EAGLE_GENOME_GC_CONTENT_HH 61 | -------------------------------------------------------------------------------- /src/c++/libexec/generateHomopolymerIndelVcf/HomopolymerIndelVcfGeneratorOptions.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | ** 7 | ** \description Command line options for 'homopolymerIndelVcfGenerator' 8 | ** 9 | ** \author Lilian Janin 10 | **/ 11 | 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | 18 | #include "HomopolymerIndelVcfGeneratorOptions.hh" 19 | 20 | namespace eagle 21 | { 22 | namespace main 23 | { 24 | 25 | namespace bpo = boost::program_options; 26 | namespace bfs = boost::filesystem; 27 | 28 | HomopolymerIndelVcfGeneratorOptions::HomopolymerIndelVcfGeneratorOptions() 29 | { 30 | parameters_.add_options() 31 | ("indel-probabilities,i", bpo::value< bfs::path >(&indelProbabilitiesFile), 32 | "[input] \tFile containing the indel probabilities") 33 | ("reference-genome,r" , bpo::value< bfs::path >(&referenceGenome), 34 | "[input] \tFull path to the reference genome FASTA files") 35 | ; 36 | } 37 | 38 | std::string HomopolymerIndelVcfGeneratorOptions::usageSuffix() const 39 | { 40 | return ""; 41 | } 42 | 43 | void HomopolymerIndelVcfGeneratorOptions::postProcess(bpo::variables_map &vm) 44 | { 45 | eagle::common::OptionsHelper check(vm); 46 | 47 | check.requiredOptions(boost::assign::list_of 48 | ("indel-probabilities") 49 | ("reference-genome") 50 | ); 51 | } 52 | 53 | } //namespace main 54 | } // namespace eagle 55 | -------------------------------------------------------------------------------- /src/cmake/bootstrap/installBoost.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | ################################################################################ 3 | ## 4 | ## Copyright (c) 2014 Illumina, Inc. 5 | ## 6 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 7 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 8 | ## 9 | ## file installBoost.sh 10 | ## 11 | ## Script to install boost 12 | ## 13 | ## author Mauricio Varea 14 | ## 15 | ################################################################################ 16 | 17 | REDIST_DIR=$1 18 | INSTALL_DIR=$2 19 | if [[ $# -ge 3 ]] ; then PARALLEL=$3 ; else PARALLEL=1 ; fi 20 | 21 | . `dirname "$0"`/common.sh 22 | 23 | BUILD_DIR=${INSTALL_DIR}/build 24 | BIN_DIR=${INSTALL_DIR}/bin 25 | LIB_DIR=${INSTALL_DIR}/lib 26 | INCLUDE_DIR=${INSTALL_DIR}/include 27 | 28 | SCRIPT=`basename "$0"` 29 | VERSION=`echo ${EAGLE_BOOST_VERSION} | sed "s/\./_/g"` 30 | SOURCE_TARBALL=${REDIST_DIR}/boost_${VERSION}.tar.bz2 31 | TARBALL_COMPRESSION=j 32 | SOURCE_DIR=${BUILD_DIR}/boost_${VERSION} 33 | 34 | common_options $@ 35 | 36 | if [[ $CLEAN ]] ; then 37 | echo removing $SOURCE_DIR 38 | rm -rf $SOURCE_DIR ${INCLUDE_DIR}/boost ${LIB_DIR}/libboost_*.{a,so} 39 | exit 0 40 | fi 41 | 42 | common_create_source 43 | cd ${SOURCE_DIR} \ 44 | && ./bootstrap.sh ${BOOTSTRAP_OPTIONS} --prefix=${INSTALL_DIR} --with-libraries=`echo ${EAGLE_BOOST_COMPONENTS} | sed "s/;/,/g"` \ 45 | && ./bjam -j$PARALLEL ${BJAM_OPTIONS} --libdir=${INSTALL_DIR}/lib --layout=system link=static threading=multi install 46 | 47 | if [ $? != 0 ] ; then echo "$SCRIPT: build failed: Terminating..." >&2 ; exit 1 ; fi 48 | 49 | #echo "Cleaning up ${SOURCE_DIR}" >&2 50 | #rm -rf ${SOURCE_DIR} 51 | 52 | echo "boost-$VERSION installed successfully" >&2 53 | -------------------------------------------------------------------------------- /src/c++/include/main/FragmentsAllocator.hh: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | ** 7 | ** \author Lilian Janin 8 | **/ 9 | 10 | #ifndef EAGLE_FRAGMENTS_ALLOCATOR_HH 11 | #define EAGLE_FRAGMENTS_ALLOCATOR_HH 12 | 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | 22 | #include "model/Fragment.hh" 23 | #include "model/IntervalGenerator.hh" 24 | #include "genome/GcContent.hh" 25 | #include "FragmentsAllocatorOptions.hh" 26 | 27 | 28 | namespace eagle 29 | { 30 | namespace main 31 | { 32 | 33 | class FragmentsAllocator 34 | { 35 | public: 36 | FragmentsAllocator( const FragmentsAllocatorOptions &options ); 37 | void run(); 38 | 39 | private: 40 | void setRandomSeed(); 41 | model::FragmentWithAllocationMetadata getNextFragment( boost::shared_ptr& randomInterval, 42 | boost::shared_ptr& multiFragmentFilesReader, 43 | const unsigned long fragmentNum, 44 | const unsigned long fragmentCount ); 45 | 46 | const FragmentsAllocatorOptions &options_; 47 | // boost::shared_ptr< boost::mt19937 > randomGen_; 48 | genome::GcCoverageFit gcCoverageFit_; 49 | }; 50 | 51 | } // namespace main 52 | } // namespace eagle 53 | 54 | #endif // EAGLE_FRAGMENTS_ALLOCATOR_HH 55 | -------------------------------------------------------------------------------- /src/bash/test/testWholeDir.sh.in: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | source ${0%/*}/common.sh 3 | 4 | MUTATOR_EXE=$1 5 | BUILD_DIR=@CMAKE_BINARY_DIR@ 6 | TEST_SET=$2 7 | TEST_ID=$3 8 | 9 | DATA_DIR=${BUILD_DIR}/Testing/data 10 | OUT_DIR=${BUILD_DIR}/Testing/${TEST_SET}_${TEST_ID} 11 | 12 | mkdir -p "${OUT_DIR}" 13 | 14 | # Test 1: run mutator on provided variant list 15 | ${MUTATOR_EXE} --whole-genome=${DATA_DIR}/Genomes/acgt \ 16 | --variant-list=${DATA_DIR}/givenInputs/${TEST_ID}.vcf \ 17 | --sample-genome=${OUT_DIR}/sample_genome_1 \ 18 | --annotated-variant-list=${OUT_DIR}/canonical_1.vcf \ 19 | --organism-ploidy=1 \ 20 | --force >& ${OUT_DIR}/test_1.log 21 | 22 | cat ${OUT_DIR}/sample_genome_1/*.fa > ${OUT_DIR}/sample_genome_1.fa 23 | 24 | diff ${OUT_DIR}/sample_genome_1.fa ${DATA_DIR}/expectedOutputs/${TEST_ID}.fa > ${OUT_DIR}/unexpectedOutput_1.diff 25 | 26 | [ ! -s ${OUT_DIR}/unexpectedOutput_1.diff ] || (cat ${OUT_DIR}/unexpectedOutput_1.diff && exit 1) 27 | 28 | 29 | # Test 2 deactivated 30 | exit 0 31 | 32 | # Test 2: run mutator on modified variant list which was output from test 1 33 | ${MUTATOR_EXE} --whole-genome=${DATA_DIR}/Genomes/acgt \ 34 | --variant-list=${OUT_DIR}/canonical_1.vcf \ 35 | --sample-genome=${OUT_DIR}/sample_genome_2 \ 36 | --annotated-variant-list=${OUT_DIR}/canonical_2.vcf \ 37 | --organism-ploidy=1 \ 38 | --force >& ${OUT_DIR}/test_2.log 39 | 40 | cat ${OUT_DIR}/sample_genome_2/*.fa > ${OUT_DIR}/sample_genome_2.fa 41 | 42 | diff ${OUT_DIR}/sample_genome_2.fa ${DATA_DIR}/expectedOutputs/${TEST_ID}.fa > ${OUT_DIR}/unexpectedOutput_2.diff 43 | 44 | [ ! -s ${OUT_DIR}/unexpectedOutput_2.diff ] || (cat ${OUT_DIR}/unexpectedOutput_2.diff && exit 2) 45 | -------------------------------------------------------------------------------- /src/bash/test/testHaploid.sh.in: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | source ${0%/*}/common.sh 3 | 4 | MUTATOR_EXE=$1 5 | BUILD_DIR=@CMAKE_BINARY_DIR@ 6 | TEST_SET=$2 7 | TEST_ID=$3 8 | 9 | DATA_DIR=${BUILD_DIR}/Testing/data 10 | OUT_DIR=${BUILD_DIR}/Testing/${TEST_SET}_${TEST_ID} 11 | 12 | mkdir -p "${OUT_DIR}" 13 | 14 | # Test 1: run mutator on provided variant list 15 | ${MUTATOR_EXE} --reference-genome=${DATA_DIR}/Genomes/acgt.fa \ 16 | --variant-list=${DATA_DIR}/givenInputs/${TEST_ID}.vcf \ 17 | --sample-genome=${OUT_DIR}/sample_genome_1 \ 18 | --annotated-variant-list=${OUT_DIR}/canonical_1.vcf \ 19 | --organism-ploidy=1 \ 20 | --force >& ${OUT_DIR}/test_1.log 21 | 22 | cat ${OUT_DIR}/sample_genome_1/*.fa > ${OUT_DIR}/sample_genome_1.fa 23 | 24 | diff ${OUT_DIR}/sample_genome_1.fa ${DATA_DIR}/expectedOutputs/${TEST_ID}.fa > ${OUT_DIR}/unexpectedOutput_1.diff 25 | 26 | [ ! -s ${OUT_DIR}/unexpectedOutput_1.diff ] || (cat ${OUT_DIR}/unexpectedOutput_1.diff && exit 1) 27 | 28 | 29 | # Test 2 deactivated 30 | exit 0 31 | 32 | # Test 2: run mutator on modified variant list which was output from test 1 33 | ${MUTATOR_EXE} --reference-genome=${DATA_DIR}/Genomes/acgt.fa \ 34 | --variant-list=${OUT_DIR}/canonical_1.vcf \ 35 | --sample-genome=${OUT_DIR}/sample_genome_2 \ 36 | --annotated-variant-list=${OUT_DIR}/canonical_2.vcf \ 37 | --organism-ploidy=1 \ 38 | --force >& ${OUT_DIR}/test_2.log 39 | 40 | cat ${OUT_DIR}/sample_genome_2/*.fa > ${OUT_DIR}/sample_genome_2.fa 41 | 42 | diff ${OUT_DIR}/sample_genome_2.fa ${DATA_DIR}/expectedOutputs/${TEST_ID}.fa > ${OUT_DIR}/unexpectedOutput_2.diff 43 | 44 | [ ! -s ${OUT_DIR}/unexpectedOutput_2.diff ] || (cat ${OUT_DIR}/unexpectedOutput_2.diff && exit 2) 45 | -------------------------------------------------------------------------------- /src/c++/include/io/Fastq.hh: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2018 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | ** 7 | ** \description Writer component for FASTQ files. 8 | ** 9 | ** \author Lilian Janin 10 | **/ 11 | 12 | #ifndef EAGLE_IO_FASTQ_HH 13 | #define EAGLE_IO_FASTQ_HH 14 | 15 | 16 | #include 17 | #include 18 | #include 19 | #include "common/Exceptions.hh" 20 | #include "io/RunInfo.hh" 21 | 22 | 23 | namespace eagle 24 | { 25 | namespace io 26 | { 27 | 28 | 29 | class FastqTile 30 | { 31 | public: 32 | FastqTile( const unsigned long long expectedReadCount, const unsigned int clusterLength, const std::string &read1FastqFilename, const std::string &read2FastqFilename, const RunInfo &runInfo, const int lane, const unsigned int tileId, const bool verbose=true ); 33 | 34 | void addCluster( const std::string &read1Nucleotides, const std::string &read1Qualities, const std::string &read2Nucleotides, const std::string &read2Qualities, const bool isPassingFilter, const unsigned long coordX, const unsigned long coordY ); 35 | void finaliseAndWriteInfo(); 36 | 37 | private: 38 | 39 | unsigned long long expectedReadCount_; 40 | unsigned int clusterLength_; 41 | std::string filenameTemplate_; 42 | std::string read1FastqFilename_; 43 | std::string read2FastqFilename_; 44 | std::ofstream read1FastqFile_; 45 | std::ofstream read2FastqFile_; 46 | std::ofstream infoFile_; 47 | 48 | std::string readNamePrefix_; 49 | unsigned long long totalReadCount_; 50 | unsigned long long passedFilterReadCount_; 51 | }; 52 | 53 | 54 | 55 | } // namespace io 56 | } // namespace eagle 57 | 58 | #endif // EAGLE_IO_FASTQ_HH 59 | -------------------------------------------------------------------------------- /src/bash/test/testDiploid.sh.in: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | source ${0%/*}/common.sh 3 | 4 | MUTATOR_EXE=$1 5 | BUILD_DIR=@CMAKE_BINARY_DIR@ 6 | TEST_SET=$2 7 | TEST_ID=$3 8 | 9 | DATA_DIR=${BUILD_DIR}/Testing/data 10 | OUT_DIR=${BUILD_DIR}/Testing/${TEST_SET}_${TEST_ID} 11 | 12 | mkdir -p "${OUT_DIR}" 13 | 14 | # Test 1: run mutator on provided variant list 15 | ${MUTATOR_EXE} --reference-genome=${DATA_DIR}/Genomes/acgt.fa \ 16 | --variant-list=${DATA_DIR}/givenInputs/${TEST_ID}.vcf \ 17 | --sample-genome=${OUT_DIR}/sample_genome_1 \ 18 | --annotated-variant-list=${OUT_DIR}/canonical_1.vcf \ 19 | --organism-ploidy=2 \ 20 | --force >& ${OUT_DIR}/test_1.log 21 | 22 | cat ${OUT_DIR}/sample_genome_1/*.fa > ${OUT_DIR}/sample_genome_1.fa 23 | 24 | diff ${OUT_DIR}/sample_genome_1.fa ${DATA_DIR}/expectedOutputs/diploid_${TEST_ID}.fa > ${OUT_DIR}/unexpectedOutput_1.diff 25 | 26 | [ ! -s ${OUT_DIR}/unexpectedOutput_1.diff ] || (cat ${OUT_DIR}/unexpectedOutput_1.diff && exit 1) 27 | 28 | 29 | # Test 2 deactivated 30 | exit 0 31 | 32 | # Test 2: run mutator on modified variant list which was output from test 1 33 | ${MUTATOR_EXE} --reference-genome=${DATA_DIR}/Genomes/acgt.fa \ 34 | --variant-list=${OUT_DIR}/canonical_1.vcf \ 35 | --sample-genome=${OUT_DIR}/sample_genome_2 \ 36 | --annotated-variant-list=${OUT_DIR}/canonical_2.vcf \ 37 | --organism-ploidy=2 \ 38 | --force >& ${OUT_DIR}/test_2.log 39 | 40 | cat ${OUT_DIR}/sample_genome_2/*.fa > ${OUT_DIR}/sample_genome_2.fa 41 | 42 | diff ${OUT_DIR}/sample_genome_2.fa ${DATA_DIR}/expectedOutputs/diploid_${TEST_ID}.fa > ${OUT_DIR}/unexpectedOutput_2.diff 43 | 44 | [ ! -s ${OUT_DIR}/unexpectedOutput_2.diff ] || (cat ${OUT_DIR}/unexpectedOutput_2.diff && exit 2) 45 | -------------------------------------------------------------------------------- /src/c++/bin/applyVariants.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | ** 7 | ** \description The main for the reference mutator. 8 | ** 9 | ** \author Mauricio Varea 10 | **/ 11 | 12 | #include "main/GenomeMutatorOptions.hh" 13 | #include "main/GenomeMutator.hh" 14 | #include "model/Genotype.hh" 15 | 16 | static void genomeMutatorLauncher(const eagle::main::GenomeMutatorOptions &options) 17 | { 18 | if (eagle::main::GenomeMutatorOptions::WHOLE_DIR == options.mode) 19 | { 20 | std::clog << (boost::format("Looking for a reference genome in %s ...") % options.wholeGenome ).str() << std::endl; 21 | eagle::main::GenomeMutator genomeMutator( 22 | options.wholeGenome, 23 | options.variantList, 24 | options.sampleGenome, 25 | options.annotatedVariantList, 26 | eagle::model::Ploidy( options.organismPloidy, options.exceptionPloidy() ), 27 | options.prefixToAdd, 28 | options.force, 29 | options 30 | ); 31 | genomeMutator.run(); 32 | } else { 33 | eagle::main::GenomeMutator genomeMutator( 34 | options.referenceGenome, 35 | options.variantList, 36 | options.sampleGenome, 37 | options.annotatedVariantList, 38 | eagle::model::Ploidy( options.organismPloidy, options.exceptionPloidy() ), 39 | options.prefixToAdd, 40 | options.force, 41 | options 42 | ); 43 | genomeMutator.run(); 44 | } 45 | } 46 | 47 | int main(int argc, char *argv[]) 48 | { 49 | eagle::common::run(genomeMutatorLauncher, argc, argv); 50 | } 51 | 52 | 53 | -------------------------------------------------------------------------------- /src/bash/test/testStress.sh.in: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | source ${0%/*}/common.sh 3 | 4 | MUTATOR_EXE=$1 5 | BUILD_DIR=@CMAKE_BINARY_DIR@ 6 | TEST_SET=$2 7 | TEST_ID=$3 8 | 9 | DATA_DIR=${BUILD_DIR}/Testing/data 10 | OUT_DIR=${BUILD_DIR}/Testing/${TEST_SET}_${TEST_ID} 11 | 12 | mkdir -p "${OUT_DIR}/input" 13 | perl ${DATA_DIR}/givenInputs/${TEST_ID}.pl > ${OUT_DIR}/input/${TEST_ID}.vcf 14 | 15 | # Test 1: run mutator on provided variant list 16 | ${MUTATOR_EXE} --reference-genome=${DATA_DIR}/Genomes/acgt.fa \ 17 | --variant-list=${OUT_DIR}/input/${TEST_ID}.vcf \ 18 | --sample-genome=${OUT_DIR}/sample_genome_1 \ 19 | --annotated-variant-list=${OUT_DIR}/canonical_1.vcf \ 20 | --organism-ploidy=1 \ 21 | --force >& ${OUT_DIR}/test_1.log 22 | 23 | cat ${OUT_DIR}/sample_genome_1/*.fa > ${OUT_DIR}/sample_genome_1.fa 24 | 25 | diff ${OUT_DIR}/sample_genome_1.fa ${DATA_DIR}/expectedOutputs/${TEST_ID}.fa > ${OUT_DIR}/unexpectedOutput_1.diff 26 | 27 | [ ! -s ${OUT_DIR}/unexpectedOutput_1.diff ] || (cat ${OUT_DIR}/unexpectedOutput_1.diff && exit 1) 28 | 29 | 30 | # Test 2 deactivated 31 | exit 0 32 | 33 | # Test 2: run mutator on modified variant list which was output from test 1 34 | ${MUTATOR_EXE} --reference-genome=${DATA_DIR}/Genomes/acgt.fa \ 35 | --variant-list=${OUT_DIR}/canonical_1.vcf \ 36 | --sample-genome=${OUT_DIR}/sample_genome_2 \ 37 | --annotated-variant-list=${OUT_DIR}/canonical_2.vcf \ 38 | --organism-ploidy=1 \ 39 | --force >& ${OUT_DIR}/test_2.log 40 | 41 | cat ${OUT_DIR}/sample_genome_2/*.fa > ${OUT_DIR}/sample_genome_2.fa 42 | 43 | diff ${OUT_DIR}/sample_genome_2.fa ${DATA_DIR}/expectedOutputs/${TEST_ID}.fa > ${OUT_DIR}/unexpectedOutput_2.diff 44 | 45 | [ ! -s ${OUT_DIR}/unexpectedOutput_2.diff ] || (cat ${OUT_DIR}/unexpectedOutput_2.diff && exit 2) 46 | -------------------------------------------------------------------------------- /src/c++/lib/common/FileSystem.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | ** 7 | ** \description Time display. 8 | ** 9 | ** \author Mauricio Varea 10 | **/ 11 | 12 | #include 13 | #include 14 | #include 15 | 16 | #include "common/Logger.hh" 17 | #include "common/FileSystem.hh" 18 | 19 | namespace eagle 20 | { 21 | namespace common 22 | { 23 | 24 | /* 25 | * \brief Non-recursive GLOB operation 26 | */ 27 | std::vector Glob::glob( const boost::filesystem::path& dir ) const 28 | { 29 | std::vector files; 30 | if (boost::filesystem::is_directory(dir)) 31 | { 32 | for( boost::filesystem::directory_iterator it(dir), end; 33 | it != end; 34 | ++it) 35 | { 36 | boost::smatch match; 37 | if (boost::regex_match( it->path().leaf().string(), match, pattern_ )) 38 | { 39 | EAGLE_DEBUG(4, "... " << it->path().leaf() ); 40 | files.push_back( it->path() ); 41 | } 42 | } 43 | } else { 44 | boost::smatch match; 45 | if (boost::regex_match( dir.leaf().string(), match, pattern_ )) 46 | { 47 | EAGLE_DEBUG(4, "... " << dir.leaf() ); 48 | // ... return vector with only one element 49 | files.push_back( dir ); 50 | } 51 | } 52 | if (files.empty()) 53 | { 54 | EAGLE_WARNING( (boost::format("Regex \"%s\" did not match any files in %s") % pattern_ % dir ).str() ); 55 | } else { 56 | std::stable_sort(files.begin(),files.end()); 57 | } 58 | return files; 59 | } 60 | 61 | 62 | 63 | } // namespace common 64 | } // namespace eagle 65 | -------------------------------------------------------------------------------- /data/tests/expectedOutputs/diploid_deletion.fa: -------------------------------------------------------------------------------- 1 | >chr1_allele1 2 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 3 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 4 | >chr1_allele2 5 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 6 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 7 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 8 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 9 | >chr2_allele1 10 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 11 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 12 | >chr2_allele2 13 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 14 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 15 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 16 | CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 17 | >chr3_allele1 18 | GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 19 | GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 20 | >chr3_allele2 21 | GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 22 | GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 23 | GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 24 | GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 25 | >chr4_allele1 26 | TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 27 | TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 28 | >chr4_allele2 29 | TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 30 | TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 31 | TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 32 | TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 33 | -------------------------------------------------------------------------------- /src/c++/include/io/RunInfo.hh: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | ** 7 | ** \description Component to read/write RunInfo.xml files. 8 | ** 9 | ** \author Lilian Janin 10 | **/ 11 | 12 | #ifndef EAGLE_IO_RUNINFO_HH 13 | #define EAGLE_IO_RUNINFO_HH 14 | 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | 21 | using namespace std; 22 | 23 | 24 | namespace eagle 25 | { 26 | namespace io 27 | { 28 | 29 | struct ReadDescription 30 | { 31 | ReadDescription() : firstCycle(0), lastCycle(0), isIndex(false) {} 32 | /* 33 | public: 34 | ReadDescription( const ReadDescription &obj) : firstCycle(obj.firstCycle), lastCycle(obj.lastCycle), isIndex(obj.isIndex) {} 35 | */ 36 | unsigned int firstCycle, lastCycle; 37 | bool isIndex; 38 | }; 39 | 40 | class RunInfo 41 | { 42 | public: 43 | RunInfo( const boost::filesystem::path &filename ) 44 | : runId("") 45 | , runNumber("") 46 | , tileNameMethod("") 47 | , flowcell("") 48 | , laneCount(0) 49 | , surfaceCount(0) 50 | , swathCount(0) 51 | , tileCount(0) 52 | , reads() 53 | { 54 | parse(filename); 55 | } 56 | void parse( const boost::filesystem::path &filename ); 57 | 58 | unsigned int getClusterLength() const 59 | { 60 | assert (!reads.empty()); 61 | return reads.rbegin()->lastCycle; 62 | } 63 | 64 | string runId; 65 | string runNumber; 66 | string tileNameMethod; 67 | string flowcell; 68 | unsigned int laneCount, surfaceCount, swathCount, tileCount; 69 | std::vector reads; 70 | }; 71 | 72 | 73 | } // namespace io 74 | } // namespace eagle 75 | 76 | #endif // EAGLE_IO_RUNINFO_HH 77 | -------------------------------------------------------------------------------- /src/c++/unittest/RegistryName.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | ** 7 | ** \description Management of the registry names for the cppunit tests. 8 | ** 9 | ** \author Come Raczy 10 | **/ 11 | 12 | #include "RegistryName.hh" 13 | 14 | #include 15 | #include 16 | #include 17 | #include 18 | 19 | boost::filesystem::path getFilePath() {return "RegistryNames.txt";} 20 | 21 | std::vector initializeNameList() 22 | { 23 | std::vector nameList; 24 | if(boost::filesystem::exists(getFilePath())) 25 | { 26 | std::ifstream is(getFilePath().string().c_str()); 27 | std::string name; 28 | while (getline(is, name)) 29 | { 30 | if (!name.empty() && nameList.end() == std::find(nameList.begin(), nameList.end(), name)) 31 | { 32 | nameList.push_back(name); 33 | } 34 | } 35 | } 36 | return nameList; 37 | } 38 | 39 | const std::vector &getRegistryNameList() 40 | { 41 | static const std::vector nameList = initializeNameList(); 42 | return nameList; 43 | } 44 | 45 | std::string registryName(const std::string &name) throw (std::invalid_argument) 46 | { 47 | const std::vector nameList = getRegistryNameList(); 48 | const std::vector::const_iterator found = std::find(nameList.begin(), nameList.end(), name); 49 | if (found != nameList.end()) 50 | return name; 51 | else 52 | throw std::invalid_argument(std::string("Not a registryName: ") + name + 53 | std::string(" [check that ") + getFilePath().string() + 54 | std::string(" constains '") + name + 55 | std::string("']")); 56 | } 57 | -------------------------------------------------------------------------------- /src/c++/include/main/FragmentsAllocatorOptions.hh: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | ** 7 | ** \description Command line options for 'allocateFragments' 8 | ** 9 | ** \author Lilian Janin 10 | **/ 11 | 12 | #ifndef EAGLE_OPTIONS_FRAGMENTS_ALLOCATOR_HH 13 | #define EAGLE_OPTIONS_FRAGMENTS_ALLOCATOR_HH 14 | 15 | #include 16 | #include 17 | #include 18 | 19 | #include "common/Program.hh" 20 | 21 | namespace eagle 22 | { 23 | namespace main 24 | { 25 | 26 | class FragmentsAllocatorOptions : public eagle::common::Options 27 | { 28 | public: 29 | FragmentsAllocatorOptions(); 30 | private: 31 | std::string usagePrefix() const {return std::string("Usage:\n") 32 | + std::string(" allocateFragments [parameters] [options]");} 33 | void postProcess(boost::program_options::variables_map &vm); 34 | 35 | public: 36 | // unsigned long readCount; 37 | boost::filesystem::path sampleGenomeDir; 38 | boost::filesystem::path outputDir; 39 | float coverageDepth; 40 | unsigned long tileCount; 41 | unsigned int basesPerCluster; 42 | std::string tls; 43 | struct { 44 | double min, median, max, lowStdDev, highStdDev; 45 | std::string M0, M1; 46 | } templateLengthStatistics; 47 | bool uniformCoverage; 48 | std::string tileAllocationMethodStr; 49 | enum { TILE_ALLOCATION_RANDOM, TILE_ALLOCATION_SEQUENCE, TILE_ALLOCATION_INTERLEAVED } tileAllocationMethod; 50 | unsigned int randomSeed; 51 | boost::filesystem::path templateLengthTableFile; 52 | std::string contigName; 53 | bool mergeExistingFragments; 54 | boost::filesystem::path gcCoverageFitFile; 55 | double maxCoverageError; 56 | }; 57 | 58 | } // namespace main 59 | } // namespace eagle 60 | 61 | #endif // EAGLE_OPTIONS_FRAGMENTS_ALLOCATOR_HH 62 | -------------------------------------------------------------------------------- /src/c++/lib/io/BgzfCompressor.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | ** 7 | ** \description implements bgzf filtering stream by buffering the compressed data and 8 | ** rewriting gzip header generated by boost::iostreams::gzip_compressor. 9 | ** 10 | ** \author Roman Petrovski 11 | **/ 12 | 13 | #include "io/BgzfCompressor.hh" 14 | 15 | 16 | namespace eagle 17 | { 18 | namespace io 19 | { 20 | namespace bam 21 | { 22 | 23 | 24 | void BgzfCompressor::rewriteHeader() 25 | { 26 | memmove(&bgzf_buffer[0], &bgzf_buffer[sizeof(BAM_XFIELD)], sizeof(Header) - sizeof(BAM_XFIELD)); 27 | Header *h(reinterpret_cast(&bgzf_buffer[0])); 28 | h->xfield = makeBamXfield(); 29 | h->FLG |= 0x04; // tell gzip that XLEN is in effect now. 30 | } 31 | 32 | void BgzfCompressor::initBuffer() 33 | { 34 | bgzf_buffer.clear(); 35 | uncompressed_in_ = 0; 36 | bgzf_buffer.insert(bgzf_buffer.begin(), sizeof(BAM_XFIELD), 0); //make some room for xfield 37 | 38 | // std::clog << "buffer init size: " << bgzf_buffer.size() << "\n"; 39 | 40 | } 41 | 42 | BgzfCompressor::BgzfCompressor(const bios::gzip_params& gzip_params): 43 | gzip_params_(gzip_params), 44 | compressor_(gzip_params_), 45 | uncompressed_in_(0) 46 | { 47 | bgzf_buffer.reserve(max_uncompressed_per_block_ + sizeof(Header)); //single chunk cannot hold more than 65535 compressed bytes 48 | initBuffer(); 49 | } 50 | 51 | BgzfCompressor::BgzfCompressor(const BgzfCompressor& that): 52 | gzip_params_(that.gzip_params_), 53 | compressor_(gzip_params_), 54 | uncompressed_in_(0) 55 | { 56 | bgzf_buffer.reserve(max_uncompressed_per_block_ + sizeof(Header)); //single chunk cannot hold more than 65535 compressed bytes 57 | initBuffer(); 58 | } 59 | 60 | void BgzfCompressor::close() 61 | { 62 | } 63 | 64 | 65 | } // namespace bam 66 | } // namespace io 67 | } // namespace eagle 68 | -------------------------------------------------------------------------------- /src/c++/include/model/Phred.hh: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | ** 7 | ** \description Pre-computed Phred quality scores 8 | ** 9 | ** \author Lilian Janin 10 | **/ 11 | 12 | #ifndef EAGLE_MODEL_PHRED_HH 13 | #define EAGLE_MODEL_PHRED_HH 14 | 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include "common/Exceptions.hh" 20 | 21 | 22 | namespace eagle 23 | { 24 | namespace model 25 | { 26 | 27 | class Phred 28 | { 29 | public: 30 | static const unsigned int QUALITY_MAX = 50; 31 | 32 | // Phred() {} 33 | static inline void initCheck() 34 | { 35 | if (qualityToProbability_.size() == 0) 36 | { 37 | qualityToProbability_.resize(QUALITY_MAX+1); 38 | for (unsigned int q=0; q<=QUALITY_MAX; ++q) 39 | { 40 | qualityToProbability_[q] = pow(10, -(double(q) / 10)); 41 | } 42 | } 43 | } 44 | 45 | static double qualToProb( const unsigned int qual ) 46 | { 47 | initCheck(); 48 | if (qual > QUALITY_MAX) 49 | { 50 | BOOST_THROW_EXCEPTION( eagle::common::EagleException( 0, "Phred quality is higher than allowed max") ); 51 | } 52 | double prob = qualityToProbability_[qual]; 53 | return prob; 54 | } 55 | 56 | static unsigned int probToQual( const double prob ) 57 | { 58 | initCheck(); 59 | std::vector< double >::iterator it = 60 | std::lower_bound( qualityToProbability_.begin(), qualityToProbability_.end(), prob, std::greater() ); 61 | unsigned int qual = it - qualityToProbability_.begin(); 62 | return qual; 63 | } 64 | 65 | private: 66 | static std::vector< double > qualityToProbability_; 67 | }; 68 | 69 | 70 | 71 | } // namespace model 72 | } // namespace eagle 73 | 74 | #endif // EAGLE_MODEL_PHRED_HH 75 | -------------------------------------------------------------------------------- /src/c++/libexec/diffBam/BamDiffOptions.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | ** 7 | ** \description Command line options for 'bamDiff' 8 | ** 9 | ** \author Lilian Janin 10 | **/ 11 | 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | 18 | #include "BamDiffOptions.hh" 19 | 20 | namespace eagle 21 | { 22 | namespace main 23 | { 24 | 25 | namespace bpo = boost::program_options; 26 | namespace bfs = boost::filesystem; 27 | 28 | BamDiffOptions::BamDiffOptions() 29 | { 30 | parameters_.add_options() 31 | ("master-bam,i" , bpo::value< bfs::path >(&masterBamFile), 32 | "[input] \tMain BAM file, assumed to contain the true alignments") 33 | ("slave-bam,j" , bpo::value< bfs::path >(&slaveBamFile), 34 | "[input] \tBAM file assumed to contain some incorrect alignments") 35 | ; 36 | 37 | /* 38 | namedOptions_.add_options() 39 | ("requested-metrics,m", bpo::value< std::string >(&requestedMetrics)->default_value(requestedMetrics), 40 | "Binary value of requested metrics\n (see --help)" 41 | ) 42 | ("requested-tables,t", bpo::value< std::string >(&requestedTables)->default_value(requestedTables), 43 | "Binary value of requested tables\n (see --help)" 44 | ) 45 | ; 46 | */ 47 | } 48 | 49 | std::string BamDiffOptions::usageSuffix() const 50 | { 51 | return ""; 52 | } 53 | 54 | void BamDiffOptions::postProcess(bpo::variables_map &vm) 55 | { 56 | eagle::common::OptionsHelper check(vm); 57 | 58 | check.requiredOptions(boost::assign::list_of 59 | ("master-bam") 60 | ("slave-bam") 61 | ); 62 | } 63 | 64 | } //namespace main 65 | } // namespace eagle 66 | -------------------------------------------------------------------------------- /src/cmake/libzoo.cmake: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | ## 3 | ## Copyright (c) 2014 Illumina, Inc. 4 | ## 5 | ## This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 6 | ## covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 7 | ## 8 | ## file CMakeLists.txt 9 | ## 10 | ## Configuration file for libzoo installation 11 | ## 12 | ## author Lilian Janin 13 | ## 14 | ################################################################################ 15 | 16 | 17 | if (EAGLE_FORCE_STATIC_LINK) 18 | set(Libzoo_USE_STATIC_LIBS ON) 19 | endif (EAGLE_FORCE_STATIC_LINK) 20 | 21 | #find_package(Libzoo ${EAGLE_LIBZOO_VERSION} COMPONENTS ${EAGLE_LIBZOO_COMPONENTS}) 22 | # 23 | # If the right version of libzoo is not found, it will be built from the distribution 24 | # 25 | if (NOT Libzoo_FOUND) 26 | message(STATUS "Libzoo ${EAGLE_LIBZOO_VERSION} not found. Libzoo will be built from the distribution...") 27 | 28 | set(ENV{EAGLE_LIBZOO_VERSION} "${EAGLE_LIBZOO_VERSION}") 29 | if (NOT CMAKE_PARALLEL) 30 | set (CMAKE_PARALLEL "1") 31 | endif (NOT CMAKE_PARALLEL) 32 | execute_process(COMMAND "/bin/bash" 33 | "${CMAKE_SOURCE_DIR}/cmake/bootstrap/installLibzoo.sh" "${LIBZOO_REDIST_DIR}" 34 | "${CMAKE_CURRENT_BINARY_DIR}/bootstrap" "${CMAKE_PARALLEL}" RESULT_VARIABLE TMP_RESULT ) 35 | 36 | if (NOT TMP_RESULT) 37 | message(STATUS "Successfuly built libzoo ${EAGLE_LIBZOO_VERSION} from the distribution package...") 38 | else (NOT TMP_RESULT) 39 | message (FATAL_ERROR "Failed to build libzoo ${EAGLE_LIBZOO_VERSION}") 40 | endif (NOT TMP_RESULT) 41 | 42 | #set (LIBZOO_ROOT "${CMAKE_CURRENT_BINARY_DIR}/bootstrap") 43 | set (LIBZOO_INCLUDE_DIR "${CMAKE_CURRENT_BINARY_DIR}/bootstrap/build/beetl-1.0/src") 44 | set (LIBZOO_LIBRARY "${CMAKE_CURRENT_BINARY_DIR}/bootstrap/build/beetl-1.0/src/libzoo.a") 45 | 46 | #force static linking with redistributed libzoo. 47 | set (Libzoo_USE_STATIC_LIBS ON) 48 | 49 | endif (NOT Libzoo_FOUND) 50 | 51 | -------------------------------------------------------------------------------- /src/c++/lib/model/cppunit/testPhred.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | **/ 7 | 8 | #include 9 | #include 10 | #include 11 | #include 12 | 13 | using namespace std; 14 | using boost::assign::list_of; 15 | 16 | #include "Helpers.hh" 17 | 18 | #include "RegistryName.hh" 19 | #include "testPhred.hh" 20 | 21 | using eagle::model::Phred; 22 | 23 | CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( TestPhred, registryName("Phred")); 24 | 25 | 26 | void TestPhred::setUp() 27 | { 28 | } 29 | 30 | void TestPhred::tearDown() 31 | { 32 | } 33 | 34 | void TestPhred::testQualToProb() 35 | { 36 | CPPUNIT_ASSERT_EQUAL( Phred::qualToProb(0), 1.0 ); 37 | CPPUNIT_ASSERT_EQUAL( Phred::qualToProb(1), pow(10, -0.1) ); 38 | CPPUNIT_ASSERT_EQUAL( Phred::qualToProb(10), 0.1 ); 39 | CPPUNIT_ASSERT_EQUAL( Phred::qualToProb(20), 0.01 ); 40 | CPPUNIT_ASSERT_EQUAL( Phred::qualToProb(30), 0.001 ); 41 | CPPUNIT_ASSERT_EQUAL( Phred::qualToProb(40), 0.0001 ); 42 | CPPUNIT_ASSERT_EQUAL( Phred::qualToProb(50), 0.00001 ); 43 | CPPUNIT_ASSERT_THROW( Phred::qualToProb(51), eagle::common::EagleException ); 44 | } 45 | 46 | void TestPhred::testProbToQual() 47 | { 48 | CPPUNIT_ASSERT_EQUAL( Phred::probToQual(1.0), 0u ); 49 | CPPUNIT_ASSERT_EQUAL( Phred::probToQual(pow(10, -0.1)), 1u ); 50 | CPPUNIT_ASSERT_EQUAL( Phred::probToQual(0.1), 10u ); 51 | CPPUNIT_ASSERT_EQUAL( Phred::probToQual(0.01), 20u ); 52 | CPPUNIT_ASSERT_EQUAL( Phred::probToQual(0.001), 30u ); 53 | CPPUNIT_ASSERT_EQUAL( Phred::probToQual(0.0001), 40u ); 54 | CPPUNIT_ASSERT_EQUAL( Phred::probToQual(0.00001), 50u ); 55 | CPPUNIT_ASSERT_EQUAL( Phred::probToQual(0.0), 51u ); 56 | 57 | double between10and11 = (Phred::qualToProb(10) + Phred::qualToProb(11)) / 2; 58 | CPPUNIT_ASSERT_EQUAL( Phred::probToQual(between10and11), 11u ); 59 | } 60 | -------------------------------------------------------------------------------- /src/c++/include/common/Logger.hh: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | ** 7 | ** \description A preprocessor-based Logger + time display. 8 | ** 9 | ** \author Mauricio Varea 10 | **/ 11 | 12 | #ifndef EAGLE_COMMON_LOGGER_HH 13 | #define EAGLE_COMMON_LOGGER_HH 14 | 15 | #include 16 | #include 17 | 18 | #include "config.h" 19 | #include "common/Exceptions.hh" 20 | 21 | #ifdef EAGLE_DEBUG_MODE 22 | #define EAGLE_DEBUG(x,y) std::clog << "* Debug *: " << std::string((x),' ') << y << std::endl 23 | #define EAGLE_DEBUG_IF(x,y,z) if((x)) {std::clog << "* Debug *: " << std::string((y),' ') << z << std::endl;} 24 | #undef EAGLE_SILENT_MODE 25 | #else 26 | #define EAGLE_DEBUG(x,y) 27 | #define EAGLE_DEBUG_IF(x,y,z) 28 | #endif 29 | 30 | #ifndef EAGLE_SILENT_MODE 31 | #define EAGLE_PRINT(x) std::clog << x << std::endl 32 | #else 33 | #define EAGLE_PRINT(x) 34 | #endif 35 | 36 | #define EAGLE_WARNING(x) std::cerr << "** Warning:" << __FILE__ << ":" << __LINE__ << ": **" << std::endl << "** Warning **: " << x << std::endl 37 | #define EAGLE_WARNING_IF(x,y) if(x) {std::cerr << "** Warning:" << __FILE__ << ":" << __LINE__ << ": **" << std::endl << "** Warning **: " << y << std::endl;} 38 | #define EAGLE_WARNING_CONT(x) std::cerr << "** Warning **: " << x << std::endl 39 | #define EAGLE_WARNING_CONT_IF(x,y) if(x) {std::cerr << "** Warning **: " << y << std::endl;} 40 | 41 | /* Always prefer BOOST_THROW_EXCEPTION() directly, as it allows you to throw the appropriate EagleException(). */ 42 | /* This is just a lazy default way to terminate the execution */ 43 | #define EAGLE_ERROR(M) BOOST_THROW_EXCEPTION(eagle::common::EagleException(0, std::string("*** ERROR *** :\n") + (M) )) 44 | 45 | 46 | namespace eagle 47 | { 48 | namespace common 49 | { 50 | 51 | std::string displayTime(size_t time); 52 | std::string displayTime(size_t time, size_t &acc); 53 | 54 | } // namespace common 55 | } // namespace eagle 56 | 57 | #endif // EAGLE_COMMON_LOGGER_HH 58 | -------------------------------------------------------------------------------- /src/c++/lib/genome/cppunit/testVariantList.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | ** Copyright (c) 2014 Illumina, Inc. 3 | ** 4 | ** This file is part of Illumina's Enhanced Artificial Genome Engine (EAGLE), 5 | ** covered by the "BSD 2-Clause License" (see accompanying LICENSE file) 6 | **/ 7 | 8 | #include 9 | #include 10 | #include 11 | 12 | using namespace std; 13 | using boost::assign::list_of; 14 | 15 | #include "Helpers.hh" 16 | 17 | #include "RegistryName.hh" 18 | #include "testVariantList.hh" 19 | 20 | using eagle::genome::VariantList; 21 | using eagle::genome::Event; 22 | using eagle::model::StructuralVariant; 23 | 24 | CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( TestVariantList, registryName("VariantList")); 25 | 26 | 27 | void TestVariantList::setUp() 28 | { 29 | VL.push_back( Event( StructuralVariant("chr10", 4000UL, "A", "C") ) ); 30 | VL.push_back( Event( StructuralVariant("chr10", 5000UL, "A", "ACGT") ) ); 31 | VL.push_back( Event( StructuralVariant("chr10", 6000UL, "ACGT", "A") ) ); 32 | /* 33 | VL.push_front( Event( StructuralVariant("chr10", 3000UL, "ACGT", "A") ) ); 34 | VL.push_front( Event( StructuralVariant("chr10", 2000UL, "A", "ACGT") ) ); 35 | VL.push_front( Event( StructuralVariant("chr10", 1000UL, "A", "C") ) ); 36 | */ 37 | } 38 | 39 | void TestVariantList::tearDown() 40 | { 41 | while (!VL.empty()) 42 | { 43 | VL.pop_back(); 44 | } 45 | } 46 | 47 | 48 | void TestVariantList::testAccess() 49 | { 50 | Event third( StructuralVariant("chr10", 3000UL, "ACGT", "A") ); 51 | /* 52 | CPPUNIT_ASSERT_EQUAL(third, *(VL.before() + 2) ); 53 | CPPUNIT_ASSERT_EQUAL(third, *(VL.last() - 3) ); 54 | CPPUNIT_ASSERT_EQUAL(third, *(VL.afterLast() - 4) ); 55 | */ 56 | } 57 | 58 | void TestVariantList::testConnectivity() 59 | { 60 | // 999 bases are transferred when applying deletion@3000 61 | //CPPUNIT_ASSERT_EQUAL(999UL, (unsigned long)(VL.to(VL.before()+2) - VL.from(VL.before()+1)) ); 62 | // 996 bases are transferred when applying SNP@4000 63 | //CPPUNIT_ASSERT_EQUAL(996UL, (unsigned long)(VL.to(VL.before()+3) - VL.from(VL.before()+2)) ); 64 | } 65 | 66 | --------------------------------------------------------------------------------