parseMolecule(atomRecords, result) {
        let {atoms, bonds} = result,
            inc = atoms.length, // total number of atoms added into the structure previously
            spaceRE = /\s+/;
        for (let i = 0, len = atomRecords.length; i < len; i++) {
            let items = atomRecords[i].trim().split(spaceRE);
            atoms.push({el: items[3], x: +items[7], y: +items[8], z: +items[9]});
            for (let j = 11, cn = 2 * items[10] + 11; j < cn; j += 2) {
                if (items[j] - 1 > i) {
                    bonds.push({
                        iAtm: i + inc,
                        jAtm: items[j] - 1 + inc,
                        type: items[j + 1]
                    });
                }
            }
        }
    }
/* HIN file syntax defines the atom record as follows:
    atom <at#> <atom-name> <element> <type> <flags> <at-charge> <x> <y> <z> <cn> <nbor# nbor-bond>
     0     1        2          3       4       5         6       7   8   9   10         11... */
HIN file syntax defines the atom record as follows:
atom           
0     1        2          3       4       5         6       7   8   9   10         11
HIN file syntax defines the atom record as follows : atom 0 1 2 3 4 5 6 7 8 9 10 11
parseMolecule(atomRecords, result) {
        let {atoms, bonds} = result,
            inc = atoms.length, 
            spaceRE = /\s+/;
        for (let i = 0, len = atomRecords.length; i < len; i++) {
            let items = atomRecords[i].trim().split(spaceRE);
            atoms.push({el: items[3], x: +items[7], y: +items[8], z: +items[9]});
            for (let j = 11, cn = 2 * items[10] + 11; j < cn; j += 2) {
                if (items[j] - 1 > i) {
                    bonds.push({
                        iAtm: i + inc,
                        jAtm: items[j] - 1 + inc,
                        type: items[j + 1]
                    });
                }
            }
        }
    }
parseMolecule ( atomRecords , result ) { let { atoms , bonds } = result , inc = atoms . length , spaceRE = / \s+ / ; for ( let i = 0 , len = atomRecords . length ; i < len ; i ++ ) { let items = atomRecords [ i ] . trim ( ) . split ( spaceRE ) ; atoms . push ( { el : items [ 3 ] , x : + items [ 7 ] , y : + items [ 8 ] , z : + items [ 9 ] } ) ; for ( let j = 11 , cn = 2 * items [ 10 ] + 11 ; j < cn ; j += 2 ) { if ( items [ j ] - 1 > i ) { bonds . push ( { iAtm : i + inc , jAtm : items [ j ] - 1 + inc , type : items [ j + 1 ] } ) ; } } } }
HIN file syntax defines the atom record as follows:
atom <at#> <atom-name> <element> <type> <flags> <at-charge> <x> <y> <z> <cn> <nbor# nbor-bond>
0     1        2          3       4       5         6       7   8   9   10         11...
HIN file syntax defines the atom record as follows : atom <at# > <atom - name > <element > <type > <flags > <at - charge > <x > <y > <z > <cn > <nbor# nbor - bond > 0 1 2 3 4 5 6 7 8 9 10 11 ...
// total number of atoms added into the structure previously