예제 #1
0
class BusinessTests(unittest.TestCase):
    
    def setUp(self):
        self.queries = Queries(connectionFactory)
    
    def testGetRegionSequence(self):
        data = self.queries.getFeatureLocs(1, 1, 100000, [42, 69])
        print Formatter(data).formatJSON()
        
    
    def testGetTopLevel(self):
        data = self.queries.getTopLevel(14)
        print Formatter(data).formatJSON()
예제 #2
0
class BusinessTests2(unittest.TestCase):
    
    def setUp(self):
        self.queries = Queries(connectionFactory)
    
    def testAllChanged(self):
            since = "2009-06-01"
            organism_id = 14
            changed_features = self.queries.getAllChangedFeaturesForOrganism(since, organism_id)
        
            data = {
                "response" : {
                    "name" : "genome/changes",
                    "taxonID" : "420245",
                    "count" : len(changed_features),
                    "since" : since,
                    "results" : changed_features
                }
            }
        
            formatter = Formatter(data, os.path.dirname(__file__) + "/../tpl/")
            formatter.formatJSON()
            formatter.formatXML("changes.xml.tpl")
        
    def testGetOrganismFromTaxon(self):
        taxonID = self.queries.getOrganismFromTaxon('420245')
        self.assertEquals(taxonID, 14)
    
    def testGetGenesWithPrivateAnnotationChanges(self):
        since = "2009-06-01"
        rows = self.queries.getGenesWithPrivateAnnotationChanges(14, since)
    
        data = {
            "response" : {
                "name" : "genome/recorded_annotation_changes",
                "taxonID" : "420245",
                "count" : len(rows),
                "results" : rows
            }
        }
    
        formatter = Formatter(data, os.path.dirname(__file__) + "/../tpl/")
        formatter.formatXML('private_annotations.xml.tpl')
        formatter.formatJSON()
    
    
    def testAllOrganisms(self):
        since = "2009-06-01"
    
        organism_list = self.queries.getAllOrganismsAndTaxonIDs()
    
        organismIDs = []
        organismHash = {}
        for organism_details in organism_list:
            organism_details["count"] = 0
            organismIDs.append(organism_details["organism_id"])
            organismHash [organism_details["organism_id"]] = organism_details
    
        counts = self.queries.countAllChangedFeaturesForOrganisms(since, organismIDs)
    
        for count in counts:
            organismID = str(count[0])
            print organismID
            org = organismHash[organismID]
            org["count"] = count[1]
    
        data = {
            "response" : {
                "name" : "genomes/changes",
                "since" : since,
                "results" : organismHash.values()
            }
        }
    
        formatter = Formatter(data, os.path.dirname(__file__) + "/../tpl/")
        print formatter.formatXML('genomes_changed.xml.tpl')
    
    
    def testCountAllOrganisms(self):
        since = "2009-06-01"
        organismIDs = [12, 14, 15, 20]
    
        result = self.queries.countAllChangedFeaturesForOrganisms(since, organismIDs)
        print result
    
    
    def testGetRegionSequence(self):
        rows = self.queries.getRegionSequence("Pf3D7_01")
        row = rows[0]
        
        length = row["length"]
        start = 1
        end = 10
        
        dna = row["dna"]
        dna = dna[start-1:end-1]
        
        data = {
            "response" : {
                "name" : "region/sequence",
                "sequence" :  {
                    "start" : start,
                    "end" : end,
                    "length" : length,
                    "dna" : dna
                }
            }
        }
        
        formatter = Formatter(data, os.path.dirname(__file__) + "/../tpl/")
        print formatter.formatJSON()

    def testGetFeatureLocs(self):
        json_data = self.queries.getFeatureLocs(1, 1, 10000, [42, 69])
        print  json.dumps(json_data, sort_keys=True, indent=4)
        
    def testGetID(self):
        print self.queries.getFeatureID("Pf3D7_01")