rc_t SRFIlluminaLoaderFmt_Make(SRALoaderFmt** self, const SRALoaderConfig* config) { rc_t rc = 0; SRFIlluminaLoaderFmt* fmt; if( self == NULL || config == NULL ) { return RC(rcSRA, rcFormatter, rcConstructing, rcParam, rcNull); } fmt = calloc(1, sizeof(*fmt)); if(fmt == NULL) { rc = RC(rcSRA, rcFormatter, rcConstructing, rcMemory, rcExhausted); LOGERR(klogInt, rc, "failed to initialize; out of memory"); return rc; } if( (rc = SRFIlluminaLoaderFmt_Init(fmt, config)) != 0 ) { LOGERR(klogInt, rc, "failed to initialize"); } else if( (rc = SRALoaderFmtInit(&fmt->dad, (const SRALoaderFmt_vt*)&SRFIlluminaLoaderFmt_vt_v1)) != 0 ) { LOGERR(klogInt, rc, "failed to initialize parent object"); } if( rc == 0 ) { *self = &fmt->dad; } else { free(fmt); } return rc; }
rc_t SRALoaderFmtMake(SRALoaderFmt **self, const SRALoaderConfig *config) { rc_t rc = 0; IlluminaLoaderFmt* fmt; if( self == NULL || config == NULL ) { return RC(rcSRA, rcFormatter, rcConstructing, rcParam, rcNull); } *self = NULL; fmt = calloc(1, sizeof(*fmt)); if(fmt == NULL) { rc = RC(rcSRA, rcFormatter, rcConstructing, rcMemory, rcExhausted); LOGERR(klogInt, rc, "failed to initialize; out of memory"); return rc; } if( (rc = SRAWriterIllumina_Make(&fmt->writer, config)) != 0 ) { LOGERR(klogInt, rc, "failed to initialize writer"); } else if( (rc = SRALoaderFmtInit(&fmt->dad, (const SRALoaderFmt_vt*)&vtIlluminaLoaderFmt)) != 0 ) { LOGERR(klogInt, rc, "failed to initialize parent object"); } if( rc != 0 ) { IlluminaLoaderFmt_Whack(fmt, NULL); } else { fmt->skip_signal = (config->columnFilter & (efltrSIGNAL | efltrDEFAULT)); fmt->skip_noise = (config->columnFilter & (efltrNOISE | efltrDEFAULT)); fmt->skip_intensity = (config->columnFilter & (efltrINTENSITY | efltrDEFAULT)); fmt->spots_bad_allowed = config->spots_bad_allowed; fmt->spots_bad_count = 0; *self = &fmt->dad; } return rc; }
rc_t SRFABSolidLoaderFmt_Make(SRALoaderFmt** self, const SRALoaderConfig* config) { rc_t rc = 0; SRFAbsolidLoaderFmt* fmt; if( self == NULL || config == NULL ) { return RC(rcSRA, rcFormatter, rcConstructing, rcParam, rcNull); } fmt = calloc(1, sizeof(*fmt)); if(fmt == NULL) { rc = RC(rcSRA, rcFormatter, rcConstructing, rcMemory, rcExhausted); LOGERR(klogInt, rc, "failed to initialize; out of memory"); return rc; } if( (rc = SRALoaderFmtInit(&fmt->dad, (const SRALoaderFmt_vt*)&SRFAbsolidLoaderFmt_vt_v1)) != 0 ) { LOGERR(klogInt, rc, "failed to initialize parent object"); } else if( (rc = SRAWriteAbsolid_Make(&fmt->fe.writer, config)) != 0 ) { LOGERR(klogInt, rc, "failed to initialize writer"); } if( rc == 0 ) { fmt->fe.skip_signal = (config->columnFilter & (efltrSIGNAL | efltrDEFAULT)); *self = &fmt->dad; } else { free(fmt); } return rc; }
rc_t SRALoaderFmtMake(SRALoaderFmt **self, const SRALoaderConfig *config) { rc_t rc = 0; HelicosLoaderFmt* fmt; if( self == NULL || config == NULL ) { return RC(rcSRA, rcFormatter, rcConstructing, rcParam, rcNull); } *self = NULL; fmt = calloc(1, sizeof(*fmt)); if(fmt == NULL) { rc = RC(rcSRA, rcFormatter, rcConstructing, rcMemory, rcExhausted); LOGERR(klogInt, rc, "failed to initialize; out of memory"); return rc; } if( (rc = SRAWriterHelicos_Make(&fmt->writer, config)) != 0 ) { LOGERR(klogInt, rc, "failed to initialize writer"); } else if( (rc = SRALoaderFmtInit(&fmt->dad, (const SRALoaderFmt_vt*)&vtHelicosLoaderFmt)) != 0 ) { LOGERR(klogInt, rc, "failed to initialize parent object"); } /* Set result or free obj */ if( rc != 0 ) { HelicosLoaderFmt_Whack(fmt, NULL); } else { *self = &fmt->dad; } return rc; }
rc_t SRALoaderFmtMake(SRALoaderFmt **self, const SRALoaderConfig *config) { rc_t rc = 0; FastqLoaderFmt* fmt; const PlatformXML* platform; const ProcessingXML* processing; if( self == NULL || config == NULL ) { return RC(rcSRA, rcFormatter, rcConstructing, rcParam, rcNull); } *self = NULL; if( (rc = Experiment_GetProcessing(config->experiment, &processing)) != 0 || (rc = Experiment_GetPlatform(config->experiment, &platform)) != 0 ) { return rc; } fmt = calloc(1, sizeof(*fmt)); if(fmt == NULL) { rc = RC(rcSRA, rcFormatter, rcConstructing, rcMemory, rcExhausted); LOGERR(klogInt, rc, "failed to initialize; out of memory"); return rc; } if( platform->id == SRA_PLATFORM_454 ) { if( rc == 0 && (rc = SRAWriter454_Make(&fmt->w454, config)) != 0 ) { LOGERR(klogInt, rc, "failed to initialize 454 writer"); } } else if( platform->id == SRA_PLATFORM_ION_TORRENT ) { if( rc == 0 && (rc = SRAWriterIonTorrent_Make(&fmt->wIonTorrent, config)) != 0 ) { LOGERR(klogInt, rc, "failed to initialize Ion Torrent writer"); } } else if( (rc = SRAWriterIllumina_Make(&fmt->wIllumina, config)) != 0 ) { LOGERR(klogInt, rc, "failed to initialize Illumina writer"); } if( rc == 0 && (rc = SRALoaderFmtInit(&fmt->dad, (const SRALoaderFmt_vt*)&vtFastqLoaderFmt)) != 0 ) { LOGERR(klogInt, rc, "failed to initialize parent object"); } if( rc != 0 ) { FastqLoaderFmt_Whack(fmt, NULL); } else { fmt->processing = processing; fmt->spots_bad_allowed = config->spots_bad_allowed; fmt->spots_bad_count = 0; *self = &fmt->dad; } return rc; }
rc_t SFFLoaderFmtMake(SRALoaderFmt** self, const SRALoaderConfig* config) { rc_t rc = 0; SFFLoaderFmt* obj = NULL; const PlatformXML* platform; if( self == NULL || config == NULL ) { return RC(rcSRA, rcFormatter, rcConstructing, rcSelf, rcNull); } *self = NULL; if( (rc = Experiment_GetPlatform(config->experiment, &platform)) != 0 ) { return rc; } obj = calloc(1, sizeof(SFFLoaderFmt)); if(obj == NULL) { return RC(rcSRA, rcFormatter, rcConstructing, rcMemory, rcExhausted); } if( (rc = SRALoaderFmtInit(&obj->dad, (const SRALoaderFmt_vt*)&vtSFFLoaderFmt)) != 0 ) { LOGERR(klogInt, rc, "failed to initialize parent object"); } else { if( platform->id == SRA_PLATFORM_454 ) { if( (rc = SRAWriter454_Make(&obj->w454, config)) != 0 ) { LOGERR(klogInt, rc, "failed to initialize writer"); } } else { if( (rc = SRAWriterIonTorrent_Make(&obj->wIonTorrent, config)) != 0 ) { LOGERR(klogInt, rc, "failed to initialize Ion Torrent writer"); } } } if(rc == 0) { obj->skip_signal = (config->columnFilter & efltrSIGNAL) && !(config->columnFilter & efltrDEFAULT); *self = &obj->dad; } else { free(obj); } return rc; }