def get_by_genus_species(cls, genus=None, species=None):
     query = session().query(GenBankEntry)
     if genus is not None:
         query = query.filter(GenBankEntry.Genus == genus)
     if species is not None:
         query = query.filter(GenBankEntry.Species == species)
     return query.all()
    def get_next_sequence_id(genbank_id):
        previous_entries = session().query(Sequence).filter(Sequence.GenBank_ID == genbank_id).all()
        
        if len(previous_entries):
            next_sequence_id = max([entry.Sequence_ID for entry in previous_entries]) + 1
        else:
            next_sequence_id = 0

        return next_sequence_id
 def get_for_genbank_id(cls, genbank_id):
     return session().query(Sequence).filter(Sequence.GenBank_ID == genbank_id).all()
 def insert(self):
     session().add(self)
     session().commit()
 def exists(genbank_id):
     query = session().query(GenBankEntry).filter(GenBankEntry.GenBank_ID == genbank_id)
     return query.count() == 1
 def get_by_silk_type(cls, silk_type=None):
     query = session().query(GenBankEntry)
     if silk_type is not None:
         query = query.filter(GenBankEntry.Silk_Type == silk_type)
     return query.all()
 def all(self):
     return session().query(GenBankEntry).all()