[med-svn] [Git][med-team/rna-star][master] 3 commits: New upstream version 2.6.1b+dfsg
Steffen Möller
gitlab at salsa.debian.org
Tue Sep 18 18:03:55 BST 2018
Steffen Möller pushed to branch master at Debian Med / rna-star
Commits:
f926e182 by Steffen Moeller at 2018-09-18T16:52:13Z
New upstream version 2.6.1b+dfsg
- - - - -
8e0f7f13 by Steffen Moeller at 2018-09-18T16:52:13Z
Update upstream source from tag 'upstream/2.6.1b+dfsg'
Update to upstream version '2.6.1b+dfsg'
with Debian dir 980dc0c069f660facd6e8e46af7557e66634f2fa
- - - - -
088d0682 by Steffen Moeller at 2018-09-18T16:58:28Z
Adjustments for new upstream release.
- - - - -
8 changed files:
- CHANGES.md
- debian/changelog
- debian/control
- source/BAMoutput.cpp
- source/Genome.cpp
- source/Parameters.cpp
- source/STAR.cpp
- source/VERSION
Changes:
=====================================
CHANGES.md
=====================================
@@ -1,3 +1,10 @@
+STAR 2.6.1b 2018/09/06
+======================
+
+* Fixed a problem with --outSAMfilter KeepOnlyAddedReferences option.
+* Fixed a problem with output of an empty sorted BAM.
+
+
STAR 2.6.1a 2018/08/14
======================
=====================================
debian/changelog
=====================================
@@ -1,3 +1,10 @@
+rna-star (2.6.1b+dfsg-1) unstable; urgency=medium
+
+ * New upstream version.
+ * Bump Standards-Version.
+
+ -- Steffen Moeller <moeller at debian.org> Tue, 18 Sep 2018 18:53:06 +0200
+
rna-star (2.6.1a+dfsg-1) unstable; urgency=medium
* New upstream release.
=====================================
debian/control
=====================================
@@ -9,7 +9,7 @@ Build-Depends: debhelper (>= 11),
libhts-dev,
vim-common,
zlib1g-dev
-Standards-Version: 4.1.4
+Standards-Version: 4.2.1
Vcs-Browser: https://salsa.debian.org/med-team/rna-star
Vcs-Git: https://salsa.debian.org/med-team/rna-star.git
Homepage: https://github.com/alexdobin/STAR/
=====================================
source/BAMoutput.cpp
=====================================
@@ -127,7 +127,7 @@ void BAMoutput::coordBins() {//define genomic starts for bins
if (P.runThreadN>1) pthread_mutex_lock(&g_threadChunks.mutexBAMsortBins);
if (P.outBAMsortingBinStart[0]!=0) {//it's set to 0 only after the bin sizes are determined
//extract coordinates and sort
- uint *startPos = new uint [binTotalN[0]];//array of aligns start positions
+ uint *startPos = new uint [binTotalN[0]+1];//array of aligns start positions
for (uint ib=0,ia=0;ia<binTotalN[0];ia++) {
uint32 *bamIn32=(uint32*) (binStart[0]+ib);
startPos[ia] =( ((uint) bamIn32[1]) << 32) | ( (uint)bamIn32[2] );
=====================================
source/Genome.cpp
=====================================
@@ -336,10 +336,10 @@ void Genome::genomeLoad(){//allocate and load Genome
else if (pGe.gLoad=="NoSharedMemory") // simply allocate memory, do not use shared memory
{
genomeInsertL=0;
+ genomeInsertChrIndFirst=nChrReal;
if (pGe.gFastaFiles.at(0)!="-")
{//will insert sequences in the genome, now estimate the extra size
uint oldlen=chrStart.back();//record the old length
- genomeInsertChrIndFirst=nChrReal;
genomeInsertL=genomeScanFastaFiles(P, G, false, *this)-oldlen;
};
=====================================
source/Parameters.cpp
=====================================
@@ -737,6 +737,14 @@ void Parameters::inputParameters (int argInN, char* argIn[]) {//input parameters
exitWithError(errOut.str(), std::cerr, inOut->logMain, EXIT_CODE_PARAMETER, *this);
};
+ if ( (outSAMfilter.KeepOnlyAddedReferences || outSAMfilter.KeepAllAddedReferences) && pGe.gFastaFiles.at(0)=="-" ) {
+ ostringstream errOut;
+ errOut <<"EXITING because of FATAL INPUT ERROR: --outSAMfilter KeepOnlyAddedReferences OR KeepAllAddedReferences options can only be used if references are added on-the-fly with --genomeFastaFiles" <<"\n";
+ errOut <<"SOLUTION: use default --outSAMfilter None, OR add references with --genomeFataFiles\n";
+ exitWithError(errOut.str(), std::cerr, inOut->logMain, EXIT_CODE_PARAMETER, *this);
+ };
+
+
if (outMultimapperOrder.mode=="Old_2.4")
{
outMultimapperOrder.random=false;
=====================================
source/STAR.cpp
=====================================
@@ -403,57 +403,68 @@ int main(int argInN, char* argIn[]) {
errOut <<"EXITING because of fatal ERROR: not enough memory for BAM sorting: \n";
errOut <<"SOLUTION: re-run STAR with at least --limitBAMsortRAM " <<maxMem+1000000000;
exitWithError(errOut.str(), std::cerr, P.inOut->logMain, EXIT_CODE_PARAMETER, P);
- };
-
-
- uint totalMem=0;
-// P.inOut->logMain << "Started sorting BAM ..." <<endl;
- #pragma omp parallel num_threads(P.outBAMsortingThreadNactual)
- #pragma omp for schedule (dynamic,1)
- for (uint32 ibin1=0; ibin1<nBins; ibin1++) {
- uint32 ibin=nBins-1-ibin1;//reverse order to start with the last bin - unmapped reads
-
- uint binN=0, binS=0;
- for (int it=0; it<P.runThreadN; it++) {//collect sizes from threads
- binN += RAchunk[it]->chunkOutBAMcoord->binTotalN[ibin];
- binS += RAchunk[it]->chunkOutBAMcoord->binTotalBytes[ibin];
+ } else if(maxMem==0) {
+ P.inOut->logMain << "WARNING: nothing to sort - no output alignments" <<endl;
+ BGZF *bgzfOut;
+ bgzfOut=bgzf_open(P.outBAMfileCoordName.c_str(),("w"+to_string((long long) P.outBAMcompression)).c_str());
+ if (bgzfOut==NULL) {
+ ostringstream errOut;
+ errOut <<"EXITING because of fatal ERROR: could not open output bam file: " << P.outBAMfileCoordName << "\n";
+ errOut <<"SOLUTION: check that the disk is not full, increase the max number of open files with Linux command ulimit -n before running STAR";
+ exitWithError(errOut.str(), std::cerr, P.inOut->logMain, EXIT_CODE_PARAMETER, P);
};
+ outBAMwriteHeader(bgzfOut,P.samHeaderSortedCoord,mainGenome.chrNameAll,mainGenome.chrLengthAll);
+ bgzf_close(bgzfOut);
+ } else {//sort
+ uint totalMem=0;
+ #pragma omp parallel num_threads(P.outBAMsortingThreadNactual)
+ #pragma omp for schedule (dynamic,1)
+ for (uint32 ibin1=0; ibin1<nBins; ibin1++) {
+ uint32 ibin=nBins-1-ibin1;//reverse order to start with the last bin - unmapped reads
+
+ uint binN=0, binS=0;
+ for (int it=0; it<P.runThreadN; it++) {//collect sizes from threads
+ binN += RAchunk[it]->chunkOutBAMcoord->binTotalN[ibin];
+ binS += RAchunk[it]->chunkOutBAMcoord->binTotalBytes[ibin];
+ };
- if (binS==0) continue; //empty bin
-
- if (ibin == nBins-1) {//last bin for unmapped reads
- BAMbinSortUnmapped(ibin,P.runThreadN,P.outBAMsortTmpDir, P, mainGenome);
- } else {
- uint newMem=binS+binN*24;
- bool boolWait=true;
- while (boolWait) {
- #pragma omp critical
- if (totalMem+newMem < P.limitBAMsortRAM) {
- boolWait=false;
- totalMem+=newMem;
+ if (binS==0) continue; //empty bin
+
+ if (ibin == nBins-1) {//last bin for unmapped reads
+ BAMbinSortUnmapped(ibin,P.runThreadN,P.outBAMsortTmpDir, P, mainGenome);
+ } else {
+ uint newMem=binS+binN*24;
+ bool boolWait=true;
+ while (boolWait) {
+ #pragma omp critical
+ if (totalMem+newMem < P.limitBAMsortRAM) {
+ boolWait=false;
+ totalMem+=newMem;
+ };
+ sleep(0.1);
+ };
+ BAMbinSortByCoordinate(ibin,binN,binS,P.runThreadN,P.outBAMsortTmpDir, P, mainGenome);
+ #pragma omp critical
+ totalMem-=newMem;//"release" RAM
};
- sleep(0.1);
};
- BAMbinSortByCoordinate(ibin,binN,binS,P.runThreadN,P.outBAMsortTmpDir, P, mainGenome);
- #pragma omp critical
- totalMem-=newMem;//"release" RAM
- };
- };
- //concatenate all BAM files, using bam_cat
- char **bamBinNames = new char* [nBins];
- vector <string> bamBinNamesV;
- for (uint32 ibin=0; ibin<nBins; ibin++) {
-
- bamBinNamesV.push_back(P.outBAMsortTmpDir+"/b"+std::to_string((uint) ibin));
- struct stat buffer;
- if (stat (bamBinNamesV.back().c_str(), &buffer) != 0) {//check if file exists
- bamBinNamesV.pop_back();
+
+ //concatenate all BAM files, using bam_cat
+ char **bamBinNames = new char* [nBins];
+ vector <string> bamBinNamesV;
+ for (uint32 ibin=0; ibin<nBins; ibin++) {
+
+ bamBinNamesV.push_back(P.outBAMsortTmpDir+"/b"+std::to_string((uint) ibin));
+ struct stat buffer;
+ if (stat (bamBinNamesV.back().c_str(), &buffer) != 0) {//check if file exists
+ bamBinNamesV.pop_back();
+ };
};
+ for (uint32 ibin=0; ibin<bamBinNamesV.size(); ibin++) {
+ bamBinNames[ibin] = (char*) bamBinNamesV.at(ibin).c_str();
+ };
+ bam_cat(bamBinNamesV.size(), bamBinNames, 0, P.outBAMfileCoordName.c_str());
};
- for (uint32 ibin=0; ibin<bamBinNamesV.size(); ibin++) {
- bamBinNames[ibin] = (char*) bamBinNamesV.at(ibin).c_str();
- };
- bam_cat(bamBinNamesV.size(), bamBinNames, 0, P.outBAMfileCoordName.c_str());
};
//wiggle output
if (P.outWigFlags.yes) {
=====================================
source/VERSION
=====================================
@@ -1 +1 @@
-#define STAR_VERSION "STAR_2.6.1a"
+#define STAR_VERSION "STAR_2.6.1b"
View it on GitLab: https://salsa.debian.org/med-team/rna-star/compare/9439fd444807a6452afafb8af86704ad69628a4e...088d0682ff48578120a2295297796e4312daf4e1
--
View it on GitLab: https://salsa.debian.org/med-team/rna-star/compare/9439fd444807a6452afafb8af86704ad69628a4e...088d0682ff48578120a2295297796e4312daf4e1
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20180918/aa892b6f/attachment-0001.html>
More information about the debian-med-commit
mailing list