
1. What is starcode?
2. Source file list.
3. Compilation and installation.
4. Running starcode.
5. Running starcode-umi.
6. File formats.
7. License.
8. Citation.
StarCode เป็นซอฟต์แวร์การจัดกลุ่มลำดับดีเอ็นเอ การจัดกลุ่ม StarCode ขึ้นอยู่กับการค้นหาคู่ทั้งหมดภายในระยะทาง Levenshtein ที่ระบุ (อนุญาตให้แทรกและการลบ) ตามด้วยอัลกอริทึมการจัดกลุ่ม: การส่งข้อความ, ทรงกลมหรือส่วนประกอบที่เชื่อมต่อ โดยทั่วไปแล้วไฟล์ที่มีชุดของลำดับดีเอ็นเอจะถูกส่งผ่านเป็นอินพุตร่วมกับระยะการจัดกลุ่มที่ต้องการและ algorihtm StarCode ส่งคืนลำดับที่เป็นที่ยอมรับของคลัสเตอร์ขนาดคลัสเตอร์ชุดของลำดับที่แตกต่างกันที่ประกอบด้วยคลัสเตอร์และหมายเลขบรรทัดอินพุตของส่วนประกอบคลัสเตอร์
StarCode มีแอพพลิเคชั่นมากมายในสาขาชีววิทยาเช่นการกู้คืน DNA/RNA motif, การจัดกลุ่มบาร์โค้ด/UMI, การกู้คืนข้อผิดพลาดการจัดลำดับ ฯลฯ ฯลฯ
ในการติดตั้ง StarCode โคลนที่เก็บ GIT นี้ (หรือดาวน์โหลด StarCode V1.3 รุ่นล่าสุดด้วยตนเอง):
git clone https://github.com/gui11aume/starcode
ควรดาวน์โหลดไฟล์ในโฟลเดอร์ชื่อ 'StarCode' ใช้ Make to Compile (ผู้ใช้ Mac ต้องการ 'xcode' ที่มีอยู่ที่ Mac Appstore):
ทำ -c starcode
จะสร้างไฟล์ไบนารี 'StarCode' คุณสามารถเลือกลิงค์สัญลักษณ์เพื่อเรียกใช้ StarCode จากไดเรกทอรีใด ๆ :
sudo ln -s starcode/starcode/usr/bin/starcode
StarCode ทำงานบน Linux และ Mac ยังไม่ได้รับการทดสอบบน Windows
StarCode [ตัวเลือก] {[-I] input_file | -1 paired_end_file1 -2 paired_end_file2} [-o output_file]
โดยค่าเริ่มต้น StarCode จะใช้พารามิเตอร์การคลัสเตอร์ที่มีความหมายกับปัญหามากมาย แต่ผลลัพธ์อาจดูไม่เหมือนที่คุณคาดหวัง นี่อาจเป็นเพราะเหตุผลต่อไปนี้:
วิธีการจัดกลุ่มคือการส่งข้อความ ซึ่งหมายความว่ากลุ่มถูกสร้างขึ้นจากล่างขึ้นบนโดยการรวมกลุ่มเล็ก ๆ เข้ากับกลุ่มที่ใหญ่กว่า กระบวนการดังกล่าวเป็นแบบเรียกซ้ำดังนั้น ลำดับในคลัสเตอร์อาจไม่ใช่เพื่อนบ้าน เช่น พวกเขาอาจไม่อยู่ในระยะทางเลเวนส์ซินที่ระบุ หากเป็นกรณีนี้ให้ใช้การจัดกลุ่มทรงกลมแทน (ดูตัวเลือก -s หรือ -ทรงกลม ด้านล่าง)
อัตราส่วนการจัดกลุ่มคือ 5 ซึ่งหมายความว่าคลัสเตอร์สามารถดูดซับขนาดที่เล็กกว่าได้ก็ต่อเมื่อมีขนาดใหญ่กว่าอย่างน้อยห้าเท่า ความหมายในทางปฏิบัติคือ กลุ่มที่มีขนาดใกล้เคียงกันไม่ได้รวมเข้าด้วยกัน คุณสามารถเลือกเกณฑ์อื่นสำหรับการรวมกลุ่ม (ดูตัวเลือก -r หรือ -คลัสเตอร์อัตราส่วน ด้านล่าง)
-d หรือ - ระยะทางไกล
Defines the maximum Levenshtein distance for clustering.
When not set it is automatically computed as:
min(8, 2 + [median seq length]/30)
-r หรือ-อัตราส่วนอัตราส่วน คลัสเตอร์
(Message passing only) Specifies the minimum sequence count ratio to cluster two matching
sequences, i.e. two matching sequences A and B will be clustered together only if
count(A) > ratio * count(B).
Sparse datasets may need to set -r to small values (minimum is 1.0) to trigger clustering.
Default is 5.0.
-s หรือ - -ทรงกลม
Use sphere clustering algorithm instead of message passing (MP). Spheres is more greedy than MP:
sorted by size, centroids absorb all their matches.
-c หรือ-เชื่อมต่อ-คอมไพล์
Clusters are defined by the connected components.
-ไม่ซ้ำซ้อน
Removes redundant sequences from the output. Only the canonical sequence of each cluster is
returned.
-พิมพ์คลัสเตอร์
Adds a third column to the starcode output, containing the sequences that compose each cluster.
By default, the output contains only the centroid and the counts.
-seq-id
Shows the input sequence order (1-based) of the cluster components.
โหมดไฟล์เดี่ยว:
-I หรือ - ไฟล์ อินพุต
ระบุไฟล์อินพุต
ไฟล์ FastQ แบบจับคู่:
-1 file1 -2 file2
ระบุไฟล์ FASTQ แบบจับคู่สองไฟล์สำหรับโหมดการจัดกลุ่มแบบจับคู่
อินพุตมาตรฐานจะถูกใช้เมื่อไม่มีการตั้งค่า -I และ -1/-2
-o หรือ - ไฟล์
Specifies output file. When not set, standard output is used instead.
-OUTPUT1 FILE1- OUTPUT2 FILE2
(Paired-end mode with --non-redundant option only). Specifies the output file names of the
processed paired-end files.
เอาต์พุตมาตรฐานจะใช้เมื่อไม่ได้ตั้งค่า -O
เมื่อ-OUTPUT1/2 ไม่ได้ระบุไว้ในโหมด paired-end-non-redundant ชื่อไฟล์เอาต์พุตเป็นชื่อไฟล์อินพุตที่มีคำต่อท้าย "-starcode"
-t หรือ -Threads เธรด
Defines the maximum number of parallel threads.
Default is 1.
-Q หรือ -QUIET
Non verbose. By default, starcode prints verbose information to
the standard error channel.
-v หรือ -Version
Prints version information.
-h หรือ -help
Prints usage information.
StarCode-umi เป็นสคริปต์ Python ที่ใช้ starcode กับ Cluster umi-tagged sequences ลำดับ UMI-tagged จะถือว่ามีตัวระบุโมเลกุลที่ไม่ซ้ำกันที่จุดเริ่มต้นของการอ่านตามด้วยลำดับอื่น ๆ (ยาวกว่า) StarCode-umi ดำเนินการรวมกลุ่มและการรวมเข้าด้วยกันสองรอบเพื่อค้นหากลุ่มที่ดีที่สุดของ UMI และคู่ลำดับ
starcode-umi [ตัวเลือก]-umi-len n input_file1 [input_file2]
- หมายเลข
Defines the length of the UMI tags. Adding some extra nucleotides may improve the clustering
performance.
-Starcode-Path Path
Path to `starcode` binary file. Default is `./starcode`.
ระยะทาง -umi-d
Match distance (Levenshtein) for the UMI region.
- ระยะทาง
Match distance (Levenshtein) for the sequence region.
- อัลกอริทึมการจัด กลุ่มคลัสเตอร์คลัสเตอร์
Clustering algorithm to be used in the UMI region. ('mp' for message passing, 's' for spheres,
'cc' for connected components). Default is message passing.
- อัลกอริทึมการจัดกลุ่มแบบคลัสเตอร์ แบบคลัสเตอร์
Clustering algorithm to be used in the seq region. ('mp' for message passing, 's' for spheres,
'cc' for connected components). Default is message passing.
- อัลกอริทึมการจัดกลุ่ม อัตราส่วนอัตราส่วน-คลัสเตอร์
(Only for message passing in UMI). Minimum clustering ratio (same as -r option in starcode).
- อัลกอริทึมการจัด กลุ่มอัตราส่วนอัตราส่วน อัตราส่วน
(Only for message passing in seq). Minimum clustering ratio (same as -r option in starcode).
-การตัด แต่ง
Use only *trim* nucleotides of the sequence for clustering. Starcode becomes memory inefficient
with very long sequences, this parameter defines the maximum length of the sequence that will
be used for clustering. Set it to 0 to use the full sequence. Default is 50.
-seq-id
Shows the input sequence order (1-based) of the cluster components.
-เธรดมูมิ- ธรณีประตู
Defines the maximum number of parallel threads to be used in the UMI process.
Default is 1.
-เธรดเซคค์ ทรี
Defines the maximum number of parallel threads to be used in the sequence process.
Default is 1.
ประกอบด้วยไฟล์ที่มีหนึ่งลำดับต่อบรรทัด รองรับเฉพาะอักขระฐานดีเอ็นเอมาตรฐาน ('A', 'C', 'G', 'T') ลำดับอาจไม่มีช่องว่างที่จุดเริ่มต้นหรือจุดสิ้นสุดของสตริงเนื่องจากสิ่งเหล่านี้จะถูกนับเป็นอักขระการจัดตำแหน่ง ไฟล์อาจไม่มีบรรทัดที่ว่างเปล่าเนื่องจากสิ่งเหล่านี้จะถูกพิจารณาว่าเป็นลำดับความยาวเป็นศูนย์ ลำดับไม่จำเป็นต้องจัดเรียงและอาจทำซ้ำ
ตัวอย่าง:
TTACTATCGATCATCATCGACTGACTACG
ACTGCATCGACTAGCTACGACTACGCTACCATCAG
TTACTATCGATCATCATCGACTGACTAGC
ACTACGACTACGACTCAGCTCACTATCAGC
GCATCGACCGCTACTACGCATACTACGACATC
หากทราบจำนวนลำดับของลำดับอาจระบุไว้ในไฟล์อินพุตโดยใช้รูปแบบต่อไปนี้:
[ลำดับ] t [นับ] n
โดยที่ ' t' หมายถึงอักขระแท็บและ ' n' อักขระใหม่ ลำดับไม่จำเป็นต้องจัดเรียงและอาจทำซ้ำเช่นกัน หากพบลำดับซ้ำการนับของพวกเขาจะถูกรวมเข้าด้วยกัน ก่อนหน้านี้ลำดับอาจไม่มีอักขระเพิ่มเติมใด ๆ และไฟล์อาจไม่มีบรรทัดที่ว่างเปล่า
ตัวอย่าง:
TATCGACTCTATCTATCGCTGATGCGTAC 200
CGAGCCGCCGGCACGTCACGACGCATCAA 1
TAGCACCTACGCATCTCGACTATCACG 234
CGAGCCGCCGGCACGTCACGACGCATCAA 17
TGACTCTATCAGCTAC 39
StarCode รองรับไฟล์ FASTA และ FASTQ เช่นกัน อย่างไรก็ตามโปรดทราบว่า StarCode ไม่ได้ใช้ปัจจัยคุณภาพและข้อมูลที่เกี่ยวข้องเพียงอย่างเดียวคือลำดับของตัวเอง ฉลาก FASTA/FASTQ จะไม่ถูกใช้เพื่อระบุลำดับในไฟล์เอาต์พุต ลำดับไม่จำเป็นต้องจัดเรียงและอาจทำซ้ำ
ตัวอย่าง fasta:
> FASTA sequence 1 label
ATGCATCGATCACTCATCAGCTACAG
> FASTA sequence 2 label
TATCGACTATCTACGACTACATCA
> FASTA sequence 3 label
ATCATCACTCTAGCAGCGTACTCGCA
> FASTA sequence 4 label
ATGCATCGATTACTCATCAGCTACAG
ตัวอย่าง fastq:
@ FASTQ sequence 1 label
CATCGAGCAGCTATGCAGCTACGAGT
+
-$#'%-#.&)%#)"".)--'*()$)%
@ FASTQ sequence 2 label
TACTGCTGATATTCAGCTCACACC
+
,*#%+#&*$-#,''+*)'&.,).,
StarCode พิมพ์บรรทัดสำหรับแต่ละคลัสเตอร์ที่ตรวจพบด้วยรูปแบบต่อไปนี้:
[Canonical Sequence] t [ขนาดคลัสเตอร์] t [ลำดับคลัสเตอร์] n
โดยที่ ' t' หมายถึงอักขระแท็บและ ' n' อักขระใหม่ 'Canonical Sequence' เป็นลำดับของคลัสเตอร์ที่มีจำนวนมากขึ้น 'ขนาดคลัสเตอร์' คือการนับรวมของลำดับทั้งหมดที่สร้างคลัสเตอร์และ 'ลำดับคลัสเตอร์' เป็นรายการของลำดับคลัสเตอร์ทั้งหมดที่คั่นด้วยเครื่องหมายจุลภาคและใน คำสั่งซื้อโดยพลการ บรรทัดถูกพิมพ์เรียงตาม 'ขนาดคลัสเตอร์' ตามลำดับจากมากไปน้อย
ตัวอย่างเช่นการดำเนินการกับอินพุตและระยะการจัดกลุ่มต่อไปนี้ที่ 3 (-D3):
TAGCTAGACGTA 250
TAGCTAGCCGTA 10
TAAGCTAGGGGT 16
ACGCGAGCGGAA 155
ACTTTAGCGGAA 1
จะสร้างผลลัพธ์ต่อไปนี้:
TAGCTAGACGTA 260 TAGCTAGACGTA,TAGCTAGCCGTA
ACGCGAGCGGAA 156 ACGCGAGCGGAA,ACTTTAGCGGAA
TAAGCTAGGGGT 16 TAAGCTAGGGGT
ตัวอย่างเดียวกันที่ดำเนินการด้วยระยะทางที่ จำกัด มากขึ้น -D2 จะสร้างผลลัพธ์ต่อไปนี้:
TAGCTAGACGTA 260 TAGCTAGACGTA,TAGCTAGCCGTA
ACGCGAGCGGAA 155 ACGCGAGCGGAA
TAAGCTAGGGGT 16 TAAGCTAGGGGT
ACTTTAGCGGAA 1 ACTTTAGCGGAA
ในโหมดเอาท์พุทที่ไม่ซ้ำซ้อนสตาร์โค้ดจะพิมพ์ลำดับที่เป็นที่ยอมรับของแต่ละคลัสเตอร์หนึ่งตัวต่อบรรทัด ตามตัวอย่างจากส่วนก่อนหน้าเอาต์พุตที่มีระยะทาง 3 (-D3) จะเป็น:
TAGCTAGACGTA
ACGCGAGCGGAA
ในขณะที่ -d2:
TAGCTAGACGTA
ACGCGAGCGGAA
TAAGCTAGGGGT
ACTTTAGCGGAA
StarCode ได้รับใบอนุญาตภายใต้ใบอนุญาตสาธารณะ GNU ทั่วไปเวอร์ชัน 3 (GPLV3) สำหรับข้อมูลเพิ่มเติมอ่านไฟล์ใบอนุญาตหรืออ้างถึง:
http://www.gnu.org/licenses/
หากคุณใช้ซอฟต์แวร์ของเราโปรดอ้างอิง:
Zorita E, Cusco P, Filion GJ 2015. StarCode: การจัดกลุ่มลำดับตามการค้นหาทุกคู่ Bioinformatics 31 (12): 1913-1919