Although existing in my smi and fs prepared with 2.3.0, I cannot search for isonitriles. Error was also in 2.2.x
I get:
0 candidates from fingerprint search phase
Segmentation fault
A simple database might look like this
[C-]#[N+]CCCC(SC[N+]#[C-])SC[N+]#[C-] 1,1-bis(isocyanomethylthio)-4isocyanobutane
CCC(C)(C)[N+]#[C-] 1,1-Dimethylpropylisonitril
[C-]#[N+]CCCOCCOCCC[N+]#[C-] 1,2-bis-(3-isocyano-propoxy)ethane
[C-]#[N+]CCCOCCOCCC[N+]#[C-] 1,2-bis-(3-isocyano-propoxy)_ethane
CCCCCCCCCCCCCCCCC([N+]#[C-])C[N+]#[C-] 1,2-diisocyano-octadecane
Can you say exactly what you did to get a Segmentation fault? On Windows with 2.3.0 I don't, but neither do I get any useful results.
Some groups, like nitro and isonitrile can be represented in more than one way, e.g. [C-]#[N+] or [C]$[N] or C$N* , When making a fs index they are converted automatically to the non-dative form, but the mechanism for dealing with this during searching has got broken. I'll remove the automatic conversion of dative bonds (it can still be applied manually) during the indexing.
In the meantime, a partial workaround is to search the current version of an fs index for C$N rather than [C-]#[N+] and switch off the second-stage SMARTS search using the -an option. The result set can be filtered manually using the [C-]#[N+] form.
obabel dataset.fs -osmi -s C$N -an | obabel -ismi -osmi -s [C-]#[N+]