Permalink
Browse files

As published.

  • Loading branch information...
dbolotin committed Mar 30, 2015
0 parents commit be023fc6da24892d46a18253c8ef23249731cc8a
Showing with 21,694 additions and 0 deletions.
  1. +3 −0 .gitignore
  2. +26 −0 LICENSE
  3. +70 −0 mixcr
  4. +176 −0 pom.xml
  5. +84 −0 src/main/java/com/milaboratory/mixcr/assembler/AbstractClonalAlignerParameters.java
  6. +98 −0 src/main/java/com/milaboratory/mixcr/assembler/AlignmentsProvider.java
  7. +111 −0 src/main/java/com/milaboratory/mixcr/assembler/AssembledReadsPort.java
  8. +72 −0 src/main/java/com/milaboratory/mixcr/assembler/AssemblerEvent.java
  9. +220 −0 src/main/java/com/milaboratory/mixcr/assembler/AssemblerEventLogger.java
  10. +71 −0 src/main/java/com/milaboratory/mixcr/assembler/AssemblerUtils.java
  11. +115 −0 src/main/java/com/milaboratory/mixcr/assembler/CloneAccumulator.java
  12. +512 −0 src/main/java/com/milaboratory/mixcr/assembler/CloneAssembler.java
  13. +55 −0 src/main/java/com/milaboratory/mixcr/assembler/CloneAssemblerListener.java
  14. +216 −0 src/main/java/com/milaboratory/mixcr/assembler/CloneAssemblerParameters.java
  15. +77 −0 src/main/java/com/milaboratory/mixcr/assembler/CloneAssemblerParametersPresets.java
  16. +129 −0 src/main/java/com/milaboratory/mixcr/assembler/CloneAssemblerRunner.java
  17. +120 −0 src/main/java/com/milaboratory/mixcr/assembler/CloneClusteringParameters.java
  18. +81 −0 src/main/java/com/milaboratory/mixcr/assembler/CloneClusteringStrategy.java
  19. +235 −0 src/main/java/com/milaboratory/mixcr/assembler/CloneFactory.java
  20. +161 −0 src/main/java/com/milaboratory/mixcr/assembler/CloneFactoryParameters.java
  21. +46 −0 src/main/java/com/milaboratory/mixcr/assembler/ClusteringFilter.java
  22. +85 −0 src/main/java/com/milaboratory/mixcr/assembler/DClonalAlignerParameters.java
  23. +67 −0 src/main/java/com/milaboratory/mixcr/assembler/IO.java
  24. +84 −0 src/main/java/com/milaboratory/mixcr/assembler/ReadToCloneMapping.java
  25. +74 −0 src/main/java/com/milaboratory/mixcr/assembler/RelativeConcentrationFilter.java
  26. +87 −0 src/main/java/com/milaboratory/mixcr/assembler/VDJCAlignmentsReaderWrapper.java
  27. +84 −0 src/main/java/com/milaboratory/mixcr/assembler/VJCClonalAlignerParameters.java
  28. +277 −0 src/main/java/com/milaboratory/mixcr/basictypes/ClonalSequence.java
  29. +106 −0 src/main/java/com/milaboratory/mixcr/basictypes/Clone.java
  30. +127 −0 src/main/java/com/milaboratory/mixcr/basictypes/CloneSet.java
  31. +165 −0 src/main/java/com/milaboratory/mixcr/basictypes/CloneSetIO.java
  32. +41 −0 src/main/java/com/milaboratory/mixcr/basictypes/HasFeatureToAlign.java
  33. +172 −0 src/main/java/com/milaboratory/mixcr/basictypes/IO.java
  34. +96 −0 src/main/java/com/milaboratory/mixcr/basictypes/IOUtil.java
  35. +228 −0 src/main/java/com/milaboratory/mixcr/basictypes/Merger.java
  36. +66 −0 src/main/java/com/milaboratory/mixcr/basictypes/PartitionedSequence.java
  37. +52 −0 src/main/java/com/milaboratory/mixcr/basictypes/PartitionedSequenceCached.java
  38. +191 −0 src/main/java/com/milaboratory/mixcr/basictypes/SequencePartitioning.java
  39. +78 −0 src/main/java/com/milaboratory/mixcr/basictypes/TargetPartitioning.java
  40. +89 −0 src/main/java/com/milaboratory/mixcr/basictypes/VDJCAlignments.java
  41. +153 −0 src/main/java/com/milaboratory/mixcr/basictypes/VDJCAlignmentsReader.java
  42. +106 −0 src/main/java/com/milaboratory/mixcr/basictypes/VDJCAlignmentsWriter.java
  43. +145 −0 src/main/java/com/milaboratory/mixcr/basictypes/VDJCHit.java
  44. +216 −0 src/main/java/com/milaboratory/mixcr/basictypes/VDJCObject.java
  45. +59 −0 src/main/java/com/milaboratory/mixcr/basictypes/VDJCPartitionedSequence.java
  46. +241 −0 src/main/java/com/milaboratory/mixcr/cli/ActionAlign.java
  47. +116 −0 src/main/java/com/milaboratory/mixcr/cli/ActionAlignmentsStat.java
  48. +171 −0 src/main/java/com/milaboratory/mixcr/cli/ActionAssemble.java
  49. +68 −0 src/main/java/com/milaboratory/mixcr/cli/ActionExport.java
  50. +60 −0 src/main/java/com/milaboratory/mixcr/cli/ActionExportAlignments.java
  51. +102 −0 src/main/java/com/milaboratory/mixcr/cli/ActionExportClones.java
  52. +243 −0 src/main/java/com/milaboratory/mixcr/cli/ActionExportParameters.java
  53. +59 −0 src/main/java/com/milaboratory/mixcr/cli/ActionParametersWithOutput.java
  54. +263 −0 src/main/java/com/milaboratory/mixcr/cli/ActionPrettyAlignments.java
  55. +112 −0 src/main/java/com/milaboratory/mixcr/cli/AlignerReport.java
  56. +171 −0 src/main/java/com/milaboratory/mixcr/cli/CloneAssemblerReport.java
  57. +172 −0 src/main/java/com/milaboratory/mixcr/cli/JsonOverrider.java
  58. +50 −0 src/main/java/com/milaboratory/mixcr/cli/Main.java
  59. +69 −0 src/main/java/com/milaboratory/mixcr/cli/ReportHelper.java
  60. +33 −0 src/main/java/com/milaboratory/mixcr/cli/ReportWriter.java
  61. +175 −0 src/main/java/com/milaboratory/mixcr/cli/Util.java
  62. +112 −0 src/main/java/com/milaboratory/mixcr/cli/afiltering/AFilter.java
  63. +56 −0 src/main/java/com/milaboratory/mixcr/export/AbstractField.java
  64. +49 −0 src/main/java/com/milaboratory/mixcr/export/AbstractFieldExtractor.java
  65. +39 −0 src/main/java/com/milaboratory/mixcr/export/Field.java
  66. +37 −0 src/main/java/com/milaboratory/mixcr/export/FieldExtractor.java
  67. +38 −0 src/main/java/com/milaboratory/mixcr/export/FieldExtractorWithParameters.java
  68. +368 −0 src/main/java/com/milaboratory/mixcr/export/FieldExtractors.java
  69. +51 −0 src/main/java/com/milaboratory/mixcr/export/FieldParameterless.java
  70. +53 −0 src/main/java/com/milaboratory/mixcr/export/FieldWithParameters.java
  71. +97 −0 src/main/java/com/milaboratory/mixcr/export/InfoWriter.java
  72. +99 −0 src/main/java/com/milaboratory/mixcr/reference/Allele.java
  73. +100 −0 src/main/java/com/milaboratory/mixcr/reference/AlleleId.java
  74. +36 −0 src/main/java/com/milaboratory/mixcr/reference/AlleleResolver.java
  75. +77 −0 src/main/java/com/milaboratory/mixcr/reference/AllelicVariant.java
  76. +114 −0 src/main/java/com/milaboratory/mixcr/reference/BasicReferencePoint.java
  77. +74 −0 src/main/java/com/milaboratory/mixcr/reference/Gene.java
  78. +706 −0 src/main/java/com/milaboratory/mixcr/reference/GeneFeature.java
  79. +105 −0 src/main/java/com/milaboratory/mixcr/reference/GeneGroup.java
  80. +117 −0 src/main/java/com/milaboratory/mixcr/reference/GeneType.java
  81. +188 −0 src/main/java/com/milaboratory/mixcr/reference/IO.java
  82. +130 −0 src/main/java/com/milaboratory/mixcr/reference/LociLibrary.java
  83. +75 −0 src/main/java/com/milaboratory/mixcr/reference/LociLibraryManager.java
  84. +274 −0 src/main/java/com/milaboratory/mixcr/reference/LociLibraryReader.java
  85. +314 −0 src/main/java/com/milaboratory/mixcr/reference/LociLibraryWriter.java
  86. +110 −0 src/main/java/com/milaboratory/mixcr/reference/Locus.java
  87. +142 −0 src/main/java/com/milaboratory/mixcr/reference/LocusContainer.java
  88. +81 −0 src/main/java/com/milaboratory/mixcr/reference/ReferenceAllele.java
  89. +411 −0 src/main/java/com/milaboratory/mixcr/reference/ReferencePoint.java
  90. +183 −0 src/main/java/com/milaboratory/mixcr/reference/ReferencePoints.java
  91. +171 −0 src/main/java/com/milaboratory/mixcr/reference/SequenceBase.java
  92. +65 −0 src/main/java/com/milaboratory/mixcr/reference/Species.java
  93. +75 −0 src/main/java/com/milaboratory/mixcr/reference/SpeciesAndLocus.java
  94. +114 −0 src/main/java/com/milaboratory/mixcr/util/ParseUtil.java
  95. +41 −0 src/main/java/com/milaboratory/mixcr/util/ParserException.java
  96. +113 −0 src/main/java/com/milaboratory/mixcr/util/PrintStreamTableAdapter.java
  97. +82 −0 src/main/java/com/milaboratory/mixcr/util/TempFileManager.java
  98. +135 −0 src/main/java/com/milaboratory/mixcr/vdjaligners/DAlignerParameters.java
  99. +72 −0 src/main/java/com/milaboratory/mixcr/vdjaligners/GeneAlignmentParameters.java
  100. +90 −0 src/main/java/com/milaboratory/mixcr/vdjaligners/KGeneAlignmentParameters.java
  101. +124 −0 src/main/java/com/milaboratory/mixcr/vdjaligners/KVJResultsForSingle.java
  102. +101 −0 src/main/java/com/milaboratory/mixcr/vdjaligners/PairedEndReadsLayout.java
  103. +42 −0 src/main/java/com/milaboratory/mixcr/vdjaligners/PairedTarget.java
  104. +110 −0 src/main/java/com/milaboratory/mixcr/vdjaligners/PreVDJCHit.java
  105. +156 −0 src/main/java/com/milaboratory/mixcr/vdjaligners/SingleDAligner.java
  106. +127 −0 src/main/java/com/milaboratory/mixcr/vdjaligners/VDJCAligner.java
  107. +70 −0 src/main/java/com/milaboratory/mixcr/vdjaligners/VDJCAlignerAbstract.java
  108. +40 −0 src/main/java/com/milaboratory/mixcr/vdjaligners/VDJCAlignerEventListener.java
  109. +562 −0 src/main/java/com/milaboratory/mixcr/vdjaligners/VDJCAlignerPVFirst.java
  110. +280 −0 src/main/java/com/milaboratory/mixcr/vdjaligners/VDJCAlignerParameters.java
  111. +148 −0 src/main/java/com/milaboratory/mixcr/vdjaligners/VDJCAlignerSJFirst.java
  112. +85 −0 src/main/java/com/milaboratory/mixcr/vdjaligners/VDJCAlignerWithMerge.java
  113. +38 −0 src/main/java/com/milaboratory/mixcr/vdjaligners/VDJCAlignmentFailCause.java
  114. +47 −0 src/main/java/com/milaboratory/mixcr/vdjaligners/VDJCAlignmentResult.java
  115. +77 −0 src/main/java/com/milaboratory/mixcr/vdjaligners/VDJCParametersPresets.java
  116. +89 −0 src/main/resources/js/filter_init.js
  117. +69 −0 src/main/resources/parameters/assembler_parameters.json
  118. +102 −0 src/main/resources/parameters/vdjcaligner_parameters.json
  119. +264 −0 src/main/resources/parameters/vdjcaligner_parameters_old.json
  120. BIN src/main/resources/reference/mi.ll
  121. +46 −0 src/test/java/com/milaboratory/mixcr/assembler/AssemblerUtilsTest.java
  122. +41 −0 src/test/java/com/milaboratory/mixcr/assembler/CloneAssemblerParametersPresetsTest.java
  123. +94 −0 src/test/java/com/milaboratory/mixcr/assembler/CloneAssemblerParametersTest.java
  124. +161 −0 src/test/java/com/milaboratory/mixcr/assembler/CloneAssemblerRunnerTest.java
  125. +48 −0 src/test/java/com/milaboratory/mixcr/assembler/CloneClusteringParametersTest.java
  126. +82 −0 src/test/java/com/milaboratory/mixcr/assembler/CloneFactoryParametersTest.java
  127. +44 −0 src/test/java/com/milaboratory/mixcr/assembler/ClusteringFilterTest.java
  128. +48 −0 src/test/java/com/milaboratory/mixcr/assembler/DClonalAlignerParametersTest.java
  129. +49 −0 src/test/java/com/milaboratory/mixcr/assembler/VJCClonalAlignerParametersTest.java
  130. +294 −0 src/test/java/com/milaboratory/mixcr/basictypes/ClonalSequenceTest.java
  131. +106 −0 src/test/java/com/milaboratory/mixcr/basictypes/IOTest.java
  132. +100 −0 src/test/java/com/milaboratory/mixcr/basictypes/MergerTest.java
  133. +96 −0 src/test/java/com/milaboratory/mixcr/cli/JsonOverriderTest.java
  134. +63 −0 src/test/java/com/milaboratory/mixcr/cli/MainTest.java
  135. +61 −0 src/test/java/com/milaboratory/mixcr/cli/UtilTest.java
  136. +132 −0 src/test/java/com/milaboratory/mixcr/export/FieldExtractorsTest.java
  137. +198 −0 src/test/java/com/milaboratory/mixcr/reference/AlleleTest.java
  138. +41 −0 src/test/java/com/milaboratory/mixcr/reference/AllelicVariantTest.java
  139. +385 −0 src/test/java/com/milaboratory/mixcr/reference/GeneFeatureTest.java
  140. +49 −0 src/test/java/com/milaboratory/mixcr/reference/GeneGroupTest.java
  141. +58 −0 src/test/java/com/milaboratory/mixcr/reference/IOTest.java
  142. +143 −0 src/test/java/com/milaboratory/mixcr/reference/LociLibraryIOTest.java
  143. +151 −0 src/test/java/com/milaboratory/mixcr/reference/ReferencePointsTest.java
  144. +146 −0 src/test/java/com/milaboratory/mixcr/reference/SequenceBaseTest.java
  145. +45 −0 src/test/java/com/milaboratory/mixcr/reference/SpeciesTest.java
  146. +53 −0 src/test/java/com/milaboratory/mixcr/util/ParseUtilTest.java
  147. +49 −0 src/test/java/com/milaboratory/mixcr/vdjaligners/DAlignerParametersTest.java
  148. +53 −0 src/test/java/com/milaboratory/mixcr/vdjaligners/KGeneAlignmentParametersTest.java
  149. +101 −0 src/test/java/com/milaboratory/mixcr/vdjaligners/VDJCAlignerPVFirstTest.java
  150. +75 −0 src/test/java/com/milaboratory/mixcr/vdjaligners/VDJCAlignerParametersTest.java
  151. +126 −0 src/test/java/com/milaboratory/mixcr/vdjaligners/VDJCAlignerSJFirstTest.java
  152. +400 −0 src/test/resources/sequences/sample_IGH_R1.fasta
  153. +800 −0 src/test/resources/sequences/sample_IGH_R1.fastq
  154. +400 −0 src/test/resources/sequences/sample_IGH_R2.fasta
  155. +800 −0 src/test/resources/sequences/sample_IGH_R2.fastq
  156. +400 −0 src/test/resources/sequences/test_R1.fastq
  157. +400 −0 src/test/resources/sequences/test_R2.fastq
