User Tools

Site Tools


faq

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
faq [2018/12/19 02:16]
flack
faq [2020/07/30 15:46] (current)
flack
Line 18: Line 18:
 To split a smi.gz / smiles.gz file into multiple **gzip compressed chunks** use a command like this: To split a smi.gz / smiles.gz file into multiple **gzip compressed chunks** use a command like this:
 <​code>​ <​code>​
-gzip -dc your.smi.gz | split --verbose --lines=<​size>​ --numeric-suffixes --suffix-length=<​suffix_length>​ --additional-suffix='​.smi'​ --filter='​gzip -9> $FILE' - your__+gzip -dc your.smi.gz | split --verbose --lines=<​size>​ --numeric-suffixes --suffix-length=<​suffix_length>​ --additional-suffix='​.smi.gz' --filter='​gzip -9> $FILE' - your__
 </​code>​ </​code>​
  
 For example to split the Mcule Purchasable (Full) smi.gz file into 1M **gzip compressed chunks** use: For example to split the Mcule Purchasable (Full) smi.gz file into 1M **gzip compressed chunks** use:
 <​code>​ <​code>​
-gzip -dc mcule_purchasable_full_180817.smi.gz | split --verbose --lines=1000000 --numeric-suffixes --suffix-length=10 --additional-suffix='​.smi'​ --filter='​gzip -9> $FILE' - mcule_purchasable_full_180817__+gzip -dc mcule_purchasable_full_180817.smi.gz | split --verbose --lines=1000000 --numeric-suffixes --suffix-length=10 --additional-suffix='​.smi.gz' --filter='​gzip -9> $FILE' - mcule_purchasable_full_180817__
 </​code>​ </​code>​
  
-If you have pigz installed on your system you can replace gzip with pigz in the commands above to speed up the process, especially when you want compressed chunks.+If you have pigz installed on your system you can replace gzip with pigz in the commands above to speed up the process, especially when you want compressed chunks. ​You can typically install it with <​code>​sudo apt install pigz</​code>​ or a similar command. 
 + 
 +If you are on Windows 10, we suggest to install WSL to get access to a Linux distribution (for example Ubuntu). You can find WSL install instructions here: 
 + 
 +[[https://​docs.microsoft.com/​en-us/​windows/​wsl/​install-win10]] 
 + 
 + 
 +====Can I get a Mcule database SDF file in smaller chunks?​==== 
 + 
 +If you have access to a unix based system and awk you can use the below commands to split large, gzipped SDF files into smaller chunks. 
 + 
 +To split an sdf.gz file into multiple **uncompressed chunks**, use a command like this: 
 +<​code>​ 
 +gzip -dc your.sdf.gz | awk -v name=<​chunk_name>​ -v ext=sdf -v size=<​size>​ '​BEGIN{size=size}(NR==1){file1=sprintf("​%s%0.10d.%s",​name,​counter,​ext)}{print $0 > file1}{if($0=="​$$$$"​){file2=sprintf("​%s%0.10d.%s",​name,​int(++counter/​size),​ext);​{if(file1!=file2){close(file1);​file1=file2}}}}'​ 
 +</​code>​ 
 + 
 +Just replace your.sdf.gz with your filename, <​chunk_name>​ with the name of the files you want and <​size>​ with the intended chunk size. 
 + 
 +For example to split the Mcule Purchasable (Full) sdf.gz file into 1M **uncompressed chunks** use: 
 +<​code>​ 
 +gzip -dc mcule_purchasable_full_180817.sdf.gz | awk -v name=mcule_purchasable_full_180817__ -v ext=sdf -v size=1000000 '​BEGIN{size=size}(NR==1){file1=sprintf("​%s%0.10d.%s",​name,​counter,​ext)}{print $0 > file1}{if($0=="​$$$$"​){file2=sprintf("​%s%0.10d.%s",​name,​int(++counter/​size),​ext);​{if(file1!=file2){close(file1);​file1=file2}}}}'​ 
 +</​code>​ 
 + 
 + 
 +To split an sdf.gz file into multiple **gzip compressed chunks**, use a command like this: 
 +<​code>​ 
 +gzip -dc your.sdf.gz | awk -v name=<​chunk_name>​ -v ext=sdf.gz -v size=<​size>​ '​BEGIN{size=size}(NR==1){file1=sprintf("​%s%0.10d.%s",​name,​counter,​ext)}{print $0 | "gzip -9 > "​file1""​}{if($0=="​$$$$"​){file2=sprintf("​%s%0.10d.%s",​name,​int(++counter/​size),​ext);​{if(file1!=file2){close("​gzip -9 > "​file1""​);​file1=file2}}}}'​ 
 +</​code>​ 
 + 
 +Just replace your.sdf.gz with your filename, <​chunk_name>​ with the name of the files you want and <​size>​ with the intended chunk size. 
 + 
 +For example to split the Mcule Purchasable (Full) sdf.gz file into 1M **gzip compressed chunks** use: 
 +<​code>​ 
 +gzip -dc mcule_purchasable_full_180817.sdf.gz | awk -v name=mcule_purchasable_full_180817__ -v ext=sdf.gz -v size=1000000 '​BEGIN{size=size}(NR==1){file1=sprintf("​%s%0.10d.%s",​name,​counter,​ext)}{print $0 | "gzip -9 > "​file1""​}{if($0=="​$$$$"​){file2=sprintf("​%s%0.10d.%s",​name,​int(++counter/​size),​ext);​{if(file1!=file2){close("​gzip -9 > "​file1""​);​file1=file2}}}}'​ 
 +</​code>​ 
 + 
 +If you have pigz installed on your system you can replace gzip with pigz in the commands above to speed up the process, especially when you want compressed chunks. You can typically install it with <​code>​sudo apt install pigz</​code>​ or a similar command. 
 + 
 +Please note that the process can take a while. 
 + 
 +If you are on Windows 10, we suggest to install WSL to get access to a Linux distribution (for example Ubuntu). You can find WSL install instructions here: 
 + 
 +[[https://​docs.microsoft.com/​en-us/​windows/​wsl/​install-win10]]
  
  
faq.1545182174.txt.gz · Last modified: 2018/12/19 02:16 by flack