рдЗрд╕ рд▓реЗрдЦ рдХреЛ рдХреИрд╕реЗ рдкрдврд╝реЗрдВ : рдореИрдВ рдЗрд╕ рддрдереНрдп рдХреЗ рд▓рд┐рдП рдорд╛рдлреА рдорд╛рдВрдЧрддрд╛ рд╣реВрдВ рдХрд┐ рдкрд╛рда рдЗрддрдирд╛ рд▓рдВрдмрд╛ рдФрд░ рдЕрд░рд╛рдЬрдХ рдирд┐рдХрд▓рд╛ред рдЖрдкрдХреЗ рд╕рдордп рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдкреНрд░рддреНрдпреЗрдХ рдЕрдзреНрдпрд╛рдп рдХреА рд╢реБрд░реБрдЖрдд "рд╡реНрд╣рд╛рдЯ рдЖрдИ рд▓рд░реНрди" рдХреЗ рд╕рд╛рде рдХрд░рддрд╛ рд╣реВрдВ, рдЬрд┐рд╕рдореЗрдВ рдореИрдВ рдПрдХ рдпрд╛ рджреЛ рд╡рд╛рдХреНрдпреЛрдВ рдореЗрдВ рдЕрдзреНрдпрд╛рдп рдХрд╛ рд╕рд╛рд░ рд╕рдордЭрд╛рддрд╛ рд╣реВрдВред
"рдмрд╕ рд╕рдорд╛рдзрд╛рди рджрд┐рдЦрд╛рдУ!" рдпрджрд┐ рдЖрдк рдХреЗрд╡рд▓ рдпрд╣ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдореИрдВ рдХреНрдпрд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рддреЛ "рдФрд░ рдЕрдзрд┐рдХ рдЖрд╡рд┐рд╖реНрдХрд╛рд░рд╢реАрд▓ рдмрдиреЗрдВ" рдЕрдзреНрдпрд╛рдп рдкрд░ рдЬрд╛рдПрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡рд┐рдлрд▓рддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрдврд╝рдирд╛ рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рдФрд░ рдЙрдкрдпреЛрдЧреА рд╣реИредрд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдореБрдЭреЗ рдореВрд▓ рдбреАрдПрдирдП рдЕрдиреБрдХреНрд░рдореЛрдВ рдХреА рдПрдХ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрджреЗрд╢ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ (рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ, рдпрд╣ рдПрдХ рдПрд╕рдПрдирдкреА рдЪрд┐рдк рд╣реИ)ред рдмрд╛рдж рдХреЗ рдореЙрдбрд▓рд┐рдВрдЧ рдФрд░ рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдЖрдиреБрд╡рдВрд╢рд┐рдХ рд╕реНрдерд╛рди (рдПрд╕рдПрдирдкреА) рдкрд░ рдбреЗрдЯрд╛ рдЬрд▓реНрджреА рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред рдЖрд░ рдФрд░ рдПрдбрдмреНрд▓реНрдпреВрдХреЗ рдХреА рдорджрдж рд╕реЗ, рдореИрдВ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рддреЗрдЬ рдХрд░рддреЗ рд╣реБрдП, рдкреНрд░рд╛рдХреГрддрд┐рдХ рддрд░реАрдХреЗ рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ рд╕рд╛рдл рдФрд░ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдЖрд╕рд╛рди рдирд╣реАрдВ рдерд╛ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрдИ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рдпрд╣ рд▓реЗрдЦ рдЖрдкрдХреЛ рдореЗрд░реА рдХреБрдЫ рдЧрд▓рддрд┐рдпреЛрдВ рд╕реЗ рдмрдЪрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ рдФрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧрд╛ рдХрд┐ рдореИрдВрдиреЗ рдЖрдЦрд┐рд░ рдореЗрдВ рдХреНрдпрд╛ рдХрд┐рдпрд╛ред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдХреБрдЫ рдкрд░рд┐рдЪрдпрд╛рддреНрдордХ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдгред
рдбреЗрдЯрд╛
рд╣рдорд╛рд░реЗ рд╡рд┐рд╢реНрд╡рд╡рд┐рджреНрдпрд╛рд▓рдп рдЖрдиреБрд╡рдВрд╢рд┐рдХ рд╕реВрдЪрдирд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗрдВрджреНрд░ рдиреЗ рд╣рдореЗрдВ рдЯреАрдПрд╕рд╡реА рдбреЗрдЯрд╛ рдХреЗ 25 рдЯреАрдмреА рдкреНрд░рджрд╛рди рдХрд┐рдП рд╣реИрдВред рдореИрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ Gzip рджреНрд╡рд╛рд░рд╛ рд╕рдВрдкреАрдбрд╝рд┐рдд 5 рдкреИрдХреЗрдЬреЛрдВ рдореЗрдВ рддреЛрдбрд╝ рджрд┐рдпрд╛, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдореЗрдВ рд▓рдЧрднрдЧ 240 рдЪрд╛рд░-рдЧреАрдЧрд╛рдмрд╛рдЗрдЯ рдлрд╛рдЗрд▓реЗрдВ рдереАрдВред рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдПрдХ рдПрд╕рдПрдирдкреА рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рд╣реЛрддрд╛ рдерд╛ред рдХреБрд▓ рдореЗрдВ, ~ 2.5 рдорд┐рд▓рд┐рдпрди рдПрд╕рдПрдирдкреА рдФрд░ ~ 60 рд╣рдЬрд╛рд░ рд▓реЛрдЧреЛрдВ рдкрд░ рдбреЗрдЯрд╛ рдкреНрд░реЗрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдПрд╕рдПрдирдкреА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдХрдИ рдХреЙрд▓рдо рдереЗ, рдЬрд┐рдирдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬреИрд╕реЗ рдХрд┐ рд░реАрдбрд┐рдВрдЧ рдЗрдВрдЯреЗрдВрд╕рд┐рдЯреА, рд╡рд┐рднрд┐рдиреНрди рдПрдкрд▓реНрд╕ рдХреА рдЖрд╡реГрддреНрддрд┐, рдЖрджрд┐ред рдЕрджреНрд╡рд┐рддреАрдп рдорд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рд▓рдЧрднрдЧ 30 рд╕реНрддрдВрдн рдереЗред
рд▓рдХреНрд╖реНрдп
рдХрд┐рд╕реА рднреА рдбреЗрдЯрд╛ рдкреНрд░рдмрдВрдзрди рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╕рд╛рде, рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рдерд╛ рдХрд┐ рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ,
рдЕрдзрд┐рдХрд╛рдВрд╢ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП, рд╣рдо SNP рдХреЗ рдЖрдзрд╛рд░ рдкрд░ SNP рдХреЗ рд▓рд┐рдП рдореЙрдбрд▓ рдФрд░ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВрдЧреЗ ред рдпрд╣реА рд╣реИ, рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдПрд╕рдПрдирдкреА рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдореБрдЭреЗ рдпрд╣ рд╕реАрдЦрдирд╛ рдерд╛ рдХрд┐ 2.5 рдорд┐рд▓рд┐рдпрди рдПрд╕рдПрдирдкреА рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рднреА рд░рд┐рдХреЙрд░реНрдб рдХреИрд╕реЗ рдирд┐рдХрд╛рд▓реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рддреЗрдЬрд╝ рдФрд░ рд╕рд╕реНрддрд╛ред
рдХреИрд╕реЗ рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИ
рдореИрдВ рдПрдХ рдЙрдкрдпреБрдХреНрдд рдХреНрд▓рд┐рдЪ рдХрд╛ рдЙрджреНрдзрд░рдг рджреВрдВрдЧрд╛:
рдореИрдВ рдПрдХ рд╣рдЬрд╝рд╛рд░ рдмрд╛рд░ рдЕрд╕рдлрд▓ рдирд╣реАрдВ рд╣реБрдЖ, рдореИрдВрдиреЗ рд╕рд┐рд░реНрдл рдПрдХ рд╣рдЬрд╝рд╛рд░ рддрд░реАрдХреЗ рдЦреЛрдЬреЗ, рдЬреЛ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдбреЗрдЯрд╛ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдкрд╛рд░реНрд╕ рди рдХрд░реЗрдВред
рдкрд╣рд▓рд╛ рдкреНрд░рдпрд╛рд╕
рдореИрдВрдиреЗ рдХреНрдпрд╛ рд╕реАрдЦрд╛ : рдПрдХ рд╕рдордп рдореЗрдВ 25 рдЯреАрдмреА рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рд╕рд╕реНрддрд╛ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред
рд╡реЗрдВрдбрд░рдмрд┐рд▓реНрдЯ рдпреВрдирд┐рд╡рд░реНрд╕рд┐рдЯреА рдореЗрдВ "рдПрдбрд╡рд╛рдВрд╕реНрдб рдмрд┐рдЧ рдбреЗрдЯрд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдореЗрдердбреНрд╕" рд╡рд┐рд╖рдп рдХреЛ рд╕реБрдирдиреЗ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рдпрдХреАрди рдерд╛ рдХрд┐ рдпрд╣ рдПрдХ рдЯреЛрдкреА рдереАред рд╢рд╛рдпрдж рд╕рднреА рдбреЗрдЯрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рд╛рдиреЗ рдФрд░ рдкрд░рд┐рдгрд╛рдо рдкрд░ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рд╛рдЗрд╡ рд╕рд░реНрд╡рд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдореЗрдВ рдПрдХ рдпрд╛ рджреЛ рдШрдВрдЯреЗ рдХрд╛ рд╕рдордп рд▓рдЧреЗрдЧрд╛ред рдЪреВрдВрдХрд┐ рд╣рдорд╛рд░рд╛ рдбреЗрдЯрд╛ AWS S3 рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ
рдПрдереЗрдирд╛ рд╕реЗрд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдЬреЛ рдЖрдкрдХреЛ S3 рдбреЗрдЯрд╛ рдореЗрдВ Hive SQL рдХреНрд╡реЗрд░реА рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╣рд╛рдЗрд╡-рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ / рдмрдврд╝рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдХреЗрд╡рд▓ рдЙрд╕ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рднреБрдЧрддрд╛рди рдХрд░реЗрдВ рдЬрд┐рд╕реЗ рдЖрдк рдЦреЛрдЬ рд░рд╣реЗ рд╣реИрдВред
рдПрдереЗрдирд╛ рдХреЛ рдЕрдкрдирд╛ рдбреЗрдЯрд╛ рдФрд░ рдЙрд╕рдХрд╛ рдкреНрд░рд╛рд░реВрдк рджрд┐рдЦрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдХреБрдЫ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдП:
select * from intensityData limit 10;
рдФрд░ рдЬрд▓реНрджреА рд╕реЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рдВрд░рдЪрд┐рдд рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓рд╛ред рд╣реЛ рдЧрдпрд╛ред
рдЬрдм рддрдХ рд╣рдордиреЗ рдХрд╛рдо рдореЗрдВ рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА ...
рдореБрдЭреЗ рдореЙрдбрд▓ рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдПрд╕рдПрдирдкреА рдЬрд╛рдирдХрд╛рд░реА рдЦреАрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЧрдпрд╛ рдерд╛ред рдореИрдВрдиреЗ рдПрдХ рдХреНрд╡реЗрд░реА рдЪрд▓рд╛рдИ:
select * from intensityData where snp = 'rs123456';
... рдФрд░ рдЗрдВрддрдЬрд╛рд░ рдХрд┐рдпрд╛ред рдЖрда рдорд┐рдирдЯ рдФрд░ рдЕрдиреБрд░реЛрдзрд┐рдд рдбреЗрдЯрд╛ рдХреЗ 4 рд╕реЗ рдЕрдзрд┐рдХ рдЯреАрдмреА рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓рд╛ред рдПрдереЗрдирд╛ $ 5 рдкреНрд░рддрд┐ рдЯреЗрд░рд╛рдмрд╛рдЗрдЯ рдкрд░ рдорд┐рд▓рдиреЗ рд╡рд╛рд▓реЗ рдбреЗрдЯрд╛ рдХреА рд░рд╛рд╢рд┐ рдХреЗ рд▓рд┐рдП рд╢реБрд▓реНрдХ рд▓реЗрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдЗрд╕ рдПрдХрд▓ рдЕрдиреБрд░реЛрдз рдореЗрдВ $ 20 рдФрд░ рдЖрда рдорд┐рдирдЯ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХреА рд▓рд╛рдЧрдд рдереАред рд╕рднреА рдЖрдВрдХрдбрд╝реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдореЙрдбрд▓ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, 38 рд╕рд╛рд▓ рддрдХ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рдФрд░ $ 50 рдорд┐рд▓рд┐рдпрди рдХрд╛ рднреБрдЧрддрд╛рди рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдпрд╣ рд╣рдореЗрдВ рд╕реВрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рдерд╛ред
Parquet рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ ...
рдореИрдВрдиреЗ рдХреНрдпрд╛ рд╕реАрдЦрд╛ : рдЕрдкрдиреА Parquet рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рдЙрдирдХреЗ рд╕рдВрдЧрдарди рдХреЗ рдЖрдХрд╛рд░ рд╕реЗ рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдореИрдВрдиреЗ рд╕рднреА TSV рдХреЛ
Parquet рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдХреЗ рд╕реНрдерд┐рддрд┐ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ред рд╡реЗ рдмрдбрд╝реЗ рдбреЗрдЯрд╛ рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдирдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╕реНрддрдВрдн рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реЛрддреА рд╣реИ: рдкреНрд░рддреНрдпреЗрдХ рд╕реНрддрдВрдн рдЕрдкрдиреА рд╕реНрд╡рдпрдВ рдХреА рдореЗрдореЛрд░реА / рдбрд┐рд╕реНрдХ рд╕реЗрдЧрдореЗрдВрдЯ рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдкрд╛рда рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд рдЬрд┐рд╕рдореЗрдВ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрддрдВрдн рдХреЗ рддрддреНрд╡ рд╣реЛрддреЗ рд╣реИрдВред рдФрд░ рдЕрдЧрд░ рдЖрдкрдХреЛ рдХреБрдЫ рдЦреЛрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдмрд╕ рдЖрд╡рд╢реНрдпрдХ рдХреЙрд▓рдо рдкрдврд╝реЗрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдорд╛рдиреЛрдВ рдХреА рдПрдХ рд╢реНрд░реЗрдгреА рдХреЛ рдПрдХ рдХреЙрд▓рдо рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рд╡рд╛рдВрдЫрд┐рдд рдорд╛рди рд╕реНрддрдВрдн рд╢реНрд░реЗрдгреА рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рддреЛ рд╕реНрдкрд╛рд░реНрдХ рд╕рдордп рдмрд░реНрдмрд╛рдж рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдкреВрд░реА рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕реНрдХреИрди рдХрд░рдирд╛ред
рдореИрдВрдиреЗ рдЕрдкрдиреЗ TSVs рдХреЛ Parquet рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдзрд╛рд░рдг
AWS Glue рдХрд╛рд░реНрдп рдЪрд▓рд╛рдпрд╛ рдФрд░ рдирдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдПрдереЗрдирд╛ рдореЗрдВ рдЧрд┐рд░рд╛ рджрд┐рдпрд╛ред рдЗрд╕рдореЗрдВ рд▓рдЧрднрдЧ 5 рдШрдВрдЯреЗ рд▓рдЧреЗред рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВрдиреЗ рдЕрдиреБрд░реЛрдз рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛, рддреЛ рдЗрд╕реЗ рдкреВрд░рд╛ рдХрд░рдиреЗ рдореЗрдВ рд▓рдЧрднрдЧ рдПрдХ рд╣реА рд╕рдордп рдФрд░ рдереЛрдбрд╝рд╛ рдХрдо рдкреИрд╕рд╛ рд▓рдЧрд╛ред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рд╕реНрдкрд╛рд░реНрдХ, рдХрд╛рд░реНрдп рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдмрд╕ рдПрдХ рдЯреАрдПрд╕рд╡реА-рдЪрдВрдХ рдХреЛ рдЕрдирдкреИрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкрд░реНрдХрд┐рдЯ-рдЪрдВрдХ рдореЗрдВ рдбрд╛рд▓ рджрд┐рдпрд╛ рд╣реИред рдФрд░ рдЪреВрдВрдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдЪрдВрдХ рдХрд╛рдлреА рдмрдбрд╝рд╛ рдерд╛ рдФрд░ рдЗрд╕рдореЗрдВ рдХрдИ рд▓реЛрдЧреЛрдВ рдХреЗ рдкреВрд░реНрдг рд░рд┐рдХреЙрд░реНрдб рдереЗ, рдЗрд╕рд▓рд┐рдП рд╕рднреА рдПрд╕рдПрдирдкреА рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдП рдЧрдП рдереЗ, рдЗрд╕рд▓рд┐рдП рд╕реНрдкрд╛рд░реНрдХ рдХреЛ рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдЦреЛрд▓рдирд╛ рдкрдбрд╝рд╛ред
рдЙрддреНрд╕реБрдХрддрд╛рд╡рд╢, Parquet рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ (рдФрд░ рдЕрдиреБрд╢рдВрд╕рд┐рдд) рдХрдВрдкреНрд░реЗрд╢рди рдкреНрд░рдХрд╛рд░ - snappy - splitable рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдкреНрд░рддреНрдпреЗрдХ рдирд┐рд╖реНрдкрд╛рджрдХ рдкреВрд░реЗ 3.5 рдЬреАрдмреА рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЛ рдЕрдирдкреИрдХ рдХрд░рдиреЗ рдФрд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░реНрдп рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред

