alphafold2安裝記錄230610,Database下載
? ? ? ? 許多現(xiàn)存教程是先把命令放上,最后再寫踩坑,導致學的人再踩一遍坑,下幾天再刪了重下或者改命令,很坑。 這里主要根據(jù)github官方文獻,報錯后參考了許多已有教程的有效部分。
主要難點是Database的下載,
Tip1: Database不要放到alphafold的目錄下,會導致docker占用空間太大。
Tip2:輸入的下載目錄一定要是絕對路徑,否則會報錯。
Tip3:一開始運行download_all_data.sh腳本,報錯后,不要刪掉已經(jīng)下載的文件然后重新運行這個腳本。而是看報錯的是哪個文件,前面下載的如果沒報錯,則只刪掉這個文件,運行alphafold/scripts下對應的腳本就可以了。
download_all_data.sh <下載目錄>這個腳本是個坑,境內(nèi)的網(wǎng)基本不可能無錯下載全部文件,我試了4次,不行。
一共需要這么多文件

? ? ? ?上面是github官網(wǎng)的截圖,也不是實時更新的,有些項會更大。下面是我23年6月下載后的實際大小。

git clone https://github.com/deepmind/alphafold
cd alphafold
?cd ../
?mkdir Database
Database最好不要在alphafold文件夾下,說是會導致docker過大。這里有的教程會有如下命令,是用conda安裝時配置環(huán)境所用,我最后沒用conda,不需要下面命令
# stereo_chemical_props.txt下載 ,
wget -P alphafold/alphafold/common/ https://git.scicore.unibas.ch/schwede/openstructure/-/raw/7102c63615b64735c4941278d92b554ec94415f8/modules/mol/alg/src/stereo_chemical_props.txt (后面conda安裝時用到,.txt文件在alphafold/alphafold/common路徑)
sudo bash /絕對路徑/download_all_data.sh /絕對路徑/Database
按順序下載到pdb_mmcif這里會報錯,前面的bfd,mgnify,params,pdb70是下載成功的。

pdb_mmcif是20萬個文件的文件夾,按腳本中的命令運行,即使有些文件沒有下載完成也不會報錯,會導致后面運行時出問題。有攻略使用多線程同步(https://www.rehiy.com/post/134),實際運行中10線程會中斷,換5線程,換日本的源都不行先放著。不知道是運氣好還是改了確實有用,運行下面命令
cat /etc/rsyncd.conf
在打開的文件中改參數(shù),最后是這個樣子
uid = nobody
gid = nobody
use chroot = no
max connections = 24
pid file = /var/run/rsyncd.pid
Exclude = lost+found
Transfer logging = yes
Timeout = 90000000
Ignore nonreadable = yes
Don’t compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2
其他沒改,就把use chroot改成no
?max connections從4改成24
?timeout原先是900,加了幾個0.?

然后下載速度就8.2 MB/s, 兩個小時下好了。
? ? ? ? pdb_seqres, raw, uniref30三個,運行alphafold/scripts文件里對應的腳本就行了。命令格式和download_all_data.sh一樣。此外,下載了bfd,就不需要small_bfd(這個是空間不足時使用的)。
? ? ? ? uniref90也是個坑,使用自帶的腳本,或者迅雷,IDM都不行,最后會卡死,超時斷開。
采用axel下載,沒安裝的這樣安裝
sudo apt-get install axel
(如果是Red-hat,Cent-OS系統(tǒng)sudo yum install axel)
隨后cd 到想要下載的目錄,輸入下面命令下載
axel -n 24 ftp://ftp.uniprot.org/pub/databases/uniprot/uniref/uniref90/uniref90.fasta.gz
? ? ? ? 實測速度比較穩(wěn)定,查了下,還有斷點續(xù)傳功能,中斷了重新輸入上述命令就行。(我為什么會知道,uniref90這個網(wǎng)址就是不穩(wěn)定,有些時間段死活連不上,當時用原腳本,aria2改線程數(shù)都沒大用,等了段時間還是用axel下載完的)

? ? ?

? 下載好后是解壓,正常做法是注釋掉download_uniref90.sh腳本中的下載行命令,再執(zhí)行修改后的腳本,但是我此時還不會,注釋掉后,解壓后刪除的是解壓后文件而不是另外兩個文件。(后來才想到目錄中是aria2未完全下載的,解壓后會不見gzip: uniref90.fasta.gz: unexpected end of file)

只好cd到下載的壓縮文件所在目錄
gunzip uniref90.fasta.gz
? ? ? ? 最后的uniprot,依舊不耐煩等,cd到要下載的位置,采用axel多線程下載
sudo axel -n 24 https://ftp.ebi.ac.uk/pub/databases/uniprot/current_release/knowledgebase/complete/uniprot_trembl.fasta.gz
?sudo axel -n 24 https://ftp.ebi.ac.uk/pub/databases/uniprot/current_release/knowledgebase/complete/uniprot_sprot.fasta.gz
注釋掉scripts/download_uniprot.sh中這三行

sudo bash download_uniprot.sh?/絕對路徑/Database
至此所有database文件齊活了。