Exemple #1
0
static void ProgressPrefix()
	{
	int ElapsedSecs = (int) (time(0) - g_StartTime);
	unsigned MemUseMB = (GetMemUseBytes() + 500000)/1000000;
	unsigned RAMMB = (unsigned) ((GetRAMSize() + 500000)/1000000);
	unsigned MemUsePct = (MemUseMB*100)/RAMMB;

	fprintf(stderr, "%6d secs  %6d Mb (%3d%%) ", ElapsedSecs, MemUseMB, MemUsePct);
	Log("%6d secs  %6d Mb (%3d%%) ", ElapsedSecs, MemUseMB, MemUsePct);
	}
Exemple #2
0
/***
Alignment parameters can be specified in three ways:

(1) All defaults.
(2) By -length and -pctid only.
(3) All parameters specified:
	-wordsize -seedlength -seeddiffs -length -pctid

Optional parameters:
	-maxmem			(Default = 80% of RAM, 0 = no maximum)
	-tube			(Tube offset, Default = 32)
***/
void GetParams(int SeqLengthT, int SeqLengthQ, bool Self,
  FilterParams *ptrFP, DPParams *ptrDP)
	{
	const char *strLength = ValueOpt("length");
	const char *strPctId = ValueOpt("pctid");
	const char *strWordSize = ValueOpt("wordsize");
	const char *strSeedLength = ValueOpt("seedlength");
	const char *strSeedErrors = ValueOpt("seeddiffs");

	const char *strMaxMem = ValueOpt("maxmem");
	const char *strTubeOffset = ValueOpt("tubeoffset");

	const double MaxMem = (0 == strMaxMem) ? GetRAMSize()*RAM_FRACT : atof(strMaxMem);
	const int TubeOffset = (0 == strTubeOffset) ? -1 : atoi(strTubeOffset);

// All parameters specified
	if (0 != strWordSize || 0 != strSeedLength || 0 != strSeedErrors)
		{
		if (0 == strWordSize || 0 == strSeedLength || 0 == strSeedErrors ||
		  0 == strLength || 0 == strPctId)
			Quit("Missing one or more of: -wordsize, -seedlength, -seeddiffs, -length, -pctid");

		ptrFP->SeedDiffs = atoi(strSeedErrors);
		ptrFP->SeedLength = atoi(strSeedLength);
		ptrFP->WordSize = atoi(strWordSize);
		ptrFP->TubeOffset = TubeOffset > 0 ? TubeOffset : ptrFP->SeedDiffs + TUBE_OFFSET_DELTA;

		ptrDP->MinHitLength = atoi(strLength);
		ptrDP->MinId = atoi(strPctId)/100.0;
		}

// -length and -pctid
	else if (0 != strLength || 0 != strPctId)
		{
		if (0 == strLength || 0 == strPctId)
			Quit("Missing option -length or -pctid");

		int Length = atoi(strLength);
		double MinId = atof(strPctId)/100.0;

		DefParams(Length, MinId, SeqLengthT, SeqLengthQ, Self, MaxMem, ptrFP, ptrDP);
		}

// All defaults
	else
		{
		DefParams(DEFAULT_LENGTH, DEFAULT_MIN_ID, SeqLengthT, SeqLengthQ,
		  Self, MaxMem, ptrFP, ptrDP);
		}
	}
Exemple #3
0
double GetRAMSizeMB()
	{
	return GetRAMSize()/1e6;
	}