рд╣рдо рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╕рдордЭрддреЗ рд╣реИрдВ
рдореИрдВрдиреЗ рдЬреЛ рд╕реАрдЦрд╛ рд╣реИ : рдЫрдВрдЯрд╛рдИ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдЕрдЧрд░ рдбреЗрдЯрд╛ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдРрд╕рд╛ рд▓рдЧ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдЕрдм рдореБрдЭреЗ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рд░ рд╕рдордЭ рдореЗрдВ рдЖрдпрд╛ред рдореБрдЭреЗ рдмрд╕ рдЗрддрдирд╛ рдХрд░рдирд╛ рдерд╛ рдХрд┐ рдбреЗрдЯрд╛ рдПрд╕рдПрдирдкреА рдХреЙрд▓рдо рджреНрд╡рд╛рд░рд╛ рдЫрд╛рдБрдЯрд╛ рдЬрд╛рдП, рд▓реЛрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рдирд╣реАрдВред рдлрд┐рд░ рдХрдИ рдПрд╕рдПрдирдкреА рдХреЛ рдПрдХ рдЕрд▓рдЧ рдбреЗрдЯрд╛ рдЪрдВрдХ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдлрд┐рд░ рдкреИрд░рд╛рдХрд┐рдЯ рд╕реНрдорд╛рд░реНрдЯ рдлрд╝рдВрдХреНрд╢рди "рдХреЗрд╡рд▓ рддрднреА рдЦреБрд▓реЗрдЧрд╛ рдЬрдм рдореВрд▓реНрдп рд╕реАрдорд╛ рдореЗрдВ рд╣реЛрдЧрд╛" рдЕрдкрдиреЗ рд╕рднреА рдорд╣рд┐рдорд╛ рдореЗрдВ рдкреНрд░рдХрдЯ рд╣реЛрдЧрд╛ред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдПрдХ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдмрд┐рдЦрд░реА рд╣реБрдИ рдЕрд░рдмреЛрдВ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдЫрд╛рдВрдЯрдирд╛ рдПрдХ рдХрдард┐рди рдХрд╛рдо рд╕рд╛рдмрд┐рдд рд╣реБрдЖ рд╣реИред
AWS рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ "рдореИрдВ рдПрдХ рдЕрдиреБрдкрд╕реНрдерд┐рдд рджрд┐рдорд╛рдЧ рд╡рд╛рд▓рд╛ рдЫрд╛рддреНрд░ рд╣реВрдБ" рдХреЗ рдХрд╛рд░рдг рдкреИрд╕реЗ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ред рдЬрдм рдореИрдВрдиреЗ рдЕрдореЗрдЬрд╝реЕрди рдЧреНрд▓реВ рдкрд░ рдЫрдВрдЯрдиреА рд╢реБрд░реВ рдХреА, рддреЛ рдпрд╣ 2 рджрд┐рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ рдФрд░ рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рдЧрдпрд╛ред
рд╡рд┐рднрд╛рдЬрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?
рдореИрдВрдиреЗ рдХреНрдпрд╛ рд╕реАрдЦрд╛ : рд╕реНрдкрд╛рд░реНрдХ рдореЗрдВ рд╡рд┐рднрд╛рдЬрди рд╕рдВрддреБрд▓рд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдлрд┐рд░ рдЧреБрдгрд╕реВрддреНрд░реЛрдВ рдкрд░ рдбреЗрдЯрд╛ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рд╡рд┐рдЪрд╛рд░ рдЖрдпрд╛ред рдЙрдирдореЗрдВ рд╕реЗ 23 рд╣реИрдВ (рдФрд░ рдХреБрдЫ рдФрд░, рджрд┐рдП рдЧрдП рдорд╛рдЗрдЯреЛрдХреЙрдиреНрдбреНрд░рд┐рдпрд▓ рдбреАрдПрдирдП рдФрд░ рдЕрдирдореИрдкреНрдб рдХреНрд╖реЗрддреНрд░)ред
рдпрд╣ рдЖрдкрдХреЛ рдбреЗрдЯрд╛ рдХреЛ рдЫреЛрдЯреЗ рднрд╛рдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред рдпрджрд┐ рдЖрдк Glue рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╕реНрдкрд╛рд░реНрдХ рдПрдХреНрд╕рдкреЛрд░реНрдЯ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ
partition_by = "chr"
рд▓рд╛рдЗрди рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рдбреЗрдЯрд╛ рдХреЛ рдмрд╛рд▓реНрдЯреА рдореЗрдВ рд╕реЙрд░реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЬреАрдиреЛрдо рдореЗрдВ рдХрдИ рдЯреБрдХрдбрд╝реЗ рд╣реЛрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдХреНрд░реЛрдореЛрд╕реЛрдо рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИредрджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдХреНрд░реЛрдореЛрд╕реЛрдо рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдЖрдХрд╛рд░ рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдЬрд╛рдирдХрд╛рд░реА рдХреА рдПрдХ рдЕрд▓рдЧ рд░рд╛рд╢рд┐ рд╣реЛрддреА рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рд╕реНрдкрд╛рд░реНрдХ рдиреЗ рд╢реНрд░рдорд┐рдХреЛрдВ рдХреЛ рднреЗрдЬреЗ рдЧрдП рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕рдВрддреБрд▓рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдФрд░ рдзреАрд░реЗ-рдзреАрд░реЗ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдХреБрдЫ рдиреЛрдбреНрд╕ рдкрд╣рд▓реЗ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдП рдереЗ рдФрд░ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдереЗред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдХрд╛рд░реНрдп рдкреВрд░реНрдг рд╣реЛ рдЪреБрдХреЗ рдереЗред рд▓реЗрдХрд┐рди рдЬрдм рдПрдХ рдПрд╕рдПрдирдкреА рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЧрдпрд╛, рддреЛ рдЕрд╕рдВрддреБрд▓рди рдиреЗ рдлрд┐рд░ рд╕реЗ рд╕рдорд╕реНрдпрд╛рдПрдВ рдкреИрджрд╛ рдХреАрдВред рдмрдбрд╝реЗ рдЧреБрдгрд╕реВрддреНрд░реЛрдВ (рдЬрд╣рд╛рдБ рд╣рдо рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ) рдкрд░ рдПрд╕рдПрдирдкреА рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреА рд▓рд╛рдЧрдд рдореЗрдВ рд▓рдЧрднрдЧ 10 рдЧреБрдирд╛ рдХреА рдХрдореА рдЖрдИ рд╣реИред рдмрд╣реБрдд рдХреБрдЫ, рд▓реЗрдХрд┐рди рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВред
рдФрд░ рдЕрдЧрд░ рдЖрдк рдЫреЛрдЯреЗ-рдЫреЛрдЯреЗ рд╡рд┐рднрд╛рдЬрди рдореЗрдВ рднреА рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ?
рдореИрдВрдиреЗ рдХреНрдпрд╛ рд╕реАрдЦрд╛ : рдХрднреА рднреА 2.5 рдорд┐рд▓рд┐рдпрди рд╡рд┐рднрд╛рдЬрди рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рди рдХрд░реЗрдВред
рдореИрдВрдиреЗ рдЯрд╣рд▓рдиреЗ рдЬрд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдФрд░ рд╣рд░ рдПрд╕рдПрдирдкреА рдХрд╛ рд╡рд┐рднрд╛рдЬрди рдХрд┐рдпрд╛ред рдпрд╣ рд╕рдорд╛рди рдЖрдХрд╛рд░ рдХреЗ рд╡рд┐рднрд╛рдЬрди рдХреА рдЧрд╛рд░рдВрдЯреА рджреЗрддрд╛ рд╣реИред
рдмрд╛рдб рдП рдПрди рдЖрдИрдбрд┐рдпрд╛ рдерд╛ ред рдореИрдВрдиреЗ рдЧреНрд▓реВ рдХрд╛ рдлрд╛рдпрджрд╛ рдЙрдард╛рдпрд╛ рдФрд░ рдирд┐рд░реНрджреЛрд╖
partition_by = 'snp'
рдЬреЛрдбрд╝
partition_by = 'snp'
ред рдЯрд╛рд╕реНрдХ рд╢реБрд░реВ рд╣реБрдЖ рдФрд░ рдЪрд▓рдиреЗ рд▓рдЧрд╛ред рдПрдХ рджрд┐рди рдмрд╛рдж, рдореИрдВрдиреЗ рдЬрд╛рдБрдЪ рдХреА рдФрд░ рджреЗрдЦрд╛ рдХрд┐ S3 рдореЗрдВ рдЕрдм рддрдХ рдХреБрдЫ рднреА рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЗрд╕ рдХрд╛рд░реНрдп рдХреЛ рдорд╛рд░ рджрд┐рдпрд╛ред рдРрд╕рд╛ рд▓рдЧ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдЧреНрд▓реВ S3 рдореЗрдВ рдПрдХ рдЫрд┐рдкреА рдЬрдЧрд╣ рдкрд░ рдЗрдВрдЯрд░рдореАрдбрд┐рдПрдЯ рдлрд╛рдЗрд▓реЗрдВ рд▓рд┐рдЦ рд░рд╣рд╛ рдерд╛, рдФрд░ рдмрд╣реБрдд рд╕рд╛рд░реА рдлрд╛рдЗрд▓реЗрдВ, рд╢рд╛рдпрдж рдХреБрдЫ рд▓рд╛рдЦреЛрдВред рдирддреАрдЬрддрди, рдореЗрд░реА рдЧрд▓рддреА рдХреА рдХреАрдордд рдПрдХ рд╣рдЬрд╛рд░ рдбреЙрд▓рд░ рд╕реЗ рдЕрдзрд┐рдХ рдереА рдФрд░ рдореЗрд░реЗ рдЧреБрд░реБ рдХреЛ рдЦреБрд╢ рдирд╣реАрдВ рдХрд┐рдпрд╛ред
рд╡рд┐рднрд╛рдЬрди + рдЫрдБрдЯрд╛рдИ
рдореИрдВрдиреЗ рдХреНрдпрд╛ рд╕реАрдЦрд╛ : рд╕реНрдкрд╛рд░реНрдХ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЕрднреА рднреА рдореБрд╢реНрдХрд┐рд▓ рд╣реИред
рд╡рд┐рднрд╛рдЬрди рдХрд╛ рдЕрдВрддрд┐рдо рдкреНрд░рдпрд╛рд╕ рдпрд╣ рдерд╛ рдХрд┐ рдореИрдВрдиреЗ рдЧреБрдгрд╕реВрддреНрд░реЛрдВ рдХрд╛ рд╡рд┐рднрд╛рдЬрди рдХрд┐рдпрд╛ рдФрд░ рдлрд┐рд░ рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рднрд╛рдЬрди рдХреЛ рдХреНрд░рдордмрджреНрдз рдХрд┐рдпрд╛ред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдпрд╣ рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрд░реЛрдз рдХреЛ рдЧрддрд┐ рджреЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╡рд╛рдВрдЫрд┐рдд рдПрд╕рдПрдирдкреА рдбреЗрдЯрд╛ рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рд╕реАрдорд╛ рдХреЗ рднреАрддрд░ рдХрдИ Parquet рд╡рд┐рдЦрдВрдбреВ рдХреЗ рднреАрддрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдХрд╛рд╢, рд╡рд┐рднрд╛рдЬрди рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдХреЛ рдЫрд╛рдВрдЯрдирд╛ рднреА рдПрдХ рдореБрд╢реНрдХрд┐рд▓ рдХрд╛рдо рд╕рд╛рдмрд┐рдд рд╣реЛрддрд╛ред рдирддреАрдЬрддрди, рдореИрдВрдиреЗ рдПрдХ рдХрд╕реНрдЯрдо рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд▓рд┐рдП EMR рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ рдФрд░ рдПрдХ рдЕрдзрд┐рдХ рд▓рдЪреАрд▓реА рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрда рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЗрдВрд╕реНрдЯреЗрдВрд╕ (C5.4xl) рдФрд░ рд╕реНрдкрд╛рд░реНрдХрд▓рд┐рдпрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ ...
# Sparklyr snippet to partition by chr and sort w/in partition # Join the raw data with the snp bins raw_data group_by(chr) %>% arrange(Position) %>% Spark_write_Parquet( path = DUMP_LOC, mode = 'overwrite', partition_by = c('chr') )
... рд╣рд╛рд▓рд╛рдБрдХрд┐, рдХрд╛рд░реНрдп рдЕрднреА рднреА рдкреВрд░рд╛ рдирд╣реАрдВ рд╣реБрдЖ рдерд╛ред рдореИрдВрдиреЗ рд╣рд░ рддрд░рд╣ рд╕реЗ рдЯреНрдпреВрди рдХрд┐рдпрд╛: рдореИрдВрдиреЗ рдкреНрд░рддреНрдпреЗрдХ рдХреНрд╡реЗрд░реА рдирд┐рд╖реНрдкрд╛рджрдХ рдХреЗ рд▓рд┐рдП рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрди рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХреА, рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдореЗрдореЛрд░реА рдХреЗ рд╕рд╛рде рдиреЛрдбреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдкреНрд░рд╕рд╛рд░рдг рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рд╣рд░ рдмрд╛рд░ рдпрд╣ рдЖрдзрд╛ рдЙрдкрд╛рдп рдирд┐рдХрд▓рд╛, рдФрд░ рдзреАрд░реЗ-рдзреАрд░реЗ рдХрд▓рд╛рдХрд╛рд░ рд╡рд┐рдлрд▓ рд╣реЛрдиреЗ рд▓рдЧреЗ, рдЬрдм рддрдХ рдХрд┐ рд╕рдм рдХреБрдЫ рдмрдВрдж рдирд╣реАрдВ рд╣реБрдЖред
рдореИрдВ рдФрд░ рдЕрдзрд┐рдХ рдЖрд╡рд┐рд╖реНрдХрд╛рд░рд╢реАрд▓ рд╣реЛ рд░рд╣рд╛ рд╣реВрдБ
рдореИрдВрдиреЗ рдХреНрдпрд╛ рд╕реАрдЦрд╛ : рдХрднреА-рдХрднреА рд╡рд┐рд╢реЗрд╖ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд╕рдорд╛рдзрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдкреНрд░рддреНрдпреЗрдХ рдПрд╕рдПрдирдкреА рдХрд╛ рдПрдХ рд╕реНрдерд┐рддрд┐ рдореВрд▓реНрдп рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдЧреБрдгрд╕реВрддреНрд░ рдХреЗ рд╕рд╛рде рд╕реНрдерд┐рдд рдЖрдзрд╛рд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЕрдиреБрд░реВрдк рд╕рдВрдЦреНрдпрд╛ рд╣реИред рдпрд╣ рд╣рдорд╛рд░реЗ рдбреЗрдЯрд╛ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдФрд░ рдкреНрд░рд╛рдХреГрддрд┐рдХ рддрд░реАрдХрд╛ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдореИрдВ рдкреНрд░рддреНрдпреЗрдХ рдЧреБрдгрд╕реВрддреНрд░ рдХреЗ рдХреНрд╖реЗрддреНрд░ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рднрд╛рдЬрди рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрджреЛрдВ 1 - 2000, 2001 - 4000, рдЖрджрд┐ред рд▓реЗрдХрд┐рди рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдПрд╕рдПрдирдкреА рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдЧреБрдгрд╕реВрддреНрд░реЛрдВ рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдпрд╣реА рд╡рдЬрд╣ рд╣реИ рдХрд┐ рд╕рдореВрд╣реЛрдВ рдХрд╛ рдЖрдХрд╛рд░ рдмрд╣реБрдд рднрд┐рдиреНрди рд╣реЛрдЧрд╛ред

рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдореБрдЭреЗ рд╢реНрд░реЗрдгрд┐рдпреЛрдВ (рд░реИрдВрдХ) рдХреЗ рдкрджреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдкрд╣рд▓реЗ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдореИрдВрдиреЗ рдЕрджреНрд╡рд┐рддреАрдп рдПрд╕рдПрдирдкреА, рдЙрдирдХреА рд╕реНрдерд┐рддрд┐ рдФрд░ рдЧреБрдгрд╕реВрддреНрд░реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ред рдлрд┐рд░ рдЙрдиреНрд╣реЛрдВрдиреЗ рдкреНрд░рддреНрдпреЗрдХ рдЧреБрдгрд╕реВрддреНрд░ рдХреЗ рдЕрдВрджрд░ рдбреЗрдЯрд╛ рдХреЛ рд╕реЙрд░реНрдЯ рдХрд┐рдпрд╛ рдФрд░ рдПрд╕рдПрдирдкреА рдХреЛ рдПрдХ рджрд┐рдП рдЧрдП рдЖрдХрд╛рд░ рдХреЗ рд╕рдореВрд╣реЛрдВ (рдмрд┐рди) рдореЗрдВ рдПрдХрддреНрд░ рдХрд┐рдпрд╛ред 1000 рдПрд╕рдПрдирдкреА рдкреНрд░рддреНрдпреЗрдХ рдХрд╣реЛред рдЗрд╕рдиреЗ рдореБрдЭреЗ рдПрдХ рд╕рдореВрд╣-рдЧреБрдгрд╕реВрддреНрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдПрд╕рдПрдирдкреА рд╕рдВрдмрдВрдз рджрд┐рдпрд╛ред
рдЕрдВрдд рдореЗрдВ, рдореИрдВрдиреЗ 75 рдПрд╕рдПрдирдкреА рдкрд░ рд╕рдореВрд╣ (рдмрд┐рди) рдмрдирд╛рдП, рдореИрдВ рдиреАрдЪреЗ рдХрд╛рд░рдг рдмрддрд╛рдКрдВрдЧрд╛ред
snp_to_bin <- unique_snps %>% group_by(chr) %>% arrange(position) %>% mutate( rank = 1:n() bin = floor(rank/snps_per_bin) ) %>% ungroup()
рдкрд╣рд▓реЗ рд╕реНрдкрд╛рд░реНрдХ рдХреЗ рд╕рд╛рде рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ
рдореИрдВрдиреЗ рдХреНрдпрд╛ рд╕реАрдЦрд╛ : рд╕реНрдкрд╛рд░реНрдХ рдПрдХреАрдХрд░рдг рддреЗрдЬ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд┐рднрд╛рдЬрди рдЕрднреА рднреА рдорд╣рдВрдЧрд╛ рд╣реИред
рдореИрдВ рд╕реНрдкрд╛рд░реНрдХ рдореЗрдВ рдЗрд╕ рдЫреЛрдЯреЗ (2.5 рдорд┐рд▓рд┐рдпрди рд▓рд╛рдЗрдиреЛрдВ) рдбреЗрдЯрд╛ рдлреНрд░реЗрдо рдХреЛ рдкрдврд╝рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдЗрд╕реЗ рдХрдЪреНрдЪреЗ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝ рд░рд╣рд╛ рдерд╛, рдФрд░ рдлрд┐рд░ рдирдП рдЬреЛрдбрд╝реЗ рдЧрдП
bin
рдХреЙрд▓рдо рджреНрд╡рд╛рд░рд╛ рд╡рд┐рднрд╛рдЬрдиред
рдореИрдВрдиреЗ
sdf_broadcast()
рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдЗрд╕рд▓рд┐рдП рд╕реНрдкрд╛рд░реНрдХ рдХреЛ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдЙрд╕реЗ рд╕рднреА рдиреЛрдбреНрд╕ рдХреЛ рдПрдХ рдбреЗрдЯрд╛ рдлреНрд░реЗрдо рднреЗрдЬрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдЙрдкрдпреЛрдЧреА рд╣реИ рдпрджрд┐ рдбреЗрдЯрд╛ рдЫреЛрдЯрд╛ рд╣реИ рдФрд░ рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЕрдиреНрдпрдерд╛, рд╕реНрдкрд╛рд░реНрдХ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЖрд╡рд╢реНрдпрдХрддрд╛рдиреБрд╕рд╛рд░ рдбреЗрдЯрд╛ рд╡рд┐рддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдмреНрд░реЗрдХ рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХрддрд╛ рд╣реИред
рдФрд░ рдлрд┐рд░ рд╕реЗ, рдореЗрд░реЗ рд╡рд┐рдЪрд╛рд░ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рд╣реБрдЖ: рдХрд╛рд░реНрдпреЛрдВ рдиреЗ рдереЛрдбрд╝реА рджреЗрд░ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛, рд╡рд┐рд▓рдп рдХреЛ рдкреВрд░рд╛ рдХрд┐рдпрд╛, рдФрд░ рдлрд┐рд░, рд╡рд┐рднрд╛рдЬрди рджреНрд╡рд╛рд░рд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд┐рд╖реНрдкрд╛рджрдХреЛрдВ рдХреА рддрд░рд╣, рд╡реЗ рдЕрд╕рдлрд▓ рд╣реЛрдиреЗ рд▓рдЧреЗред
AWK рдЬреЛрдбрд╝реЗрдВ
рдореИрдВрдиреЗ рдХреНрдпрд╛ рд╕реАрдЦрд╛ : рдЬрдм рдореВрд▓ рдмрд╛рддреЗрдВ рдЖрдкрдХреЛ рд╕рд┐рдЦрд╛рддреА рд╣реИрдВ рддреЛ рдиреАрдВрдж рдирд╣реАрдВ рдЖрддреАред 1980 рдХреЗ рджрд╢рдХ рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХрд┐рд╕реА рдиреЗ рдЖрдкрдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкрд╣рд▓реЗ рд╣реА рд╣рд▓ рдХрд░ рджрд┐рдпрд╛ рдерд╛ред
рдЗрд╕ рдмрд┐рдВрджреБ рддрдХ, рд╕реНрдкрд╛рд░реНрдХ рдХреЗ рд╕рд╛рде рдореЗрд░реА рд╕рднреА рд╡рд┐рдлрд▓рддрд╛рдУрдВ рдХрд╛ рдХрд╛рд░рдг рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдбреЗрдЯрд╛ рдХрд╛ рднреНрд░рдо рдерд╛ред рд╢рд╛рдпрдж рдкреВрд░реНрд╡-рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдореИрдВрдиреЗ рдХрдЪреНрдЪреЗ рдкрд╛рда рдбреЗрдЯрд╛ рдХреЛ рдЧреБрдгрд╕реВрддреНрд░ рдХреЙрд▓рдо рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВ рд╕реНрдкрд╛рд░реНрдХ рдХреЛ "рдкреВрд░реНрд╡-рд╡рд┐рднрд╛рдЬрд┐рдд" рдбреЗрдЯрд╛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░ рд░рд╣рд╛ рдерд╛ред
рдореИрдВрдиреЗ рд╕реНрддрдВрдн рдорд╛рдиреЛрдВ рдХреЛ рдХреИрд╕реЗ рддреЛрдбрд╝рд╛ рдЬрд╛рдП, рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕реНрдЯреИрдХрдСрд╡рд░рдлрд╝реНрд▓реЛ рдкрд░ рдЦреЛрдЬ рдХреА рдФрд░
рдРрд╕рд╛ рд╢рд╛рдирджрд╛рд░ рдЙрддреНрддрд░ рдорд┐рд▓рд╛
ред AWK рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рднреЗрдЬрдиреЗ рдХреЗ рдмрдЬрд╛рдп рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░ рд▓рд┐рдЦрдХрд░ рдХреЙрд▓рдо рдорд╛рдиреЛрдВ рдореЗрдВ рдПрдХ рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдПрдХ рдмреИрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦреАред рдореИрдВрдиреЗ рдкреИрдХ рдХрд┐рдП рдЧрдП TSV рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛, рдлрд┐рд░ рдЗрд╕реЗ рдЧрдЬрд╝рд┐рдк рд╕реЗ рдкреИрдХ рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕реЗ
awk
рд▓рд┐рдП рднреЗрдЬ рджрд┐рдпрд╛ред
gzip -dc path/to/chunk/file.gz | awk -F '\t' \ '{print $1",..."$30">"chunked/"$chr"_chr"$15".csv"}'
рдпрд╣ рдХрд╛рдо рдХрд┐рдпрд╛!
рдХреЛрд░ рдлрд┐рд▓рд┐рдВрдЧ
рдореИрдВрдиреЗ рдХреНрдпрд╛ рд╕реАрдЦрд╛ :
gnu parallel
рдПрдХ рдЬрд╛рджреБрдИ рдЪреАрдЬ рд╣реИ, рд╣рд░ рдХрд┐рд╕реА рдХреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЬреБрджрд╛рдИ рдзреАрдореА рдереА, рдФрд░ рдЬрдм рдореИрдВрдиреЗ рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА (рдФрд░ рдорд╣рдВрдЧреА) EC2 рдЙрджрд╛рд╣рд░рдг рдХреЗ рдЙрдкрдпреЛрдЧ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
htop
рд╢реБрд░реВ рдХрд┐рдпрд╛, рддреЛ рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдореИрдВ рдХреЗрд╡рд▓ рдПрдХ рдХреЛрд░ рдФрд░ рд▓рдЧрднрдЧ 200 рдПрдордмреА рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛ред рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдФрд░ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдкреИрд╕реЗ рди рдЦреЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ рдХрд┐ рдХрд╛рдо рдХреЛ рдХреИрд╕реЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдХрд┐рдпрд╛ рдЬрд╛рдПред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ,
рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкреБрд╕реНрддрдХ рдореЗрдВ рдЬреЗрд░реЛрди рдЬреЗрдВрд╕реЗрдВрд╕ рдХреЗ рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ
рдбреЗрдЯрд╛ рд╡рд┐рдЬреНрдЮрд╛рди рдореЗрдВ , рдореБрдЭреЗ рд╕рдорд╛рдирд╛рдВрддрд░рдХрд░рдг рдкрд░ рдПрдХ рдЕрдзреНрдпрд╛рдп рдорд┐рд▓рд╛ред рдЗрд╕рд╕реЗ рдореИрдВрдиреЗ
gnu parallel
рдмрд╛рд░реЗ рдореЗрдВ рд╕реАрдЦрд╛, рдпреВрдирд┐рдХреНрд╕ рдкрд░ рдорд▓реНрдЯреАрдереНрд░реЗрдбрд┐рдВрдЧ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╣реБрдд рд╣реА рд▓рдЪреАрд▓рд╛ рддрд░реАрдХрд╛ред
рдЬрдм рдореИрдВрдиреЗ рдПрдХ рдирдИ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рднрд╛рдЬрди рд╢реБрд░реВ рдХрд┐рдпрд╛, рддреЛ рд╕рдм рдХреБрдЫ рдареАрдХ рдерд╛, рд▓реЗрдХрд┐рди рдПрдХ рдЕрдбрд╝рдЪрди рдереА - рдбрд┐рд╕реНрдХ рдореЗрдВ S3 рдСрдмреНрдЬреЗрдХреНрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рдмрд╣реБрдд рддреЗрдЬрд╝ рдирд╣реАрдВ рдерд╛ рдФрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдирд╣реАрдВ рдерд╛ред рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдпрд╣ рдХрд┐рдпрд╛:
- рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдкрд╛рдЗрдк рд▓рд╛рдЗрди рдореЗрдВ рд╕реАрдзреЗ рдПрд╕ 3-рдбрд╛рдЙрдирд▓реЛрдб рдХрджрдо рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдбрд┐рд╕реНрдХ рдкрд░ рдордзреНрдпрд╡рд░реНрддреА рднрдВрдбрд╛рд░рдг рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдорд╛рдкреНрдд рдХрд░ рджреЗрддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдореИрдВ рдХрдЪреНрдЪреЗ рдбреЗрдЯрд╛ рдХреЛ рдбрд┐рд╕реНрдХ рдкрд░ рд▓рд┐рдЦрдиреЗ рдФрд░ рдЙрд╕рд╕реЗ рднреА рдЫреЛрдЯреЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдмрдЪ рд╕рдХрддрд╛ рд╣реВрдВ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рдкрд░ рд╕рд╕реНрддрд╛ рднрдВрдбрд╛рд░рдгред
aws configure set default.s3.max_concurrent_requests 50
рдХрдорд╛рдВрдб рдХрдорд╛рдВрдб aws configure set default.s3.max_concurrent_requests 50
рдиреЗ рдереНрд░реЗрдбреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХреА рд╣реИ рдЬреЛ AWS CLI рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ 10 рд╣реИрдВ)ред
- рдореИрдВрдиреЗ рдирд╛рдо рдХреЗ рдЕрдХреНрд╖рд░ n рдХреЗ рд╕рд╛рде рдиреЗрдЯрд╡рд░реНрдХ рдЧрддрд┐ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд EC2 рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ред рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рдПрди-рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рд╢рдХреНрддрд┐ рдХрд╛ рдиреБрдХрд╕рд╛рди рдбрд╛рдЙрдирд▓реЛрдб рдЧрддрд┐ рдореЗрдВ рд╡реГрджреНрдзрд┐ рд╕реЗ рдСрдлрд╕реЗрдЯ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИред рдЕрдзрд┐рдХрд╛рдВрд╢ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ c5n.4xl рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред
- рдореИрдВрдиреЗ
gzip
рдХреЛ pigz
рдмрджрд▓ рджрд┐рдпрд╛, рдпрд╣ рдПрдХ gzip рдЙрдкрдХрд░рдг рд╣реИ рдЬреЛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрдирдкреИрдХ рдХрд░рдиреЗ рдХреЗ pigz
рдХреЛ pigz
рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╢рд╛рдВрдд рдЪреАрдЬреЗрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ (рдЗрд╕рд╕реЗ рд╕рдмрд╕реЗ рдХрдо рдорджрдж рдорд┐рд▓реА)ред
рдЗрди рдЪрд░рдгреЛрдВ рдХреЛ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рддреЗрдЬрд╝реА рд╕реЗ рдХрд╛рдо рдХрд░реЗред рдмрдврд╝реА рд╣реБрдИ рдбрд╛рдЙрдирд▓реЛрдб рдЧрддрд┐ рдФрд░ рдбрд┐рд╕реНрдХ рдкрд░ рд▓рд┐рдЦрдиреЗ рдХреА рдЕрд╕реНрд╡реАрдХреГрддрд┐ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдореИрдВ рдЕрдм рдХреБрдЫ рд╣реА рдШрдВрдЯреЛрдВ рдореЗрдВ 5-рдЯреЗрд░рд╛рдмрд╛рдЗрдЯ рдкреИрдХреЗрдЬ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред
рдЗрд╕ рдЯреНрд╡реАрдЯ рдореЗрдВ 'рдЯреАрдПрд╕рд╡реА' рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рд╣реЛрдирд╛ рдерд╛ред рдЕрдлрд╕реЛрд╕ред
рдкреБрди: рдкрд╛рд░реНрд╕ рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
рдореИрдВрдиреЗ рдХреНрдпрд╛ рд╕реАрдЦрд╛ : рд╕реНрдкрд╛рд░реНрдХ рдЕрд╕рдореНрдкреАрдбрд┐рдд рдбреЗрдЯрд╛ рдХреЛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╡рд┐рднрд╛рдЬрди рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдЕрдм рдбреЗрдЯрд╛ S3 рдореЗрдВ рдПрдХ рдЕрдирдкреИрдХреНрдб (рдкрдврд╝реЗрдВ, рд╕рд╛рдЭрд╛ рдХрд┐рдП рдЧрдП) рдФрд░ рдЕрд░реНрдз-рдСрд░реНрдбрд░ рдХрд┐рдП рдЧрдП рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдерд╛, рдФрд░ рдореИрдВ рдлрд┐рд░ рд╕реЗ рд╕реНрдкрд╛рд░реНрдХ рдкрд░ рд▓реМрдЯ рд╕рдХрддрд╛ рдерд╛ред рдПрдХ рдЖрд╢реНрдЪрд░реНрдп рдореБрдЭреЗ рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣рд╛ рдерд╛: рдореИрдВ рдлрд┐рд░ рд╕реЗ рд╡рд╛рдВрдЫрд┐рдд рд╣рд╛рд╕рд┐рд▓ рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рд╛! рд╕реНрдкрд╛рд░реНрдХ рдХреЛ рдпрд╣ рдмрддрд╛рдирд╛ рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рдерд╛ рдХрд┐ рдбреЗрдЯрд╛ рдХрд╛ рд╡рд┐рднрд╛рдЬрди рдХреИрд╕реЗ рд╣реБрдЖред рдФрд░ рдЬрдм рдореИрдВрдиреЗ рдРрд╕рд╛ рдХрд┐рдпрд╛, рддрдм рднреА рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╡рд┐рднрд╛рдЬрди (95 рд╣рдЬрд╛рд░) рдереЗ, рдФрд░ рдЬрдм рдореИрдВрдиреЗ рдЙрдирдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд╕рдВрдЧрдд рд╕реАрдорд╛ рдХреЗ рд╕рд╛рде рдХрдо
coalesce
, рддреЛ рдЗрд╕рдиреЗ рдореЗрд░реЗ рд╡рд┐рднрд╛рдЬрди рдХреЛ рдмрд░реНрдмрд╛рдж рдХрд░ рджрд┐рдпрд╛ред рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдЗрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЦреЛрдЬ рдХреЗ рдХреБрдЫ рджрд┐рдиреЛрдВ рдореЗрдВ, рдореБрдЭреЗ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдорд┐рд▓рд╛ред рдЕрдВрдд рдореЗрдВ, рдореИрдВрдиреЗ рд╕реНрдкрд╛рд░реНрдХ рдореЗрдВ рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд┐рдпрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕рдореЗрдВ рдХреБрдЫ рд╕рдордп рд▓рдЧрд╛, рдФрд░ рдореЗрд░реА рд╡рд┐рднрд╛рдЬрди Parquet рдлрд╛рдЗрд▓реЗрдВ рдмрд╣реБрдд рдЫреЛрдЯреА рдирд╣реАрдВ рдереАрдВ (~ 200 Kb)ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдбреЗрдЯрд╛ рд╡рд╣ рдерд╛ рдЬрд╣рд╛рдБ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред
рдмрд╣реБрдд рдЫреЛрдЯрд╛ рдФрд░ рдЕрд▓рдЧ, рдЕрджреНрднреБрдд!рд╕реНрдерд╛рдиреАрдп рд╕реНрдкрд╛рд░реНрдХ рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг
рдореИрдВрдиреЗ рдХреНрдпрд╛ рд╕реАрдЦрд╛ : рд╕рд░рд▓ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рд╕реНрдкрд╛рд░реНрдХ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЙрдкрд░рд┐ рд╣реИред
рд╕реНрдорд╛рд░реНрдЯ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдбреЗрдЯрд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдХреЗ, рдореИрдВ рдЧрддрд┐ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред рдореИрдВрдиреЗ рд╕реНрдерд╛рдиреАрдп рд╕реНрдкрд╛рд░реНрдХ рд╕рд░реНрд╡рд░ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд░ рдкрд░ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрдерд╛рдкрд┐рдд рдХреА, рдФрд░ рдлрд┐рд░ рдореИрдВрдиреЗ рд╕реНрдкрд╛рд░реНрдХ рдбреЗрдЯрд╛ рдлрд╝реНрд░реЗрдо рдХреЛ Parquet рд╕рдореВрд╣реЛрдВ (рдмрд┐рди) рдХреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рднрдВрдбрд╛рд░ рд╕реЗ рд▓реЛрдб рдХрд┐рдпрд╛ред рдореИрдВрдиреЗ рд╕рднреА рдбреЗрдЯрд╛ рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рд╡рд┐рднрд╛рдЬрди рдХреЛ рдкрд╣рдЪрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╛рд░реНрдХрд▓рд┐рдпрд░ рдирд╣реАрдВ рдорд┐рд▓рд╛ред
sc <- Spark_connect(master = "local") desired_snp <- 'rs34771739' # Start a timer start_time <- Sys.time() # Load the desired bin into Spark intensity_data <- sc %>% Spark_read_Parquet( name = 'intensity_data', path = get_snp_location(desired_snp), memory = FALSE ) # Subset bin to snp and then collect to local test_subset <- intensity_data %>% filter(SNP_Name == desired_snp) %>% collect() print(Sys.time() - start_time)
рдирд┐рд╖реНрдкрд╛рджрди рдореЗрдВ 29.415 рд╕реЗрдХрдВрдб рд▓рдЧреЗред рдмрд╣реБрдд рдмреЗрд╣рддрд░ рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рднреА рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рдХреИрд╢рд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХреЛ рдЧрддрд┐ рдирд╣реАрдВ рджреЗ рд╕рдХрддрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдЬрдм рдореИрдВрдиреЗ рдореЗрдореЛрд░реА рдореЗрдВ рдбреЗрдЯрд╛ рдлрд╝реНрд░реЗрдо рдХреЛ рдХреИрд╢ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд╕реНрдкрд╛рд░реНрдХ рд╣рдореЗрд╢рд╛ рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рдЧрдпрд╛, рддрдм рднреА рдЬрдм рдореИрдВрдиреЗ 15 рд╕реЗ рдХрдо рд╡рдЬрди рд╡рд╛рд▓реЗ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЗ рд▓рд┐рдП 50 рдЬреАрдмреА рд╕реЗ рдЕрдзрд┐рдХ рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд рдХреАред
AWK рдкрд░ рд▓реМрдЯреЗрдВ
рдореИрдВрдиреЗ рдХреНрдпрд╛ рд╕реАрдЦрд╛ : AWK рд╕рд╛рд╣рдЪрд░реНрдп рд╕рд░рдгрд┐рдпрд╛рдБ рдмрд╣реБрдд рдХреБрд╢рд▓ рд╣реИрдВред
рдореИрдВ рд╕рдордЭ рдЧрдпрд╛ рдХрд┐ рдореИрдВ рдПрдХ рдЙрдЪреНрдЪ рдЧрддрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рдореБрдЭреЗ рдпрд╛рдж рдЖрдпрд╛ рдХрд┐
рдмреНрд░реВрд╕ рдмрд╛рд░реНрдиреЗрдЯ рдХреЗ рдЙрддреНрдХреГрд╖реНрдЯ AWK рдЧрд╛рдЗрдб рдореЗрдВ, рдореИрдВрдиреЗ "
рд╕рд╛рд╣рдЪрд░реНрдп рд╕рд░рдгрд┐рдпреЛрдВ " рдирд╛рдордХ рдПрдХ рдЕрдЪреНрдЫреА рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрдврд╝рд╛ред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпреЗ рдХреБрдВрдЬреА-рдореВрд▓реНрдп рдЬреЛрдбрд╝реЗ рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ AWK рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд░реВрдк рд╕реЗ рдХрд╣рд╛ рдЬрд╛рддрд╛ рдерд╛, рдФрд░ рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрдирдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд┐рдпрд╛ред
рд░реЛрдорди рдЪреЗрд▓рд┐рдкрд╛рдХрд╛ рдиреЗ рдпрд╛рдж рдХрд┐рдпрд╛ рдХрд┐ "рд╕рд╛рд╣рдЪрд░реНрдп рд╕рд░рдгрд┐рдпреЛрдВ" рд╢рдмреНрдж "рдХреА-рд╡реИрд▓реНрдпреВ рдкреЗрдпрд░" рд╢рдмреНрдж рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдкреБрд░рд╛рдирд╛ рд╣реИред рдпрджрд┐ рдЖрдк
Google Ngram рдореЗрдВ рдХреА-рд╡реИрд▓реНрдпреВ рдЦреЛрдЬрддреЗ рд╣реИрдВ , рддреЛ рднреА рдЖрдкрдХреЛ рдпрд╣ рд╢рдмреНрдж рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрдЧрд╛, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рд╕рд╛рд╣рдЪрд░реНрдп рд╕рд░рдгрд┐рдпрд╛рдБ
рдорд┐рд▓реЗрдВрдЧреА ! рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреБрдВрдЬреА-рдореВрд▓реНрдп рдЬреЛрдбрд╝реА рдЕрдХреНрд╕рд░ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдЬреБрдбрд╝реА рд╣реЛрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣реИрд╢рдореИрдк рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХрд░рдирд╛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рддрд░реНрдХрд╕рдВрдЧрдд рд╣реИред рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рдореИрдВ рдЕрдкрдиреЗ рдПрд╕рдПрдирдкреА рдХреЛ рдмрд┐рди рдЯреЗрдмрд▓ рдФрд░ рдХрдЪреНрдЪреЗ рдбреЗрдЯрд╛ рдХреЛ рд╕реНрдкрд╛рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рд▓рд┐рдВрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрди рд╕рд╛рд╣рдЪрд░реНрдп рд╕рд░рдгрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред
рдЗрд╕рдХреЗ рд▓рд┐рдП, AWK рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ, рдореИрдВрдиреЗ
BEGIN
рдмреНрд▓реЙрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдпрд╣ рдХреЛрдб рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рд╣реИ рдЬреЛ рдбреЗрдЯрд╛ рдХреА рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдХреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдореБрдЦреНрдп рдирд┐рдХрд╛рдп рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
join_data.awk BEGIN { FS=","; batch_num=substr(chunk,7,1); chunk_id=substr(chunk,15,2); while(getline < "snp_to_bin.csv") {bin[$1] = $2} } { print $0 > "chunked/chr_"chr"_bin_"bin[$1]"_"batch_num"_"chunk_id".csv" }
while(getline...)
рдХрдорд╛рдВрдб рдиреЗ CSV рд╕рдореВрд╣ (рдмрд┐рди) рд╕реЗ рд╕рднреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рд▓реЛрдб рдХрд┐рдпрд╛, рдкрд╣рд▓реЗ рд╕реНрддрдВрдн (SNP рдирд╛рдо) рдХреЛ
bin
рд╕рд╣рдпреЛрдЧреА рд╕рд░рдгреА рдХреЗ рд▓рд┐рдП рдХреБрдВрдЬреА рдХреЗ рд░реВрдк рдореЗрдВ рдФрд░ рджреВрд╕рд░реЗ рдорд╛рди (рд╕рдореВрд╣) рдХреЛ рдорд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдпрд╛ред рдлрд┐рд░, рдмреНрд▓реЙрдХ
{
}
, рдЬрд┐рд╕реЗ рдореБрдЦреНрдп рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рднреА рд▓рд╛рдЗрдиреЛрдВ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рд▓рд╛рдЗрди рдЖрдЙрдЯрдкреБрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЛ рднреЗрдЬреА рдЬрд╛рддреА рд╣реИ, рдЬрд┐рд╕реЗ рдЗрд╕рдХреЗ рд╕рдореВрд╣ (рдмрд┐рди) рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд╛рдо рдорд┐рд▓рддрд╛ рд╣реИ:
..._bin_"bin[$1]"_...
batch_num
рдФрд░
chunk_id
рдкрд╛рдЗрдк рд▓рд╛рдЗрди рджреНрд╡рд╛рд░рд╛ рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдП рдЧрдП рдбреЗрдЯрд╛ рдХреЗ рдЕрдиреБрд░реВрдк рдереЗ, рдЬреЛ рдХрд┐ рд░реЗрд╕ рд╕реНрдЯреЗрдЯ рд╕реЗ рдмрдЪрд╛ рдерд╛, рдФрд░
parallel
рджреНрд╡рд╛рд░рд╛ рд▓реЙрдиреНрдЪ рдХрд┐рдП рдЧрдП рдкреНрд░рддреНрдпреЗрдХ рдирд┐рд╖реНрдкрд╛рджрди рдереНрд░реЗрдб рдХреЛ рдЕрдкрдиреА рдЕрдиреВрдареА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ред
рдЪреВрдВрдХрд┐ рдореИрдВрдиреЗ AWK рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рдкрд┐рдЫрд▓реЗ рдкреНрд░рдпреЛрдЧ рдХреЗ рдмрд╛рдж рдЫреЛрдбрд╝реЗ рдЧрдП рдЧреБрдгрд╕реВрддреНрд░реЛрдВ рдкрд░ рд╕рднреА рдХрдЪреНрдЪреЗ рдбреЗрдЯрд╛ рдХреЛ рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдореЗрдВ рдмрд┐рдЦреЗрд░ рджрд┐рдпрд╛ рдерд╛, рдЕрдм рдореИрдВ рдПрдХ рдмрд╛рд░ рдореЗрдВ рдЧреБрдгрд╕реВрддреНрд░ рдкрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рдмреИрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦ рд╕рдХрддрд╛ рдерд╛ рдФрд░ S3 рдХреЛ рдЧрд╣рд░рд╛ рд╡рд┐рднрд╛рдЬрди рдбреЗрдЯрд╛ рджреЗ рд╕рдХрддрд╛ рдерд╛ред
DESIRED_CHR='13'
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рджреЛ рдЦрдВрдб
parallel
ред
рдкрд╣рд▓рд╛ рдЦрдВрдб рд╡рд╛рдВрдЫрд┐рдд рдЧреБрдгрд╕реВрддреНрд░ рдХреА рдЬрд╛рдирдХрд╛рд░реА рд╡рд╛рд▓реА рд╕рднреА рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рдбреЗрдЯрд╛ рдХреЛ рдкрдврд╝рддрд╛ рд╣реИ, рдлрд┐рд░ рдЗрд╕ рдбреЗрдЯрд╛ рдХреЛ рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрдмрдВрдзрд┐рдд рд╕рдореВрд╣реЛрдВ (рдмрд┐рди) рдореЗрдВ рдмрд┐рдЦреЗрд░рддрд╛ рд╣реИред рджреМрдбрд╝ рдХреА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЛ рд╣реЛрдиреЗ рд╕реЗ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрдм рдПрдХ рд╣реА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХрдИ рдзрд╛рд░рд╛рдПрдБ рд▓рд┐рдЦреА рдЬрд╛рддреА рд╣реИрдВ, рддреЛ AWK рдлрд╝рд╛рдЗрд▓ рдирд╛рдореЛрдВ рдХреЛ рд╡рд┐рднрд┐рдиреНрди рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдбреЗрдЯрд╛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
chr_10_bin_52_batch_2_aa.csv
ред рдирддреАрдЬрддрди, рдбрд┐рд╕реНрдХ рдкрд░ рдХрдИ рдЫреЛрдЯреА рдлрд╛рдЗрд▓реЗрдВ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИрдВ (рдЗрд╕рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдЯреЗрд░рд╛рдмрд╛рдЗрдЯ рдИрдмреАрдПрд╕ рд╡реЙрд▓реНрдпреВрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ)ред
рджреВрд╕рд░реЗ
parallel
рдЦрдВрдб рд╕реЗ рдкрд╛рдЗрдк рд▓рд╛рдЗрди рд╕рдореВрд╣реЛрдВ (рдмрд┐рди) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рддреА рд╣реИ рдФрд░
cat
рд╕рд╛рде рдЖрдо рд╕реАрдПрд╕рд╡реА рдореЗрдВ рдЙрдирдХреА рд╡реНрдпрдХреНрддрд┐рдЧрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЬреЛрдбрд╝рддреА рд╣реИ, рдФрд░ рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рдирд┐рд░реНрдпрд╛рдд рдХреЗ рд▓рд┐рдП рднреЗрдЬрддреА рд╣реИред
рдЖрд░ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╕рд╛рд░рдг?
рдореИрдВрдиреЗ рдХреНрдпрд╛ рд╕реАрдЦрд╛ : рдЖрдк рдПрдХ рдЖрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ
stdin
рдФрд░
stdout
рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рдмреИрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ, рдЖрдк рдЗрд╕ рд▓рд╛рдЗрди рдХреЛ рдиреЛрдЯрд┐рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
...cat chunked/*_bin_{}_*.csv | ./upload_as_rds.R...
...cat chunked/*_bin_{}_*.csv | ./upload_as_rds.R...
рдпрд╣ рд╕рднреА рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╕рдореВрд╣ рдлрд╝рд╛рдЗрд▓реЛрдВ (рдмрд┐рди) рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдиреАрдЪреЗ рдХреА рдЖрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХрд░рддрд╛ рд╣реИред
{}
рдПрдХ рд╡рд┐рд╢реЗрд╖
parallel
рддрдХрдиреАрдХ рд╣реИ рдЬреЛ рдЗрд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рднреЗрдЬреЗ рдЧрдП рдХрд┐рд╕реА рднреА рдбреЗрдЯрд╛ рдХреЛ рд╕реАрдзреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрдорд╛рдВрдб рдореЗрдВ рд╣реА рдбрд╛рд▓рддреА рд╣реИред
{#}
рд╡рд┐рдХрд▓реНрдк рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рдереНрд░реЗрдб рдЖрдИрдбреА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдФрд░
{%}
рдиреМрдХрд░реА рд╕реНрд▓реЙрдЯ рд╕рдВрдЦреНрдпрд╛ (рдмрд╛рд░-рдмрд╛рд░, рд▓реЗрдХрд┐рди рдХрднреА рднреА рдПрдХ рд╕рд╛рде рдирд╣реАрдВ
{%}
рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИред
рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рд╕рднреА рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдорд┐рд▓ рд╕рдХрддреА рд╣реИ
ред #!/usr/bin/env Rscript library(readr) library(aws.s3) # Read first command line argument data_destination <- commandArgs(trailingOnly = TRUE)[1] data_cols <- list(SNP_Name = 'c', ...) s3saveRDS( read_csv( file("stdin"), col_names = names(data_cols), col_types = data_cols ), object = data_destination )
рдЬрдм
file("stdin")
readr::read_csv
file("stdin")
рдЪрд░ рдХреЛ
readr::read_csv
, рддреЛ R-рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЕрдиреБрд╡рд╛рджрд┐рдд рдбреЗрдЯрд╛ рдХреЛ рдлреНрд░реЗрдо рдореЗрдВ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдмрд╛рдж рдореЗрдВ рд╕реАрдзреЗ
.rds
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ
.rds
рд░реВрдк рдореЗрдВ S3 рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред
RDS рд╕реНрддрдВрдн рднрдВрдбрд╛рд░рдг рдХреЗ рддрд╛рдордЭрд╛рдо рдХреЗ рдмрд┐рдирд╛, рд▓рдХрдбрд╝реА рдХреА рдЫрдд рдХреЗ рдПрдХ рдЫреЛрдЯреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреА рддрд░рд╣ рд╣реИред
рдмреИрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ S3 рдореЗрдВ рдкрдбрд╝реА рд╣реБрдИ
.rds
рдлрд╝рд╛рдЗрд▓реЛрдВ
.rds
рдПрдХ
.rds
рдорд┐рд▓рд╛, рдЬрд┐рд╕рдиреЗ рдореБрдЭреЗ рдХреБрд╢рд▓ рд╕рдВрдкреАрдбрд╝рди рдФрд░ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдкреНрд░рдХрд╛рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреАред
рдмреНрд░реЗрдХ рдЖрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рддреЗрдЬреА рд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ред рдпрд╣ рдЖрд╢реНрдЪрд░реНрдп рдХреА рдмрд╛рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛ рдкрд░ рдкрдврд╝рдиреЗ рдФрд░ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рдЖрд░ рдкрд░ рдЯреБрдХрдбрд╝реЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рд╣реИрдВред рдПрдХ рдордзреНрдпрдо рдЖрдХрд╛рд░ рдХреЗ рдЧреБрдгрд╕реВрддреНрд░ рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдмрд╛рдж, рдХрд╛рд░реНрдп рдХреЛ C5n.4xl рдЙрджрд╛рд╣рд░рдг рдкрд░ рд▓рдЧрднрдЧ рджреЛ рдШрдВрдЯреЗ рдореЗрдВ рдкреВрд░рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ред
S3 рдХреА рд╕реАрдорд╛рдПрдБ
рдореИрдВрдиреЗ рдХреНрдпрд╛ рд╕реАрдЦрд╛ : рдкрде рдХреЗ рд╕реНрдорд╛рд░реНрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, S3 рдХрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдореБрдЭреЗ рдЪрд┐рдВрддрд╛ рдереА рдХрд┐ рдЕрдЧрд░ S3 рдЗрд╕рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХреА рдЧрдИ рдмрд╣реБрдд рд╕рд╛рд░реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓ рд╕рдХрддрд╛ рд╣реИред рдореИрдВ рдлрд╝рд╛рдЗрд▓ рдирд╛рдореЛрдВ рдХреЛ рд╕рд╛рд░реНрдердХ рдмрдирд╛ рд╕рдХрддрд╛ рдерд╛, рд▓реЗрдХрд┐рди S3 рдЙрдирдХреЗ рд▓рд┐рдП рдХреИрд╕рд╛ рджрд┐рдЦреЗрдЧрд╛?
S3 рдореЗрдВ рдлрд╝реЛрд▓реНрдбрд░ рд╕рд┐рд░реНрдл рд╕реБрдВрджрд░рддрд╛ рдХреЗ рд▓рд┐рдП рд╣реИрдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдкреНрд░рддреАрдХ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рдирд╣реАрдВ рд╣реИ /
ред S3 FAQ рдкреГрд╖реНрда рд╕реЗредрдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ S3 рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдкрде рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдХреБрдВрдЬреА рдХреЗ рд░реВрдк рдореЗрдВ рд╣реИрд╢ рдЯреЗрдмрд▓ рдпрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝-рдЖрдзрд╛рд░рд┐рдд рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВред рдПрдХ рдмрд╛рд▓реНрдЯреА рдХреЛ рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдлрд╛рдЗрд▓реЗрдВредAmazon, , ┬л-----┬╗ . : get-, . , 20 . bin-. , , (, , ). .
?
: тАФ .
: ┬л ?┬╗ ( gzip CSV- 7 ) . , R Parquet ( Arrow) Spark. R, , , .
: , .
, .
EC2 , ( , Spark ). , , AWS- 10 .
R .
S3 , .
library(aws.s3) library(tidyverse) chr_sizes <- get_bucket_df( bucket = '...', prefix = '...', max = Inf ) %>% mutate(Size = as.numeric(Size)) %>% filter(Size != 0) %>% mutate(
, , ,
num_jobs
, .
num_jobs <- 7
purrr .
1:1000 %>% map_df(shuffle_job) %>% filter(sd == min(sd)) %>% pull(data) %>% pluck(1)
, . Bash-
for
. 10 . , . , .
for DESIRED_CHR in "16" "9" "7" "21" "MT" do
:
sudo shutdown -h now
тАж ! AWS CLI
user_data
Bash- . , .
aws ec2 run-instances ...\ --tag-specifications "ResourceType=instance,Tags=[{Key=Name,Value=<<job_name>>}]" \ --user-data file://<<job_script_loc>>
!
: API .
- . , . API .
.rds
Parquet-, , . R-.
, ,
get_snp
.
pkgdown , .

: , !
SNP , (binning) . SNP, (bin). ( ) .
, . , . ,
dplyr::filter
, , .
,
prev_snp_results
snps_in_bin
. SNP (bin), , . SNP (bin) :
( ) , . , . .
, , , тАж
. . ( ), , (bin) , SNP 0,1 , , S3 .
рдирд┐рд╖реНрдХрд░реНрд╖
тАФ . , . , . , , , . , , , , . , , , , - .
. , , ┬л┬╗ , . .
:
- 25 ;
- Parquet- ;
- Spark ;
- 2,5 ;
- , Spark;
- ;
- Spark , ;
- , , - 1980-;
gnu parallel
тАФ , ;
- Spark ;
- Spark ;
- AWK ;
stdin
stdout
R-, ;
- S3 ;
- тАФ ;
- , ;
- API ;
- , !