Esempio n. 1
0
int
fileSource::getSamples( int milliSleep )
{
#ifdef fixit
	if ( infile.fail() ) {
		throw sExc( "no more file data" );
	}
	short raw[4];
	uint64_t maxi, rawi = rawSampSeq;
	maxi = (SamplesPerCycle*AvgNSamples*60*milliSleep)/1000 + rawi;
	for ( ; rawi < maxi; rawi++ ) {
		infile.read( (char*)raw, 8 );
		if ( infile.eof() ) {
			break;
		}
		amins.s( raw[0], rawi );
		amaxs.s( raw[1], rawi );
		bmins.s( raw[2], rawi );
		bmaxs.s( raw[3], rawi );
	}
	int n = (int)(rawi - rawSampSeq);
	if ( n == 0 ) {
		throw sExc( "no more file data" );
	}
	n = avgSamples( rawSampSeq, rawi );
	rawSampSeq = rawi;

	return n;
#else
    return 0;
#endif
}
Esempio n. 2
0
void avgTranscriptomeExps()
{
struct sample *s = NULL;
struct sample *s1,*s2,*s3;
struct sample *sList1, *sList2, *sList3 = NULL;
struct sample **sArray1, **sArray2, **sArray3 = NULL;
int i,j,k;
FILE *out = NULL;
for(i=1; i<12; i++)
    {
    for(j='a'; j<'d'; j++)
	{
	char buff[2048];
	int count;
	struct sample *avgList = NULL, *avg;
	if((i != 6 || j != 'a') || doAll)
	    {
	    snprintf(buff, sizeof(buff), "%d.%c.1.%s", i,j,suffix);
	    printf("Averaging %s\n", buff);
	    sList1 = sampleLoadAll(buff);
	    snprintf(buff, sizeof(buff), "%d.%c.2.%s", i,j,suffix);
	    sList2 = sampleLoadAll(buff);
	    snprintf(buff, sizeof(buff), "%d.%c.3.%s", i,j,suffix);
	    sList3 = sampleLoadAll(buff);
	    count = slCount(sList1);
	    AllocArray(sArray1,count);
	    AllocArray(sArray2,count);
	    AllocArray(sArray3,count);
	    for(k=0, s1=sList1, s2=sList2, s3=sList3; k<count; s1=s1->next,s2=s2->next,s3=s3->next, k++)
		{
		sArray1[k] = s1;
		sArray2[k] = s2;
		sArray3[k] = s3;
		}
	    for(k=0;k<count; k++)
		{
		avg = avgSamples(sArray1[k], sArray2[k], sArray3[k], i, k);
		slAddHead(&avgList, avg);
		}
	    slReverse(&avgList);
	    snprintf(buff, sizeof(buff), "%d.%c.1.%s.avg", i,j,suffix);
	    out = mustOpen(buff, "w");
	    for(s = avgList; s != NULL; s = s->next)
		sampleTabOut(s, out);
	    carefulClose(&out);
	    freez(&sArray1);
	    freez(&sArray2);
	    freez(&sArray3);
	    sampleFreeList(&avgList);
	    sampleFreeList(&sList1);
	    sampleFreeList(&sList2);
	    sampleFreeList(&sList3);
	    }
	}
    }
}