// AddLoci // Add loci on target which has identified SNP when aligned to from probe sequences int CMarkers::AddLoci(char *pszTargSpecies, // reads were aligned to this cultivar or species char *pszTargSeq, // alignments to this sequence - could be a chrom/contig/transcript - from pszSpecies UINT32 TargLoci, // loci within target sequence at which SNPs observed etSeqBase TargRefBase, // loci has this reference base char *pszProbeSpecies, // reads were aligned from this cultivar or species UINT32 ProbeCntA, // number instances probe base A aligned to TargRefBase UINT32 ProbeCntC, // number instances probe base C aligned to TargRefBase UINT32 ProbeCntG, // number instances probe base G aligned to TargRefBase UINT32 ProbeCntT, // number instances probe base T aligned to TargRefBase UINT32 ProbeCntN) // number instances probe base U aligned to TargRefBase { UINT8 TargID; UINT8 ProbeID; UINT32 TargSeqID; int Rslt; TargID = AddSpecies(pszTargSpecies,true); if(TargID == 0 || TargID != m_RefSpeciesID) return(-1); ProbeID = AddSpecies(pszProbeSpecies,false); if(ProbeID == 0 || ProbeID == m_RefSpeciesID) return(-1); TargSeqID = AddTargSeq(pszTargSeq); if(TargSeqID == 0) return(-1); if((Rslt = AddLoci(TargID,TargSeqID,TargLoci,TargRefBase,ProbeID,ProbeCntA,ProbeCntC,ProbeCntG,ProbeCntT,ProbeCntN)) < 0) return(Rslt); return(Rslt); }
avtSpeciesMetaData::avtSpeciesMetaData(const std::string &n, const std::string &meshn, const std::string &matn, int nummat, const intVector &ns, const std::vector<stringVector> &sn) : AttributeSubject(avtSpeciesMetaData::TypeMapFormatString) { // Initialize all. *this = avtSpeciesMetaData(); // Override members name = n; originalName = name; meshName = meshn; materialName = matn; numMaterials = nummat; ClearSpecies(); for (size_t i=0; i<ns.size(); i++) AddSpecies(avtMatSpeciesMetaData(ns[i], sn[i])); validVariable = true; }