import os
import sys
import time
from typing import List
from matplotlib import offsetbox
import matplotlib.patches as mpatches
import matplotlib.pyplot as plt
import numpy as np
from rdkit import Chem
from rdkit.Chem import Draw
from sklearn.manifold import TSNE
from tap import Tap
from tqdm import tqdm
sys.path.append(os.path.dirname(os.path.dirname(os.path.realpath(__file__))))
from chemprop.data import get_smiles
from chemprop.features import get_features_generator
from chemprop.utils import makedirs
square_distances = True
class Args(Tap):
smiles_paths: List[str] # Path to .csv files containing smiles strings (with header)
smiles_column: str = None # Name of the column containing SMILES strings for the first data. By default, uses the first column.
colors: List[str] = ['red', 'green', 'orange', 'purple', 'blue','gray','brown','black','pink','cyan','olive'] # Colors of the points associated with each dataset
sizes: List[float] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] # Sizes of the points associated with each molecule
scale: int = 1 # Scale of figure
plot_molecules: bool = False # Whether to plot images of molecules instead of points