Пример #1
0
struct bed *bedLoadPairedTagAlign(char **row)
/* Load first six fields of bed.
 * Add ~seq1~seq2 to end of name
 * Then remove the sequence to extra field when we convert to linkedFeature.
 * Assumes seq1 and seq2 are in row[6] and row[7], as they would be with a
 * pairedTagAlign type (hg/lib/encode/pairedTagAlign.as). It would be good to be
 * able to check these columns exist but we dont have the sqlResult here. */
{
char buf[1024];
struct bed *ret = bedLoad6(row);
safef(buf, sizeof(buf), "%s%c%s%c%s", ret->name, SEQ_DELIM, row[6], SEQ_DELIM, row[7]);
freez(&(ret->name));
ret->name = cloneString(buf);
return ret;
}
struct bed *loadRetainedAndBleeding(char *fileName)
/* Load up all of the retained introns and bleeding exons. */
{
struct bed *bed, *bedList = NULL;
struct lineFile *lf = lineFileOpen(fileName, TRUE);
char *row[6];
while (lineFileRow(lf, row))
    {
    char *type = row[3];
    if (sameString(type, "retainedIntron") || sameString(type, "bleedingExon"))
        {
	bed = bedLoad6(row);
	slAddHead(&bedList, bed);
	}
    }
lineFileClose(&lf);
slReverse(&bedList);
return bedList;
}