My suggestion is to create sklearn like class with methods:
fit - saving data from dataset as class atributes, this atributes can be use to create tsv files when call predict or transform methods
predict - to return cluster number
transform - to return probailities of belonging to every class