We have to try to define agnostic methods and classes. What does this mean? The methods should work with input objects no matter their format. For instance... we can define a method to return the number of atoms of a molecule as:
def get_n_atoms(molecule):
....
return n_atoms
Now, what's the format of the molecule for this method to work? If the method is agnostic, it doesn't matter if the molecule is an mdtraj or an mdanalysis native object or a pdb file or a smile string. Whenever this is possible, let's try to stick to this principle.
Then, at this moment, if we want to import an external pharmacophore the format must be introduced with the input argument form when the Pharmacophore class is instantiated:
import openpharmacophore as oph
pharmacophore = oph.Pharmacophore(ext_pharmacophore, form=format_ext_pharmacophore)
In the future we have to remove the argument form. The format may be detected inside the instantiation.
We have to try to define agnostic methods and classes. What does this mean? The methods should work with input objects no matter their format. For instance... we can define a method to return the number of atoms of a molecule as:
Now, what's the format of the molecule for this method to work? If the method is agnostic, it doesn't matter if the molecule is an mdtraj or an mdanalysis native object or a pdb file or a smile string. Whenever this is possible, let's try to stick to this principle.
Then, at this moment, if we want to import an external pharmacophore the format must be introduced with the input argument
formwhen the Pharmacophore class is instantiated:In the future we have to remove the argument
form. The format may be detected inside the instantiation.