How to predict protein binding to ligands? I want to predict from protein sequence if the protein binds to metal, nuclear or small ligand. How can I do this ?  Which features are relevant if I want to use them in a machine learning algorithm ?
If you are training a machine learning algorithm you probably want to train against things you know to be true, rather than making predictions from the sequence and training against the predictions.

In this case you will want to use protein structures with the relevant ligands bound as your data. If you go to the RCSB PDB advanced search you can search for entries with any ligand present, specific ligands present, protein and DNA present, etc. Then you can extract the FASTA sequences for these entries.

See also databases like MetalPDB for specific ligand types, and one of our papers for an example of creating a dataset of metal binding proteins.

Features to use would be the raw sequence as a one-hot encoding on amino acid types. You could add other sequence level features such as secondary structure predictions, disorder predictions or physico-chemical properties. However a decent network would be able to predict much of this if it needs to. You could create alignments and put in a sequence profile or covariation data, which would be giving the network more information.