"babel" Command - From STDIN To STDOUT

Q

Can I use "babel" to convert chemical data from "stdin" to "stdout" without input and output files?

✍: FYIcenter.com

A

Yes, you can use "babel" to convert chemical data from "stdin" to "stdout" without input and output files. Just use "-i ..." and "-o" flags to specify input data format and output data format.

For example, the following "babel" command converts a SMILES string to a molecule SDF file from "stdin", the keyboard, to "stdout", the screen:

fyicenter$ babel -i smiles -o sdf --gen3D
c1ccccc1
<Ctrl-D>

OpenBabel05212009473D

12 12  0  0  0  0  0  0  0  0999 V2000
  -0.7600    1.1690   -0.0017 C   0  0  0  0  0  0  0  0  0  0  0  0
   0.6329    1.2445   -0.0006 C   0  0  0  0  0  0  0  0  0  0  0  0
   1.3950    0.0760    0.0011 C   0  0  0  0  0  0  0  0  0  0  0  0
   0.7644   -1.1682    0.0017 C   0  0  0  0  0  0  0  0  0  0  0  0
  -0.6284   -1.2439    0.0006 C   0  0  0  0  0  0  0  0  0  0  0  0
  -1.3905   -0.0753   -0.0011 C   0  0  0  0  0  0  0  0  0  0  0  0
  -1.3538    2.0793   -0.0031 H   0  0  0  0  0  0  0  0  0  0  0  0
   1.1245    2.2136   -0.0011 H   0  0  0  0  0  0  0  0  0  0  0  0
   2.4802    0.1351    0.0020 H   0  0  0  0  0  0  0  0  0  0  0  0
   1.3581   -2.0784    0.0031 H   0  0  0  0  0  0  0  0  0  0  0  0
  -1.1199   -2.2130    0.0011 H   0  0  0  0  0  0  0  0  0  0  0  0
  -2.4757   -0.1346   -0.0020 H   0  0  0  0  0  0  0  0  0  0  0  0
 1  6  1  0  0  0  0
 1  2  2  0  0  0  0
 1  7  1  0  0  0  0
 2  3  1  0  0  0  0
 2  8  1  0  0  0  0
 3  4  2  0  0  0  0
 3  9  1  0  0  0  0
 4  5  1  0  0  0  0
 4 10  1  0  0  0  0
 5  6  2  0  0  0  0
 5 11  1  0  0  0  0
 6 12  1  0  0  0  0
M  END
$$$$

1 molecule converted
79 audit log messages 

 

⇒ "babel -... --..." Command - Generic Conversion Options

⇐ "babel" Command - Use "-o ..." as Output Delimiter

⇑ Understanding "babel" Command Line Syntax

⇑⇑ Open Babel Tutorials

2021-07-19, 267👍, 0💬