From ccdf6b93a8ae0216cab58b76b0d62beb170974ce Mon Sep 17 00:00:00 2001 From: Dmitry Bolotin Date: Tue, 17 May 2016 12:47:46 +0300 Subject: [PATCH 01/11] Fixed: wrong boundaries of CDR1-CDR3 in Rat IGH/IGK references imported from IMGT --- CHANGELOG_CURRENT | 1 + importFromIMGT.sh | 5 + pom.xml | 2 +- .../segment_importer_parameters.json | 102 ++++++++++++++++++ 4 files changed, 109 insertions(+), 1 deletion(-) diff --git a/CHANGELOG_CURRENT b/CHANGELOG_CURRENT index e69de29bb..0f633db70 100644 --- a/CHANGELOG_CURRENT +++ b/CHANGELOG_CURRENT @@ -0,0 +1 @@ +Fixed: wrong boundaries of CDR1-CDR3 in Rat IGH/IGK references imported from IMGT \ No newline at end of file diff --git a/importFromIMGT.sh b/importFromIMGT.sh index e96adfbd3..e3ef43bd4 100755 --- a/importFromIMGT.sh +++ b/importFromIMGT.sh @@ -97,6 +97,11 @@ do # Workaround for *** IMGT malformed files if [[ "$(echo ${species} | tr [:upper:] [:lower:])" == mus* ]] && [[ "$locus" == TR[AD] ]]; then comm="$comm -p imgt_a1" + echo "Special paramenters for Mouse TRA/D genes activated." + fi + if [[ "$(echo ${species} | tr [:upper:] [:lower:])" == rat* ]] && [[ "$locus" == IG[HK] ]]; then + comm="$comm -p imgt_a2" + echo "Special paramenters for Rat IGH/K genes activated." fi # Output file info on the last iteration diff --git a/pom.xml b/pom.xml index dd72dfe60..2fa62d52b 100644 --- a/pom.xml +++ b/pom.xml @@ -32,7 +32,7 @@ com.milaboratory mixcr - 1.7.2 + 1.7.3-SNAPSHOT jar MiXCR diff --git a/src/main/resources/parameters/segment_importer_parameters.json b/src/main/resources/parameters/segment_importer_parameters.json index 339a02c63..a943055ae 100644 --- a/src/main/resources/parameters/segment_importer_parameters.json +++ b/src/main/resources/parameters/segment_importer_parameters.json @@ -202,5 +202,107 @@ } ] } + }, + "imgt_a2": { + "v": { + "geneType": "Variable", + "alleleNameExtractionPattern": "^[^\\|]+\\|([^\\|]+)", + "functionalAllelePattern": "^[^\\|]+\\|[^\\|]+\\|[^\\|]+\\|[\\(\\[]?F", + "referenceAllelePattern": "^[^\\|]+\\|[^\\|]+\\*01", + "paddingChar": ".", + "frameBoundedAnchorPoint": "FR1Begin", + "firstOccurredAlleleIsReference": true, + "scoring": { + "type": "affine", + "subsMatrix": "simple(match = 1, mismatch = -4)", + "gapOpenPenalty": -11, + "gapExtensionPenalty": -2 + }, + "anchorPointPositions": [ + { + "point": "FR1Begin", + "position": 0 + }, + { + "point": "CDR1Begin", + "position": 78 + }, + { + "point": "FR2Begin", + "position": 117 + }, + { + "point": "CDR2Begin", + "position": 168 + }, + { + "point": "FR3Begin", + "position": 198 + }, + { + "point": "CDR3Begin", + "position": 315 + }, + { + "point": "VEnd", + "position": "end" + } + ] + }, + "d": { + "geneType": "Diversity", + "alleleNameExtractionPattern": "^[^\\|]+\\|([^\\|]+)", + "functionalAllelePattern": "^[^\\|]+\\|[^\\|]+\\|[^\\|]+\\|[\\(\\[]?F", + "referenceAllelePattern": "^[^\\|]+\\|[^\\|]+\\*01", + "paddingChar": ".", + "frameBoundedAnchorPoint": null, + "firstOccurredAlleleIsReference": true, + "scoring": { + "type": "affine", + "subsMatrix": "simple(match = 1, mismatch = -4)", + "gapOpenPenalty": -21, + "gapExtensionPenalty": -2 + }, + "anchorPointPositions": [ + { + "point": "DBegin", + "position": 0 + }, + { + "point": "DEnd", + "position": "end" + } + ] + }, + "j": { + "geneType": "Joining", + "alleleNameExtractionPattern": "^[^\\|]+\\|([^\\|]+)", + "functionalAllelePattern": "^[^\\|]+\\|[^\\|]+\\|[^\\|]+\\|[\\(\\[]?F", + "referenceAllelePattern": "^[^\\|]+\\|[^\\|]+\\*01", + "paddingChar": ".", + "frameBoundedAnchorPoint": "FR4Begin", + "firstOccurredAlleleIsReference": true, + "scoring": { + "type": "affine", + "subsMatrix": "simple(match = 1, mismatch = -4)", + "gapOpenPenalty": -21, + "gapExtensionPenalty": -2 + }, + "anchorPointPositions": [ + { + "point": "JBegin", + "position": 0 + }, + { + "point": "FR4Begin", + "position": -31, + "nucleotidePattern": "(?:TGG|TT[TC])()GG[ATGC]{4}GG[ATGC]" + }, + { + "point": "FR4End", + "position": "end" + } + ] + } } } \ No newline at end of file From 0f658ab7593641c982b607694491f9e683459994 Mon Sep 17 00:00:00 2001 From: Dmitry Bolotin Date: Tue, 10 May 2016 17:50:04 +0300 Subject: [PATCH 02/11] This fixes problem with spaces in file names. Fixes #81 --- mixcr | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mixcr b/mixcr index 2b2b27c77..8379f727d 100755 --- a/mixcr +++ b/mixcr @@ -87,7 +87,7 @@ do ;; *) - mixcrArgs+=(${key}) + mixcrArgs+=("${key}") ;; esac done From b0187d8c9c242dfd80f63c1baeca26a72e8531ff Mon Sep 17 00:00:00 2001 From: Dmitry Bolotin Date: Tue, 17 May 2016 13:39:32 +0300 Subject: [PATCH 03/11] support for FreeBSD in mixcr script --- CHANGELOG_CURRENT | 4 +++- mixcr | 9 ++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/CHANGELOG_CURRENT b/CHANGELOG_CURRENT index 0f633db70..4e1f77a67 100644 --- a/CHANGELOG_CURRENT +++ b/CHANGELOG_CURRENT @@ -1 +1,3 @@ -Fixed: wrong boundaries of CDR1-CDR3 in Rat IGH/IGK references imported from IMGT \ No newline at end of file +Fixed: wrong boundaries of CDR1-CDR3 in Rat IGH/IGK references imported from IMGT +Fixed: bug leading to incorrect parsing of input/output file paths with spaces +Added support for FreeBSD in mixcr script diff --git a/mixcr b/mixcr index 8379f727d..4de99a319 100755 --- a/mixcr +++ b/mixcr @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash java="java" @@ -52,6 +52,13 @@ case $os in maxMb=$(($rFreeMb-$delta)) dir="$(dirname "$(readlink -f "$0")")" ;; + FreeBSD) + freeBlocks=$(vmstat -s | grep -E 'free$' | awk '{ print $1 }') + inactiveBlocks=$(vmstat -s | grep inactive | awk '{ print $1 }') + freeMb=$(( ($freeBlocks+$inactiveBlocks)*4096/1048576 )) + maxMb=$(($freeMb-$delta)) + dir=$(dirname "$(readlinkUniversal "$0")") + ;; *) echo "Unknown OS." exit 1 From dfdab9ac803ecad1446734015ff2f39c68ccb63b Mon Sep 17 00:00:00 2001 From: PoslavskySV Date: Tue, 17 May 2016 14:38:04 +0400 Subject: [PATCH 04/11] Update export.rst --- doc/export.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/export.rst b/doc/export.rst index 8a6f88ac6..0459af381 100644 --- a/doc/export.rst +++ b/doc/export.rst @@ -663,7 +663,7 @@ Finally, one can export reads aggregated by each clone into separate ``.fastq`` mixcr align -g -l IGH input.fastq alignments.vdjca.gz -With this option MiXCR will store original reads in the ``.vdjca`` file. Then one can export reads corresponding for particular clone with ``exportReads`` command. For example, export all reads that were assembled into the first clone (clone with cloneId = 1): +With this option MiXCR will store original reads in the ``.vdjca`` file. Then one can export reads corresponding for particular clone with ``exportReads`` command. For example, export all reads that were assembled into the first clone (clone with cloneId = 0): :: From 93a1e8fdd0f1b2a8b5460f78e605f7d3b7a6ea69 Mon Sep 17 00:00:00 2001 From: PoslavskySV Date: Tue, 17 May 2016 14:41:41 +0400 Subject: [PATCH 05/11] Update export.rst --- doc/export.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/export.rst b/doc/export.rst index 0459af381..dd5ec19a1 100644 --- a/doc/export.rst +++ b/doc/export.rst @@ -587,7 +587,7 @@ In any way, first one need to specify additonal option ``--index`` for the :ref: mixcr assemble --index index_file alignments.vdjca output.clns -This will tell MiXCR to store mapping in the file ``index_file``. Now one can use ``index_file`` in order to access this information. For example using ``-cloneId`` option for ``exportAlignments`` command: +This will tell MiXCR to store mapping in the file ``index_file`` (actually two files will be created: ``index_file`` and ``index_file.p`` both of which are used to store the index; in further options one should specify only ``index_file`` without ``.p`` extension and MiXCR will automatically read both required files). Now one can use ``index_file`` in order to access this information. For example using ``-cloneId`` option for ``exportAlignments`` command: :: From 235e7a1fe850df18e1aa8d068d1e1755b5034d48 Mon Sep 17 00:00:00 2001 From: Dmitry Bolotin Date: Wed, 30 Mar 2016 11:42:57 +0300 Subject: [PATCH 06/11] Additional warning messages. --- .../milaboratory/mixcr/cli/ActionAlign.java | 45 ++++++++++++++++--- .../mixcr/reference/GeneFeature.java | 6 +-- 2 files changed, 42 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/milaboratory/mixcr/cli/ActionAlign.java b/src/main/java/com/milaboratory/mixcr/cli/ActionAlign.java index 57dcd827f..0795a1366 100644 --- a/src/main/java/com/milaboratory/mixcr/cli/ActionAlign.java +++ b/src/main/java/com/milaboratory/mixcr/cli/ActionAlign.java @@ -74,8 +74,10 @@ public void go(ActionHelper helper) throws Exception { if (!actionParameters.overrides.isEmpty()) { alignerParameters = JsonOverrider.override(alignerParameters, VDJCAlignerParameters.class, actionParameters.overrides); - if (alignerParameters == null) + if (alignerParameters == null) { System.err.println("Failed to override some parameter."); + return; + } } VDJCAligner aligner = VDJCAligner.createAligner(alignerParameters, @@ -87,21 +89,43 @@ public void go(ActionHelper helper) throws Exception { return; } + // Checking species + int speciesId = ll.getSpeciesTaxonId(actionParameters.species); + + if (speciesId == -1) + speciesId = Species.fromString(actionParameters.species); + + if (speciesId == -1) { + System.err.println("Can't find species with id: " + actionParameters.species); + return; + } + + boolean warnings = false; + for (Locus locus : actionParameters.getLoci()) { - LocusContainer lc = ll.getLocus(actionParameters.species, locus); + LocusContainer lc = ll.getLocus(speciesId, locus); if (lc == null) { - if (params().printWarnings()) + if (params().printWarnings()) { System.err.println("WARNING: No records for " + locus); + warnings = true; + } continue; } for (Allele allele : lc.getAllAlleles()) if (alignerParameters.containsRequiredFeature(allele) && (allele.isFunctional() || !actionParameters.isFunctionalOnly())) aligner.addAllele(allele); - else if (params().printWarnings() && allele.isFunctional()) - System.err.println("WARNING: Functional allele excluded " + allele.getName()); + else if (params().printWarnings() && allele.isFunctional()) { + System.err.println("WARNING: Functional allele excluded " + allele.getName() + + " as it doesn't contain full " + GeneFeature.encode(alignerParameters + .getFeatureToAlign(allele.getGeneType()))); + warnings = true; + } } + if (warnings) + System.err.println("To turn off warnings use '-nw' option."); + AlignerReport report = actionParameters.report == null ? null : new AlignerReport(); if (report != null) { aligner.setEventsListener(report); @@ -194,6 +218,10 @@ public static class AlignParameters extends ActionParametersWithOutput { names = {"-w", "--warnings"}) public Boolean warnings = null; + @Parameter(description = "Don't print warnings", + names = {"-nw", "--no-warnings"}) + public Boolean noWarnings = null; + @Parameter(description = "Parameters", names = {"-p", "--parameters"}) public String alignerParametersName = "default"; @@ -270,7 +298,12 @@ public String getInputForReport() { } public boolean printWarnings() { - return warnings != null && warnings; + if (warnings != null && noWarnings != null) + throw new ParameterException("Simultaneous use of -w and -nw."); + if (warnings == null) + return !"mi".equals(ll) && noWarnings == null; + else + return warnings; } public Set getLoci() { diff --git a/src/main/java/com/milaboratory/mixcr/reference/GeneFeature.java b/src/main/java/com/milaboratory/mixcr/reference/GeneFeature.java index e94d7552b..bf3a94500 100644 --- a/src/main/java/com/milaboratory/mixcr/reference/GeneFeature.java +++ b/src/main/java/com/milaboratory/mixcr/reference/GeneFeature.java @@ -658,9 +658,9 @@ public static String encode(GeneFeature feature) { return encode(feature, true); } - static String encode(GeneFeature feature, boolean copact) { + static String encode(GeneFeature feature, boolean compact) { ensureInitialized(); - if (copact) { + if (compact) { String s = nameByFeature.get(feature); if (s != null) return s; @@ -670,7 +670,7 @@ static String encode(GeneFeature feature, boolean copact) { out: for (int i = 0; i < encodes.length; ++i) { ReferenceRange region = feature.regions[i]; - if (copact) { + if (compact) { String base = null; for (GeneFeature a : available) if (match(region, a)) { From 1ab3a6d4b02db0c4eda4f412f5ff9b7d5d854913 Mon Sep 17 00:00:00 2001 From: Dmitry Bolotin Date: Mon, 25 Apr 2016 12:44:21 +0300 Subject: [PATCH 07/11] Human readable message for empty V/J genes lists in aligner. This fixes #76 --- .../milaboratory/mixcr/cli/ActionAlign.java | 34 ++++++++++++++----- .../mixcr/vdjaligners/VDJCAligner.java | 8 ++--- 2 files changed, 29 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/milaboratory/mixcr/cli/ActionAlign.java b/src/main/java/com/milaboratory/mixcr/cli/ActionAlign.java index 0795a1366..248a2221c 100644 --- a/src/main/java/com/milaboratory/mixcr/cli/ActionAlign.java +++ b/src/main/java/com/milaboratory/mixcr/cli/ActionAlign.java @@ -111,21 +111,37 @@ public void go(ActionHelper helper) throws Exception { } continue; } - for (Allele allele : lc.getAllAlleles()) - if (alignerParameters.containsRequiredFeature(allele) && - (allele.isFunctional() || !actionParameters.isFunctionalOnly())) - aligner.addAllele(allele); - else if (params().printWarnings() && allele.isFunctional()) { - System.err.println("WARNING: Functional allele excluded " + allele.getName() + - " as it doesn't contain full " + GeneFeature.encode(alignerParameters - .getFeatureToAlign(allele.getGeneType()))); - warnings = true; + for (Allele allele : lc.getAllAlleles()) { + if (actionParameters.isFunctionalOnly() && !allele.isFunctional()) + continue; + if (!alignerParameters.containsRequiredFeature(allele)) { + if (params().printWarnings()) { + System.err.println("WARNING: Allele " + allele.getName() + + " doesn't contain full " + GeneFeature.encode(alignerParameters + .getFeatureToAlign(allele.getGeneType())) + " (excluded)"); + warnings = true; + } + continue; } + aligner.addAllele(allele); + } } if (warnings) System.err.println("To turn off warnings use '-nw' option."); + if(aligner.getVAllelesToAlign().isEmpty()){ + System.err.println("No V alleles to align. Aborting execution. See warnings for more info " + + "(turn warnings by adding -w option)."); + return; + } + + if(aligner.getVAllelesToAlign().isEmpty()){ + System.err.println("No J alleles to align. Aborting execution. See warnings for more info " + + "(turn warnings by adding -w option)."); + return; + } + AlignerReport report = actionParameters.report == null ? null : new AlignerReport(); if (report != null) { aligner.setEventsListener(report); diff --git a/src/main/java/com/milaboratory/mixcr/vdjaligners/VDJCAligner.java b/src/main/java/com/milaboratory/mixcr/vdjaligners/VDJCAligner.java index b323c804c..d2c6d7379 100644 --- a/src/main/java/com/milaboratory/mixcr/vdjaligners/VDJCAligner.java +++ b/src/main/java/com/milaboratory/mixcr/vdjaligners/VDJCAligner.java @@ -100,19 +100,19 @@ public Allele getAllele(GeneType type, int index) { return allelesToAlign.get(type).get(index); } - protected List getVAllelesToAlign() { + public List getVAllelesToAlign() { return allelesToAlign.get(GeneType.Variable); } - protected List getDAllelesToAlign() { + public List getDAllelesToAlign() { return allelesToAlign.get(GeneType.Diversity); } - protected List getJAllelesToAlign() { + public List getJAllelesToAlign() { return allelesToAlign.get(GeneType.Joining); } - protected List getCAllelesToAlign() { + public List getCAllelesToAlign() { return allelesToAlign.get(GeneType.Constant); } From 278ebc7019d7ff2e241408b0df31c17134ea0aca Mon Sep 17 00:00:00 2001 From: Dmitry Bolotin Date: Tue, 17 May 2016 14:53:52 +0300 Subject: [PATCH 08/11] Changelog. --- CHANGELOG_CURRENT | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG_CURRENT b/CHANGELOG_CURRENT index 4e1f77a67..995ee9488 100644 --- a/CHANGELOG_CURRENT +++ b/CHANGELOG_CURRENT @@ -1,3 +1,5 @@ Fixed: wrong boundaries of CDR1-CDR3 in Rat IGH/IGK references imported from IMGT Fixed: bug leading to incorrect parsing of input/output file paths with spaces Added support for FreeBSD in mixcr script +minor: Human-readable error messages for illegal analysis options with IMGT reference +minor: Added human-readable error message for unknown species \ No newline at end of file From 8fe7e78d3519ed012377e646b177370ee88df13b Mon Sep 17 00:00:00 2001 From: Dmitry Bolotin Date: Wed, 30 Mar 2016 10:28:58 +0300 Subject: [PATCH 09/11] This fixes #73 --- .../assembler/CloneFactoryParameters.java | 16 ++++++++++++++++ .../milaboratory/mixcr/cli/ActionAssemble.java | 18 +++++++++++++++++- 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/milaboratory/mixcr/assembler/CloneFactoryParameters.java b/src/main/java/com/milaboratory/mixcr/assembler/CloneFactoryParameters.java index 3ab5f2e6f..f073634ac 100644 --- a/src/main/java/com/milaboratory/mixcr/assembler/CloneFactoryParameters.java +++ b/src/main/java/com/milaboratory/mixcr/assembler/CloneFactoryParameters.java @@ -103,6 +103,22 @@ public GeneFeature getFeatureToAlign(GeneType geneType) { return params.getFeatureToAlign(); } + public CloneFactoryParameters setFeatureToAlign(GeneType geneType, GeneFeature feature) { + if (geneType == GeneType.Diversity) + if (dParameters == null) + throw new IllegalArgumentException("No D parameters."); + else + dParameters.setGeneFeatureToAlign(feature); + else { + VJCClonalAlignerParameters params = getVJCParameters(geneType); + if (params == null) + throw new IllegalArgumentException("No parameters for " + geneType + "."); + else + params.setFeatureToAlign(feature); + } + return this; + } + public CloneFactoryParameters setVJCParameters(GeneType geneType, VJCClonalAlignerParameters parameters) { if (parameters == null) vdcParameters.remove(geneType); diff --git a/src/main/java/com/milaboratory/mixcr/cli/ActionAssemble.java b/src/main/java/com/milaboratory/mixcr/cli/ActionAssemble.java index 486248da3..5c805573e 100644 --- a/src/main/java/com/milaboratory/mixcr/cli/ActionAssemble.java +++ b/src/main/java/com/milaboratory/mixcr/cli/ActionAssemble.java @@ -43,7 +43,10 @@ import com.milaboratory.mixcr.basictypes.CloneSetIO; import com.milaboratory.mixcr.basictypes.VDJCAlignmentsReader; import com.milaboratory.mixcr.reference.Allele; +import com.milaboratory.mixcr.reference.GeneFeature; +import com.milaboratory.mixcr.reference.GeneType; import com.milaboratory.mixcr.reference.LociLibraryManager; +import com.milaboratory.mixcr.vdjaligners.VDJCAlignerParameters; import com.milaboratory.primitivio.PipeWriter; import com.milaboratory.util.SmartProgressReporter; import org.mapdb.DB; @@ -65,9 +68,12 @@ public class ActionAssemble implements Action { @Override public void go(ActionHelper helper) throws Exception { - List alleles; + final List alleles; + final VDJCAlignerParameters alignerParameters; try (VDJCAlignmentsReader reader = new VDJCAlignmentsReader(actionParameters.getInputFileName(), LociLibraryManager.getDefault())) { alleles = reader.getUsedAlleles(); + // Saving aligner parameters to correct assembler parameters + alignerParameters = reader.getParameters(); } AlignmentsProvider alignmentsProvider = AlignmentsProvider.Util.createProvider( @@ -83,6 +89,16 @@ public void go(ActionHelper helper) throws Exception { System.err.println("Failed to override some parameter."); } + // Adjusting features to align for correct processing + for (GeneType geneType : GeneType.values()) { + GeneFeature featureAssemble = assemblerParameters.getCloneFactoryParameters().getFeatureToAlign(geneType); + GeneFeature featureAlignment = alignerParameters.getFeatureToAlign(geneType); + if (featureAssemble == null || featureAlignment == null) + continue; + GeneFeature intersection = GeneFeature.intersection(featureAlignment, featureAssemble); + assemblerParameters.getCloneFactoryParameters().setFeatureToAlign(geneType, intersection); + } + try (CloneAssembler assembler = new CloneAssembler(assemblerParameters, false, alleles)) { CloneAssemblerReport report = actionParameters.report == null ? null : new CloneAssemblerReport(); From 4519ee8c1fea4850cd1eab0d1da9c13f84ac0153 Mon Sep 17 00:00:00 2001 From: Dmitry Bolotin Date: Tue, 17 May 2016 19:27:40 +0300 Subject: [PATCH 10/11] Changelog. --- CHANGELOG_CURRENT | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG_CURRENT b/CHANGELOG_CURRENT index 995ee9488..3ae378f46 100644 --- a/CHANGELOG_CURRENT +++ b/CHANGELOG_CURRENT @@ -1,5 +1,7 @@ Fixed: wrong boundaries of CDR1-CDR3 in Rat IGH/IGK references imported from IMGT Fixed: bug leading to incorrect parsing of input/output file paths with spaces +Fixed: bug leading to incorrect parsing of input/output file paths with spaces +Automatic adjustment of featureToAlign in assemble action; fixes `NPE` in some use-cases of RNA data analysis with IMGT reference Added support for FreeBSD in mixcr script minor: Human-readable error messages for illegal analysis options with IMGT reference minor: Added human-readable error message for unknown species \ No newline at end of file From 3b9ddf0a575fe68eb3e3cd1346991cf62723fca6 Mon Sep 17 00:00:00 2001 From: Dmitry Bolotin Date: Tue, 17 May 2016 19:36:39 +0300 Subject: [PATCH 11/11] Release v1.7.3 --- CHANGELOG | 13 +++++++++++++ CHANGELOG_CURRENT | 7 ------- pom.xml | 2 +- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index f7eb8d81c..51f6c750a 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,4 +1,17 @@ +MiXCR 1.7.3 (17 May 2016) +======================== + +-- Fixed: wrong boundaries of CDR1-CDR3 in Rat IGH/IGK references imported from IMGT +-- Fixed: bug leading to incorrect parsing of input/output file paths with spaces +-- Fixed: bug leading to incorrect parsing of input/output file paths with spaces +-- Automatic adjustment of featureToAlign in assemble action; fixes `NPE` in some use-cases of RNA + data analysis with IMGT reference +-- Added support for FreeBSD in mixcr script +-- minor: Human-readable error messages for illegal analysis options with IMGT reference +-- minor: Added human-readable error message for unknown species + + MiXCR 1.7.2 ( 5 May 2016) ======================== diff --git a/CHANGELOG_CURRENT b/CHANGELOG_CURRENT index 3ae378f46..e69de29bb 100644 --- a/CHANGELOG_CURRENT +++ b/CHANGELOG_CURRENT @@ -1,7 +0,0 @@ -Fixed: wrong boundaries of CDR1-CDR3 in Rat IGH/IGK references imported from IMGT -Fixed: bug leading to incorrect parsing of input/output file paths with spaces -Fixed: bug leading to incorrect parsing of input/output file paths with spaces -Automatic adjustment of featureToAlign in assemble action; fixes `NPE` in some use-cases of RNA data analysis with IMGT reference -Added support for FreeBSD in mixcr script -minor: Human-readable error messages for illegal analysis options with IMGT reference -minor: Added human-readable error message for unknown species \ No newline at end of file diff --git a/pom.xml b/pom.xml index 2fa62d52b..55be159ec 100644 --- a/pom.xml +++ b/pom.xml @@ -32,7 +32,7 @@ com.milaboratory mixcr - 1.7.3-SNAPSHOT + 1.7.3 jar MiXCR