예제 #1
0
    def test_read_from_file(self):
        '''
        RiskSnps.read_from_file should fill in the snps with the expected risk snps.

        Here we use a known risk snps file and compare what is read in to what is expected.
        '''
        riskSnpsExpected = risksnps.RiskSnps()
        riskSnpsExpected.set_snps(['rs1998598', 'rs2549794', 'rs2797685'])
        riskSnpsExpected.set_alleles(['G', 'C', 'A'])
        riskSnpAllelesActual = risksnps.RiskSnps()
        riskSnpAllelesActual.read_from_file(SOURCEFILENAMEDEFAULT)
        self.assertEqual(71, riskSnpAllelesActual.len())
        self.assertEqual(riskSnpsExpected.get_snp(0),
                         riskSnpAllelesActual.get_snp(0))
        self.assertEqual(riskSnpsExpected.get_allele(0),
                         riskSnpAllelesActual.get_allele(0))
        self.assertEqual(riskSnpsExpected.get_snp(1),
                         riskSnpAllelesActual.get_snp(1))
        self.assertEqual(riskSnpsExpected.get_allele(1),
                         riskSnpAllelesActual.get_allele(1))
        self.assertEqual(riskSnpsExpected.get_snp(2),
                         riskSnpAllelesActual.get_snp(2))
        self.assertEqual(riskSnpsExpected.get_allele(2),
                         riskSnpAllelesActual.get_allele(2))
예제 #2
0
 def test_vcffile_get_these_risksnps(self):
     '''
     VcfFile.get_these_risksnps should return the alleles for the specified snps
     '''
     riskSnps = risksnps.RiskSnps()
     riskSnps.set_snps([
         'rs102275', 'rs3764147', 'rs7927997', 'rs415890', 'rs4077515',
         'rs3810936', 'rs2476601', 'rs3792109'
     ])
     riskSnps.set_alleles(['C', 'G', 'T', 'C', 'T', 'C', 'G', 'A'])
     snpDataFile = vcffile.VcfFile(SAMPLEFILENAME)
     alleles = snpDataFile.get_these_risksnps(riskSnps)
     self.assertEqual(riskSnps.len(), len(alleles))
     self.assertEqual('4', alleles[0])
     self.assertEqual('4', alleles[1])
예제 #3
0
 def test_get_these_risksnps(self):
     '''
     VcfFile.get_these_risksnps should return a list of allele numbers.
     Note that they will usually be 4s because 4 represents the risk
     allele and in this dataset, if a person has an allele that is different
     from the reference genome, and it is for one of the risk snps,
     it is usually, but not always the risk allele. 
     '''
     riskSnps = risksnps.RiskSnps()
     riskSnps.set_snps([
         'rs102275', 'rs3764147', 'rs7927997', 'rs415890', 'rs4077515',
         'rs3810936', 'rs2476601', 'rs3792109'
     ])
     riskSnps.set_alleles(['C', 'G', 'T', 'C', 'T', 'C', 'G', 'A'])
     inputfile = vcffile.VcfFile(SAMPLEFILENAME)
     alleleNumbers = inputfile.get_these_risksnps(riskSnps)
     self.assertEqual(riskSnps.len(), len(alleleNumbers))
     self.assertEqual('4', alleleNumbers[0])
     self.assertEqual('4', alleleNumbers[1])
예제 #4
0
 def __init__(self,
              inputDirectoryName=DEFAULT_VCFS_DIR,
              outputFileName=DEFAULT_OUTPUT_FILE_NAME):
     TallTable.__init__(self, inputDirectoryName, outputFileName)
     self.riskSnps = risksnps.RiskSnps()
예제 #5
0
 def __init__(self, inputDirectoryName = DEFAULT_VCFS_DIR, outputFileName=DEFAULT_SNPTABLE_FILE_NAME):
     self.filename = outputFileName
     self.riskSnps = risksnps.RiskSnps()
     self.inputDir = inputDirectoryName
예제 #6
0
 def __init__(self, inputFileName = DEFAULT_SNPTABLE_FILE_NAME, 
              outputDiffsName=DEFAULT_OUTPUT_DIFFS_NAME, outputTallName=DEFAULT_OUTPUT_DIFFS_TALL_NAME):
     self.diffsFileName = outputDiffsName
     self.diffsTallName = outputTallName
     self.riskSnps = risksnps.RiskSnps()
     self.inputFileName = inputFileName