@@ -0,0 +1,3 @@
*.iml
target
.idea
26 LICENSE
@@ -0,0 +1,26 @@
Copyright (c) 2014-2015, Bolotin Dmitry, Chudakov Dmitry, Shugay Mikhail
(here and after addressed as Inventors)
All Rights Reserved
Permission to use, copy, modify and distribute any part of this program for
educational, research and non-profit purposes, by non-profit institutions
only, without fee, and without a written agreement is hereby granted,
provided that the above copyright notice, this paragraph and the following
three paragraphs appear in all copies.
Those desiring to incorporate this work into commercial products or use for
commercial purposes should contact the Inventors using one of the following
email addresses: chudakovdm@mail.ru, chudakovdm@gmail.com
IN NO EVENT SHALL THE INVENTORS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
ARISING OUT OF THE USE OF THIS SOFTWARE, EVEN IF THE INVENTORS HAS BEEN
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
THE SOFTWARE PROVIDED HEREIN IS ON AN "AS IS" BASIS, AND THE INVENTORS HAS
NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR
MODIFICATIONS. THE INVENTORS MAKES NO REPRESENTATIONS AND EXTENDS NO
WARRANTIES OF ANY KIND, EITHER IMPLIED OR EXPRESS, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A
PARTICULAR PURPOSE, OR THAT THE USE OF THE SOFTWARE WILL NOT INFRINGE ANY
PATENT, TRADEMARK OR OTHER RIGHTS.
70 mixcr
@@ -0,0 +1,70 @@
#!/bin/bash
java="java"
sedString="s/.*1\.\(.*\)\..*/\1/"
jVersion=$($java -version 2>&1 | grep version | awk '{ print $3 }' | sed $sedString)
if [[ $jVersion -lt 7 ]];
then
echo "Wrong version of java. Please use Java 7 or higher."
exit 1
fi
os=`uname`
delta=100
DIR=""
case $os in
Darwin)
freeBlocks=$(vm_stat | grep free | awk '{ print $3 }' | sed 's/\.//')
inactiveBlocks=$(vm_stat | grep inactive | awk '{ print $3 }' | sed 's/\.//')
speculativeBlocks=$(vm_stat | grep speculative | awk '{ print $3 }' | sed 's/\.//')
freeMb=$((($freeBlocks+$speculativeBlocks)*4096/1048576))
inactiveMb=$(($inactiveBlocks*4096/1048576))
maxMb=$((($freeMb+$inactiveMb-$delta)))
DIR=$(cd "$(dirname "$0")"; pwd)
;;
Linux)
rFreeMb=$(free -m | head -n 3 | tail -n 1 | awk '{ print $4 }')
maxMb=$(($rFreeMb-$delta))
DIR="$(dirname "$(readlink -f "$0")")"
;;
*)
echo "Unknown OS."
exit 1
;;
esac
targetXmx=12000
if [[ $targetXmx -gt $maxMb ]];
then
targetXmx=$maxMb
fi
targetXms=$((${targetXmx}*2/3))
if [[ $targetXms -lt 2000 ]];
then
targetXms=$targetXmx
fi
jar=""
for j in "$DIR/../jar/mixcr.jar" "$DIR/mixcr.jar" "$DIR/target/mixcr-1.2-distribution.jar"
do
if [[ -e "$j" ]];
then
jar=$j
break
fi
done
if [[ "$jar" == "" ]];
then
echo "No jar."
exit 1
fi
$java -Dmixcr.command=mixcr -Xmx${targetXmx}m -Xms${targetXms}m -XX:+AggressiveOpts -jar $jar "${@:1}"
176 pom.xml
@@ -0,0 +1,176 @@
<!--
~ Copyright (c) 2014-2015, Bolotin Dmitry, Chudakov Dmitry, Shugay Mikhail
~ (here and after addressed as Inventors)
~ All Rights Reserved
~
~ Permission to use, copy, modify and distribute any part of this program for
~ educational, research and non-profit purposes, by non-profit institutions
~ only, without fee, and without a written agreement is hereby granted,
~ provided that the above copyright notice, this paragraph and the following
~ three paragraphs appear in all copies.
~
~ Those desiring to incorporate this work into commercial products or use for
~ commercial purposes should contact the Inventors using one of the following
~ email addresses: chudakovdm@mail.ru, chudakovdm@gmail.com
~
~ IN NO EVENT SHALL THE INVENTORS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
~ SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
~ ARISING OUT OF THE USE OF THIS SOFTWARE, EVEN IF THE INVENTORS HAS BEEN
~ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
~
~ THE SOFTWARE PROVIDED HEREIN IS ON AN "AS IS" BASIS, AND THE INVENTORS HAS
~ NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR
~ MODIFICATIONS. THE INVENTORS MAKES NO REPRESENTATIONS AND EXTENDS NO
~ WARRANTIES OF ANY KIND, EITHER IMPLIED OR EXPRESS, INCLUDING, BUT NOT
~ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A
~ PARTICULAR PURPOSE, OR THAT THE USE OF THE SOFTWARE WILL NOT INFRINGE ANY
~ PATENT, TRADEMARK OR OTHER RIGHTS.
-->
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.milaboratory</groupId>
<artifactId>mixcr</artifactId>
<version>1.2</version>
<packaging>jar</packaging>
<name>MiXCR</name>
<parent>
<groupId>org.sonatype.oss</groupId>
<artifactId>oss-parent</artifactId>
<version>7</version>
</parent>
<dependencies>
<dependency>
<groupId>com.milaboratory</groupId>
<artifactId>milib</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>com.milaboratory</groupId>
<artifactId>mitools</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>com.milaboratory</groupId>
<artifactId>milib</artifactId>
<version>1.0</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>net.sf.trove4j</groupId>
<artifactId>trove4j</artifactId>
<version>3.0.3</version>
</dependency>
<dependency>
<groupId>com.beust</groupId>
<artifactId>jcommander</artifactId>
<version>1.30</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>16.0</version>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<version>1.9.5</version>
<scope>test</scope>
</dependency>
</dependencies>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.17</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.2</version>
<executions>
<execution>
<goals>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.3</version>
<executions>
<execution>
<phase>pre-integration-test</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<createDependencyReducedPom>false</createDependencyReducedPom>
<minimizeJar>true</minimizeJar>
<filters>
<filter>
<artifact>com.milaboratory:micommons</artifact>
<includes>
<include>**</include>
</includes>
</filter>
</filters>
<transformers>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ApacheLicenseResourceTransformer">
</transformer>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ApacheNoticeResourceTransformer">
<addHeader>false</addHeader>
</transformer>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.milaboratory.mixcr.cli.Main</mainClass>
</transformer>
</transformers>
<shadedArtifactAttached>true</shadedArtifactAttached>
<shadedClassifierName>distribution</shadedClassifierName>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
@@ -0,0 +1,84 @@
/*
* Copyright (c) 2014-2015, Bolotin Dmitry, Chudakov Dmitry, Shugay Mikhail
* (here and after addressed as Inventors)
* All Rights Reserved
*
* Permission to use, copy, modify and distribute any part of this program for
* educational, research and non-profit purposes, by non-profit institutions
* only, without fee, and without a written agreement is hereby granted,
* provided that the above copyright notice, this paragraph and the following
* three paragraphs appear in all copies.
*
* Those desiring to incorporate this work into commercial products or use for
* commercial purposes should contact the Inventors using one of the following
* email addresses: chudakovdm@mail.ru, chudakovdm@gmail.com
*
* IN NO EVENT SHALL THE INVENTORS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
* SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
* ARISING OUT OF THE USE OF THIS SOFTWARE, EVEN IF THE INVENTORS HAS BEEN
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* THE SOFTWARE PROVIDED HEREIN IS ON AN "AS IS" BASIS, AND THE INVENTORS HAS
* NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR
* MODIFICATIONS. THE INVENTORS MAKES NO REPRESENTATIONS AND EXTENDS NO
* WARRANTIES OF ANY KIND, EITHER IMPLIED OR EXPRESS, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A
* PARTICULAR PURPOSE, OR THAT THE USE OF THE SOFTWARE WILL NOT INFRINGE ANY
* PATENT, TRADEMARK OR OTHER RIGHTS.
*/
package com.milaboratory.mixcr.assembler;
import com.milaboratory.mixcr.reference.GeneFeature;
public abstract class AbstractClonalAlignerParameters<T extends AbstractClonalAlignerParameters<T>> {
protected float relativeMinScore;
protected GeneFeature featureToAlign;
protected AbstractClonalAlignerParameters() {
}
protected AbstractClonalAlignerParameters(GeneFeature featureToAlign, float relativeMinScore) {
this.relativeMinScore = relativeMinScore;
this.featureToAlign = featureToAlign;
}
public float getRelativeMinScore() {
return relativeMinScore;
}
public T setRelativeMinScore(float relativeMinScore) {
this.relativeMinScore = relativeMinScore;
return (T) this;
}
public GeneFeature getFeatureToAlign() {
return featureToAlign;
}
public T setFeatureToAlign(GeneFeature featureToAlign) {
this.featureToAlign = featureToAlign;
return (T) this;
}
public abstract T clone();
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof AbstractClonalAlignerParameters)) return false;
AbstractClonalAlignerParameters that = (AbstractClonalAlignerParameters) o;
if (Float.compare(that.relativeMinScore, relativeMinScore) != 0) return false;
if (!featureToAlign.equals(that.featureToAlign)) return false;
return true;
}
@Override
public int hashCode() {
int result = (relativeMinScore != +0.0f ? Float.floatToIntBits(relativeMinScore) : 0);
result = 31 * result + featureToAlign.hashCode();
return result;
}
}
Oops, something went wrong.

0 comments on commit be023fc

Please sign in to comment.