I'm searching for a good algorithm to identify data clusters where the clusters tend to be linear, sort of snake like clusters. I've tried a number of standard clustering algorithms like DBSCAN, OPTICS, HDBSCAN, and RobustSingleLinkage, but they all kind of look like the picture below where it gets all muddled up between the snake clusters and the regular clusters. Does anyone know a good clustering algorithm to solve this?
Anony-Mousse's answer was pretty helpful. I'm going to add a little detail to show how I applied it. I used the DBSCAN, adjusted the scale of the X axis and the DBSCAN eps value until it started picking up more of the horizontal clusters. This is pretty effective, close enough for my purposes.
scan = cluster.DBSCAN(eps=20, min_samples=10, metric="l1", n_jobs=-1)
X_val[:, 0] = X_val[:, 0]/20000
scan.fit(X_val)
y_pred = scan.labels_.astype(np.int) + 1
# y_pred = np.where(y_pred > 0, 1, 0)
plt.scatter(X.iloc[:, 0]/20000, X.iloc[:, 1], color=colors[y_pred])

