We propose a novel software system for remote nuclear detection and classification. First, we propose to apply GADRAS or GEANT4 to generate training data for different combinations of nuclear materials and detectors. The training data contain spectral shapes of different detector responses. Second, we propose to use a Continuous Wavelet Transform (CWT) based technique for peak detection in spectral data. This cleaned data will be fed into machine learning algorithms. Third, we propose to use deep neural networks (DNN) techniques for nuclear material classification and composition estimation. Fourth, we also propose to apply some non-machine learning based anomaly and material classification algorithms in our system. This is because ML system may not be able to handle unseen materials. A reliable system needs to handle all situations. In particular, we propose to apply a linear spectral unmixing algorithm known as Non-negativity Constrained Least Square (NCLS) to estimate the abundance of nuclear materials. Our team has applied NCLS to chemical agent detection, laser induced breakdown spectroscopy (LIBS) data analysis, gold quality assessment, and rock sample analysis using X-ray spectra. We also propose to apply spectral anomaly detection algorithms to detect materials that may not be seen before.