Skip to content

Commit 8167676

Browse files
authored
Merge pull request #49 from seqeralabs/seqera-ai/20251122-035256-fix-protenix-filename-collision
Fix file naming collision in PROTENIX_REFOLD process
2 parents d088fc6 + d42c9d9 commit 8167676

File tree

1 file changed

+32
-2
lines changed

1 file changed

+32
-2
lines changed

modules/local/protenix_refold.nf

Lines changed: 32 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -165,9 +165,39 @@ PARSE_FASTA
165165
echo ""
166166
echo "Organizing outputs..."
167167
168-
# Move all results to output directory
168+
# Move all results to output directory and rename with sequence suffix
169169
if [ -d "protenix_results" ]; then
170-
mv protenix_results/* ${meta.id}_protenix_output/ 2>/dev/null || true
170+
# Create output directory structure
171+
mkdir -p ${meta.id}_protenix_output
172+
173+
# Process each prediction directory to add sequence-specific suffix
174+
for pred_dir in protenix_results/*_seq_*; do
175+
if [ -d "\${pred_dir}" ]; then
176+
# Extract sequence number from directory name
177+
seq_num=\$(basename "\${pred_dir}" | grep -oP '_seq_\\K[0-9]+')
178+
179+
echo " Renaming outputs for sequence \${seq_num}..."
180+
181+
# Rename all CIF and JSON files to include sequence suffix
182+
find "\${pred_dir}" -type f \\( -name "*.cif" -o -name "*_confidence*.json" \\) | while read file; do
183+
filename=\$(basename "\${file}")
184+
extension="\${filename##*.}"
185+
basename_without_ext="\${filename%.*}"
186+
187+
# Add sequence suffix before extension
188+
new_filename="\${basename_without_ext}_seq\${seq_num}.\${extension}"
189+
190+
# Preserve directory structure
191+
relative_dir=\$(dirname "\${file#\${pred_dir}/}")
192+
target_dir="${meta.id}_protenix_output/\${relative_dir}"
193+
mkdir -p "\${target_dir}"
194+
195+
# Copy with new name
196+
cp "\${file}" "\${target_dir}/\${new_filename}"
197+
echo " Renamed: \${filename} → \${new_filename}"
198+
done
199+
fi
200+
done
171201
fi
172202
173203
# Count predictions

0 commit comments

Comments
 (0)