Example #1
0
    def getTopLevelFeatures(self, organism):
    	dolog("getting top level features for " + str(organism))
        query  = "select f.uniquename,f.feature_id from feature f "
        query += "join cvterm on f.type_id = cvterm.cvterm_id "
        query += "join featureprop using (feature_id) "
        query += "where f.organism_id= "

        query += str(organism)

        query += " and featureprop.type_id in "
        query += "  (select cvterm_id from cvterm join cv using (cv_id) where cv.name = 'genedb_misc' and cvterm.name = 'top_level_seq') "

        # query += " and f.type_id not in ('432', '1087') "

        query += "order by uniquename ";
        
        self.cur.execute(query)
        rows = self.cur.fetchall()
        
        features = []
        for row in rows:
            # print row
            feature = Feature(row[0], row[1])
            features.append(feature)
        return features
Example #2
0
def gffTopLevelFeature(gffQueries, feature):
    rows = gffQueries.getGFF3View(feature.feature_id)
    dolog(feature.uniquename)
    feature_ids = []
    for r in rows:
        feature_ids.append(r[0])

    relations = gffQueries.getRelations("objects", feature_ids)
    residues = gffQueries.getResidues(feature.feature_id)
    
    if residues == None:
    	residues = ""

    gffFormatter = GFFFormatter(feature, rows, relations, residues)
    gffFormatter.parse()
    format = gffFormatter.format()
    
    # try to stop leaks...
    gffFormatter = None
    relations = None
    residues = None
    
    return format