private void loadFromDBProfile(ResourceLocator profileLocator, List<Track> newTracks) throws IOException {
DBProfile dbProfile = DBProfile.parseProfile(profileLocator.getPath());
for (DBProfile.DBTable table : dbProfile.getTableList()) {
SQLCodecSource source = SQLCodecSource.getFromTable(table);
if (source != null) {
CachingFeatureSource cachingReader = new CachingFeatureSource(source);
FeatureTrack track = new FeatureTrack(profileLocator, cachingReader);
track.setName(source.getTableName());
newTracks.add(track);
} else if (table.getFormat().equals("seg")) {
Genome genome = GenomeManager.getInstance().getCurrentGenome();
SegmentedAsciiDataSet ds = (new SegmentedReader(table.getDbLocator(), genome)).loadFromDB(table);
loadSegTrack(table.getDbLocator(), newTracks, genome, ds);