[med-svn] [rna-star] 03/05: Imported Upstream version 2.5.2b+dfsg
Sascha Steinbiss
satta at debian.org
Tue Aug 23 12:48:28 UTC 2016
This is an automated email from the git hooks/post-receive script.
satta pushed a commit to branch master
in repository rna-star.
commit 060cffa7f22e8b835825530df5d37b75ff30d34f
Author: Sascha Steinbiss <satta at debian.org>
Date: Tue Aug 23 12:37:05 2016 +0000
Imported Upstream version 2.5.2b+dfsg
---
.travis.yml | 1 -
CHANGES.md | 9 +++++++++
Makefile | 24 ------------------------
README.md | 27 ++++++++++++++++++++-------
source/BAMbinSortByCoordinate.cpp | 2 +-
source/Parameters.cpp | 8 +++++++-
source/ReadAlignChunk_mapChunk.cpp | 2 +-
source/ReadAlign_chimericDetection.cpp | 2 +-
source/ReadAlign_outputAlignments.cpp | 2 +-
source/VERSION | 2 +-
source/genomeScanFastaFiles.cpp | 9 +++++----
source/loadGTF.cpp | 2 +-
12 files changed, 47 insertions(+), 43 deletions(-)
diff --git a/.travis.yml b/.travis.yml
index 01a8422..ac89cee 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -2,6 +2,5 @@ git:
submodules: false
before_script:
- cd source
-before_script
script:
- make STAR
diff --git a/CHANGES.md b/CHANGES.md
index d6b7d28..86234ae 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,3 +1,12 @@
+STAR 2.5.2b 2016/08/19
+======================
+
+* Fixed a problem with --outSAMmultNmax 1 not working for transcriptomic output.
+* Fixed a bug with chimeric BAM output for --chimOutType WithinBAM option.
+* Fixed a bug that could cause non-stable BAM sorting if the gcc qsort is unstable.
+* Fixed a bug with causing seg-faults when combining --twopassMode Basic --outSAMorder PairedKeepInputOrder .
+* Fixed a problem with SAM header in cases where reference sequences are added at the mapping stage.
+
STAR 2.5.2a 2016/05/10
======================
diff --git a/Makefile b/Makefile
deleted file mode 100644
index 97aca2d..0000000
--- a/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# You want latexmk to *always* run, because make does not have all the info.
-.PHONY:
-
-INPUT_DIR = ./extras/doc-latex
-OUTPUT_DIR = ./doc
-
-all : STAR manual
-
-STAR :
- cd source && $(MAKE) $@
-manual : $(OUTPUT_DIR)/STARmanual.pdf
-
-
-%.tex : %.raw
- ./raw2tex $< > $@
-%.tex : %.dat
- ./dat2tex $< > $@
-
-$(OUTPUT_DIR)/STARmanual.pdf : $(INPUT_DIR)/STARmanual.tex $(INPUT_DIR)/parametersDefault.tex
- cd $(INPUT_DIR) && latexmk -pdf -output-directory=../../$(OUTPUT_DIR) -jobname=STARmanual -pdflatex='pdflatex -halt-on-error %O %S -synctex=1 -interaction=nonstopmode --src-specials' -quiet -f -use-make $(basename $(notdir $<))
-
-clean : $(INPUT_DIR)/STARmanual.tex
- cd $(INPUT_DIR) && latexmk -C -output-directory=../../$(OUTPUT_DIR) -jobname=STARmanual $(basename $(notdir $<))
- cd source && $(MAKE) $@
diff --git a/README.md b/README.md
index 2060019..5bed4ee 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
STAR 2.5
========
Spliced Transcripts Alignment to a Reference
-© Alexander Dobin, 2009-2015
+© Alexander Dobin, 2009-20156
AUTHOR/SUPPORT
==============
@@ -38,9 +38,9 @@ Linux
```bash
# Get latest STAR source from releases
-wget https://github.com/alexdobin/STAR/archive/STAR_2.4.2a.tar.gz
-tar -xzf STAR_2.4.2a.tar.gz
-cd STAR_2.4.2a
+wget https://github.com/alexdobin/STAR/archive/2.5.2b.tar.gz
+tar -xzf STAR_2.5.2b.tar.gz
+cd STAR-2.5.2a
# Alternatively, get STAR source using git
git clone https://github.com/alexdobin/STAR.git
@@ -61,9 +61,9 @@ Mac OS X
```bash
# Get latest STAR source from releases
-wget https://github.com/alexdobin/STAR/archive/STAR_2.4.2a.tar.gz
-tar -xzf STAR_2.4.2a.tar.gz
-cd STAR_2.4.2a
+wget https://github.com/alexdobin/STAR/archive/STAR_2.5.2a.tar.gz
+tar -xzf STAR_2.5.2a.tar.gz
+cd STAR_2.5.2a
# Alternatively, get STAR source using git
git clone https://github.com/alexdobin/STAR.git
@@ -77,6 +77,9 @@ cd source
make STARforMacStatic
```
+All platforms
+-------------
+
If g++ compiler (true g++, not Clang sym-link) is not on the path, you will need to tell `make` where to find it:
```bash
@@ -85,6 +88,16 @@ cd source
make STARforMacStatic CXX=/path/to/gcc
```
+If employing STAR only on a single machine or a homogeneously setup cluster, you may aim at helping the compiler to optimize in way that is tailored to your platform. The flags LDFLAGSextra and CXXFLAGSextra are appended to the default optimizations specified in source/Makefile.
+
+```
+# platform-specific optimization for gcc/g++
+make CXXFLAGSextra=-march=native
+# together with link-time optimization
+make LDFLAGSextra=-flto CXXFLAGSextra="-flto -march=native"
+```
+
+
Developers
==========
diff --git a/source/BAMbinSortByCoordinate.cpp b/source/BAMbinSortByCoordinate.cpp
index c312c88..0092b69 100644
--- a/source/BAMbinSortByCoordinate.cpp
+++ b/source/BAMbinSortByCoordinate.cpp
@@ -45,7 +45,7 @@ void BAMbinSortByCoordinate(uint32 iBin, uint binN, uint binS, uint nThreads, st
};
//sort
- qsort((void*) startPos, binN, sizeof(uint)*3, funCompareUint2);
+ qsort((void*) startPos, binN, sizeof(uint)*3, funCompareArrays<uint,3>);
BGZF *bgzfBin;
bgzfBin=bgzf_open((dirBAMsort+"/b"+to_string((uint) iBin)).c_str(),("w"+to_string((long long) P->outBAMcompression)).c_str());
diff --git a/source/Parameters.cpp b/source/Parameters.cpp
index ef7966a..db3da87 100644
--- a/source/Parameters.cpp
+++ b/source/Parameters.cpp
@@ -624,9 +624,15 @@ void Parameters::inputParameters (int argInN, char* argIn[]) {//input parameters
if (outFilterType=="BySJout" && outSAMorder=="PairedKeepInputOrder") {
ostringstream errOut;
errOut <<"EXITING: fatal input ERROR: --outFilterType=BySJout is not presently compatible with --outSAMorder=PairedKeepInputOrder\n";
- errOut <<"SOLUTION: re-run STAR without setting one of those parameters. Send a feature request to the Authors\n";
+ errOut <<"SOLUTION: re-run STAR without setting one of those parameters.\n";
exitWithError(errOut.str(), std::cerr, inOut->logMain, EXIT_CODE_PARAMETER, *this);
};
+ if (!outSAMbool && outSAMorder=="PairedKeepInputOrder") {
+ ostringstream errOut;
+ errOut <<"EXITING: fatal input ERROR: --outSAMorder=PairedKeepInputOrder is presently only compatible with SAM output, i.e. default --outSMAtype SAM\n";
+ errOut <<"SOLUTION: re-run STAR without --outSAMorder=PairedKeepInputOrder, or with --outSAMorder=PairedKeepInputOrder --outSMAtype SAM .\n";
+ exitWithError(errOut.str(), std::cerr, inOut->logMain, EXIT_CODE_PARAMETER, *this);
+ };
//SJ filtering
for (int ii=0;ii<4;ii++) {
if (outSJfilterOverhangMin.at(ii)<0) outSJfilterOverhangMin.at(ii)=numeric_limits<int32>::max();
diff --git a/source/ReadAlignChunk_mapChunk.cpp b/source/ReadAlignChunk_mapChunk.cpp
index fdeef52..3ebd4d4 100644
--- a/source/ReadAlignChunk_mapChunk.cpp
+++ b/source/ReadAlignChunk_mapChunk.cpp
@@ -89,7 +89,7 @@ void ReadAlignChunk::mapChunk() {//map one chunk. Input reads stream has to be s
}; //reads cycle
- if ( P->outSAMorder == "PairedKeepInputOrder" && P->runThreadN>1 ) {//write the remaining part of the buffer, close and rename chunk files
+ if ( P->outSAMbool && P->outSAMorder == "PairedKeepInputOrder" && P->runThreadN>1 ) {//write the remaining part of the buffer, close and rename chunk files
chunkOutBAMfile.write(chunkOutBAM,chunkOutBAMtotal);
chunkOutBAMfile.clear(); //in case 0 bytes were written which could set fail bit
chunkOutBAMfile.close();
diff --git a/source/ReadAlign_chimericDetection.cpp b/source/ReadAlign_chimericDetection.cpp
index b6e78b4..4d7c958 100644
--- a/source/ReadAlign_chimericDetection.cpp
+++ b/source/ReadAlign_chimericDetection.cpp
@@ -376,7 +376,7 @@ bool ReadAlign::chimericDetection() {
};
- bamN+=alignBAM(trChim[itr], 1, 1, P->chrStart[trChim[itr].Chr], mateChr, mateStart, mateStrand, \
+ bamN+=alignBAM(trChim[itr], 1, 1, P->chrStart[trChim[itr].Chr], mateChr, mateStart-P->chrStart[mateChr], mateStrand, \
alignType, NULL, P->outSAMattrOrder, outBAMoneAlign+bamN, outBAMoneAlignNbytes+bamN);
bamBytesTotal+=outBAMoneAlignNbytes[0]+outBAMoneAlignNbytes[1];//outBAMoneAlignNbytes[1] = 0 if SE is recorded
};
diff --git a/source/ReadAlign_outputAlignments.cpp b/source/ReadAlign_outputAlignments.cpp
index 60c7832..a6c507a 100644
--- a/source/ReadAlign_outputAlignments.cpp
+++ b/source/ReadAlign_outputAlignments.cpp
@@ -224,7 +224,7 @@ void ReadAlign::outputAlignments() {
if ( P->quant.trSAM.yes )
{//NOTE: the transcripts are changed by this function (soft-clipping extended), cannot be reused
- quantTranscriptome(chunkTr, nTr, trMult, alignTrAll);
+ quantTranscriptome(chunkTr, nTrOut, trMult, alignTrAll);
};
};
};
diff --git a/source/VERSION b/source/VERSION
index db1d5a3..641fb03 100644
--- a/source/VERSION
+++ b/source/VERSION
@@ -1 +1 @@
-#define STAR_VERSION "STAR_2.5.2a"
+#define STAR_VERSION "STAR_2.5.2b"
diff --git a/source/genomeScanFastaFiles.cpp b/source/genomeScanFastaFiles.cpp
index 2f0911e..1ba2a1b 100644
--- a/source/genomeScanFastaFiles.cpp
+++ b/source/genomeScanFastaFiles.cpp
@@ -7,8 +7,9 @@ uint genomeScanFastaFiles (Parameters *P, char* G, bool flagRun) {//scans fasta
uint N=0;//total number of bases in the genome, including chr "spacers"
if (!flagRun && P->chrLength.size()>0)
{//previous chr records exist
- P->chrStart.pop_back();//remove last record
+ P->chrStart.pop_back();//remove last record, it will be recorded again
N = P->chrStart.back()+P->chrLength.back();
+ P->chrLength.pop_back();//remove last record, it will be recorded again
};
ifstream fileIn;
@@ -30,8 +31,8 @@ uint genomeScanFastaFiles (Parameters *P, char* G, bool flagRun) {//scans fasta
if (cc!='>')
{
ostringstream errOut;
- errOut << "EXITING because of INPUT ERROR: the file format of the genomeFastaFile: " <<P->genomeFastaFiles.at(ii) << "is not fasta:";
- errOut << " the first character is " <<cc<<" , not > .\n";
+ errOut << "EXITING because of INPUT ERROR: the file format of the genomeFastaFile: " <<P->genomeFastaFiles.at(ii) << " is not fasta:";
+ errOut << " the first character is '" <<cc<<"' ("<< (cc+0) << "), not '>'.\n";
errOut << " Solution: check formatting of the fasta file. Make sure the file is uncompressed (unzipped).\n";
exitWithError(errOut.str(),std::cerr, P->inOut->logMain, EXIT_CODE_INPUT_FILES, *P);
}; while(!fileIn.eof()) {//read each file until eof
@@ -65,7 +66,7 @@ uint genomeScanFastaFiles (Parameters *P, char* G, bool flagRun) {//scans fasta
};
- if (!flagRun) P->chrLength.push_back(N-P->chrStart.at(P->chrStart.size()-1)); //true length of the chr
+ if (!flagRun) P->chrLength.push_back(N-P->chrStart.at(P->chrStart.size()-1)); //true length of the last chr
N = ( (N+1)/P->genomeChrBinNbases+1)*P->genomeChrBinNbases;
diff --git a/source/loadGTF.cpp b/source/loadGTF.cpp
index 76c236a..1f1a668 100644
--- a/source/loadGTF.cpp
+++ b/source/loadGTF.cpp
@@ -69,7 +69,7 @@ uint loadGTF(SjdbClass &sjdbLoci, Parameters *P, string dirOut) {//load gtf file
{
ostringstream errOut;
errOut << "Fatal INPUT FILE error, no ""exon"" lines in the GTF file: " << P->sjdbGTFfile <<"\n";
- errOut << "Solution: check the formatting of the GTF file, it must contain some lines woth ""exon"" in the 3rd column.\n";
+ errOut << "Solution: check the formatting of the GTF file, it must contain some lines with ""exon"" in the 3rd column.\n";
errOut << " Make sure the GTF file is unzipped.\n";
errOut << " If exons are marked with a different word, use --sjdbGTFfeatureExon .\n";
exitWithError(errOut.str(),std::cerr, P->inOut->logMain, EXIT_CODE_INPUT_FILES, *P);
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/rna-star.git
More information about the debian-med-commit
mailing list